Next Article in Journal
Exploring the Intersection of Lattice Attacks and Blockchain Technology: A Heuristic Approach Using TPM2.0 ECDSA to Ascertain and Approach the Boundary
Next Article in Special Issue
Privacy-Preserving Medical Data-Sharing System with Symmetric Encryption Based on Blockchain
Previous Article in Journal
A New Approach for Stabilization Criteria of n-Order Function Differential Equation by Distributed Control Function
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Verifiable Keyword Search Encryption Scheme That Supports Revocation of Attributes

1
School of Computer and Communication, Lanzhou University of Technology, Lanzhou 730050, China
2
School of Economics and Management, Lanzhou University of Technology, Lanzhou 730050, China
*
Author to whom correspondence should be addressed.
Symmetry 2023, 15(4), 914; https://doi.org/10.3390/sym15040914
Submission received: 8 March 2023 / Revised: 9 April 2023 / Accepted: 12 April 2023 / Published: 14 April 2023
(This article belongs to the Special Issue Symmetry and Asymmetry in Cryptography and Outsourcing Computation)

Abstract

:
In recent years, searchable encryption technology and attribute encryption technology have been widely used in cloud storage environments, and attribute-based searchable encryption schemes can both achieve the retrieval of encrypted data and effectively solve the access control problem. Considering that existing attribute-based searchable encryption schemes for cloud storage only support keyword search and do not support attribute revocation, most of the schemes that support attribute revocation only consider the computational overhead of users and ignore the large amount of computational resources consumed by attribute authorization centers when updating keys. In addition, keyword search may lead to partial errors in the returned search results, leading to the wastage of computational and broadband resources. To solve these issues, this paper proposes an attribute-based searchable encryption scheme that supports attribute revocation and is verifiable. To realize fine-grained ciphertext search of encrypted data, support scenarios of dynamic changes of user attributes, and ensure that third-party servers perform the search process reliably and honestly while minimizing computation and storage costs, first, this paper implements attribute revocation with the attribute authorization center by creating a user revocation list and an attribute key revocation list. At the same time, the system updates the attribute key at the time of user search request, which effectively reduces the computational overhead. Second, a third-party auditor is introduced to ensure the correctness of the search results. Finally, the security of this paper is verified by theoretical analysis, and the efficiency and practicality of this paper are verified by comparing it to other schemes through simulation experiments.

1. Introduction

With the wide application of cloud computing technology, traditional industries are also changing along with the current trends, and informatization and intelligence of traditional industries are the general trends. Cloud storage technology combined with traditional industries can not only improve the service efficiency of mobile applications but also reduce the storage cost of data and realize data-sharing services such as upload and download of various data. However, the personal data generated by users in the relevant application systems usually include a large amount of private information, and cloud servers are mostly untrustworthy or semi-trustworthy, so there may exist a security risk of privacy leakage if user data is stored in the cloud. Therefore, to safeguard sensitive information in user data from leakage and misuse, users must control their data. Attribute encryption technology has been maturely applied in cloud storage and can be used to achieve access control of user data. To improve the security of data, more and more users choose to outsource their data to cloud servers after encryption, and when users want to search relevant data, the traditional plaintext-based retrieval method cannot be directly applied to ciphertext search. Searchable encryption technology can realize keyword search in ciphertext data, but data owners do not want just anyone retrieving their data. An attribute-based searchable cryptographic scheme combining searchable cryptography and attribute-based technology can realize both the retrieval of encrypted data and effectively solve the access control problem. However, in the currently used attribute-based searchable encryption scheme, there are problems, such as dynamic changes of user attributes and lack of flexibility, so an attribute revocation mechanism can be introduced to change the access rights of authorized users, thus realizing a more fine-grained access control. To address the above problems, this paper proposes an attribute-based searchable encryption scheme that supports attribute revocation and can be verified.

2. Related Work

In 2000, Song et al. [1] constructed the first searchable encryption (SE) scheme for retrieving data in ciphertext data without disclosing sensitive information during the retrieval process, which protects the privacy of user data. To address different application requirements, there are two main searchable encryption schemes: public key encryption with keyword search (PEKS) [2] and symmetric key searchable encryption (SSE) [3]. Compared with SSE, PEKS has become a hot research topic for searchable encryption because it does not require complex key management and enables data sharing. When a large amount of data is stored in the cloud, a large number of keyword index duplication problems occur, i.e., the performance of single-keyword searchable encryption schemes reaches a bottleneck. To overcome this problem, in 2012, Premasathian et al. [4] proposed the first multi-keyword searchable encryption scheme, which splices multiple keywords through “and gates” to achieve multi-keyword encryption index and search trapdoor matching to protect the privacy of data.
In 2005, Sahai and Waters [5] proposed an ABE scheme extending identity-based encryption (IBE), the core of which is to split the user identity into multiple attributes and then encrypt and decrypt the data to achieve confidentiality protection and fine-grained access control of data in cloud storage. Based on this, two different ABE schemes have been extended to provide more complex access control, namely, key policy attribute-based encryption (KP-ABE) [6] and ciphertext policy attribute-based encryption, (CP-ABE) [7]. These two schemes differ mainly in terms of access policies; in KP-ABE, the data owner cannot formulate access policies, whereas in CP-ABE it can, so the CP-ABE scheme is widely used in the access control scenario of data in cloud storage. When a data owner stores ciphertext in the cloud for sharing, he does not want to allow the data to be searchable by everyone and only wants to set who can search his encrypted data with some permission. To achieve the search as well as access control functions in ciphertext data, the ABSE concept was first proposed by Zheng et al. in 2014 [8], which achieved secure search and verifiability on outsourced encrypted data. Qiu et al. [9] proposed a ciphertext policy attribute cryptographic primitive based on a keyword search for hidden policies. Zhang et al. [10] proposed a multi-keyword search scheme, and Liu et al. [11] proposed a verifiable attribute-based keyword search encryption scheme while generating a data tag for each shared file to accomplish deduplication. Zhang et al. [12] proposed a blockchain-based expressive with trusted verification and support for a full policy hiding CP-ABE scheme. Yin et al. [13] proposed an attribute-based keyword search scheme considering multiple data owners in a cloud-assisted industrial IoT environment. Liu et al. [14] proposed a multi-keyword attribute-based searchable encryption scheme based on cloud edge collaboration which uploads the corresponding encryption index to the nearest edge node for multi-keyword search and assisted decryption.
In practical applications, user attributes are constantly and dynamically changing, and illegal users who lose some attributes are still able to retrieve and decrypt encrypted messages; this is prone to data leakage and undermines the security of ciphertexts in cloud environments. In 2014, Sun et al. [15] proposed an attribute-based keyword search scheme with a user revocation function that can achieve scalable fine-grained search authorization. As for the research on attribute revocation, Yu et al. [16] extended the concept of outsourcing to outsource complex computations such as re-encryption to achieve attribute revocation. Hur et al. [17] encrypted the key tree with symmetric keys to achieving fine-grained attribute revocation. Li et al. [18] proposed a CP-ABE scheme to achieve attribute revocation by updating the attribute version number. Huang et al. [19] proposed a searchable encryption scheme using LSSS as the access structure to support multi-keyword search and user attribute revocation. Miao et al. [20] proposed a searchable encryption scheme based on hierarchical data and supporting attribute revocation to efficiently share and search encrypted data. Zheng et al. [21] proposed a scheme to construct an identical tree on the cloud server based on the access control tree, thereby supporting user attribute revocation. Zhang et al. [22] proposed a revocable decentralized data-sharing framework for secure data sharing in fog-assisted IoT systems. Ge et al. [23] proposed a revocable attribute-based encryption scheme with integrity protection where the cloud server can directly revoke the access policy and if the cloud server returns an incorrect revocation ciphertext, it will also be detected. In summary, a series of improvement schemes have been proposed to achieve fine-grained attribute revocation. However, the vast majority of current schemes only consider the computational overhead of users, ignoring the large amount of computational resources consumed by attribute authorization centers. To address the above problems, this paper proposes a CP-ABE-based attribute key update method that supports fine-grained attribute revocation. At the same time, a verifiable search encryption scheme is proposed in combination with auditing the ideas to improve the accuracy of the search.

Contributions

The main contributions and innovations of this paper include:
  • Support for multi-keyword search: this paper proposes an attribute-based searchable encryption scheme;
  • Support for attribute revocation: to address the problem that most of the current attribute-based searchable encryption schemes do not support attribute revocation, this paper maintains the user revocation list and attribute key revocation list by the attribute authorization center and realizes system attribute revocation by updating the version number;
  • Introduction of third-party auditing and proposal of a verifiable searchable encryption scheme, which improves the correctness of the search;
  • An experiment using Java, which proves the correctness and practicality of this paper’s scheme.

3. Preliminaries

3.1. Bilinear Mapping

Let G and G T be two p o r d e r multiplicative cyclic groups, and p is a prime number. It can be pointed out that g is the generator of G . The bilinear map e : G × G G T simultaneously satisfies the following properties:
(1)
Bilinearity: a , b Z p : e ( g a , g b ) = e ( g , g ) a b .
(2)
Non-degeneracy: the existence of g G makes e ( g , g ) 1 .
(3)
Computability: u , v G , e ( u , v ) all can be computed efficiently.

3.2. Access Tree

Suppose that there exists T representing an access tree, and each non-leaf node x in T can be represented as a gate structure as ( n u m x , k x ) , where n u m x denotes the number of child nodes of x , and k x denotes the threshold value, where k x [ 0 , n u m x ] . When k x = 1 , x is denoted as an “or” gate, whereas k x = n u m x indicates that x is an “and” gate. The leaf node x is used to describe the attribute and specify its threshold value k x = 1 .
The common representation used in access trees is as follows: function p a r e n t ( x ) represents the parent node of node x , a t t ( x ) denotes the attribute described by leaf node x , and the node is an attribute in T is defined. i n d e x ( x ) denotes the number of node x among its siblings, T is the access tree with t as the root node, and the subtree in T whose root is node x is denoted by T x .
If a collection of attributes S satisfies the access tree T x , then it can be expressed as T x ( S ) = 1 .
(1)
If x is a non-leaf node, compute T x ( S ) for all children x of x . T x ( S ) = 1 is obtained if and only if at least k x children nodes return 1.
(2)
If x is a leaf node, there is a leaf node when and only when a t t ( x ) S , there is T x ( S ) = 1 .

3.3. Difficult Assumptions

The DBDH (decisional bilinear Diffie–Hellman assumption) assumption can be defined as follows. Given multiplicative cyclic groups G 1 , G 2 of order prime p , and e : G 1 × G 1 G 2 is a bilinear mapping. Randomly selected generating elements g G 1 and numbers a , b , c Z p , and given two tuples ( g , g a , g b , g c , e ( g , g ) a b c ) and ( g , g a , g b , g c , e ( g , g ) z ) , the DBDH assumption holds if there does not exist an algorithm that can distinguish e ( g , g ) a b c and e ( g , g ) z in polynomial time with a non-negligible advantage.
A d v D B D H = P r [ A ( g , g a , g b , g c , e ( g , g ) a b c ) = 1 ] P r [ A ( g , g a , g b , g c , e ( g , g ) z ) = 1 ] .

4. Program Design

4.1. System Model

The system includes six types of entities, which are data owner (DO), data user (DU), cloud server (CS), proxy server (PS), attribute authorization center (AA), and third party auditor (TPA).
DO: The data owner first encrypts the data, then uploads the encrypted data to the cloud server and uploads the encryption keyword and encryption key to the proxy server for storage.
DU: The user generates a search trapdoor and submits it to PS for keyword search and obtains the corresponding search result, i.e., the storage address of the ciphertext. The encrypted data be effectively searched and shared with the user only if the user’s attributes satisfy the access policy set by the data owner and the keywords of the query match the keywords set by the data owner.
CS: The cloud server is responsible for storing the encrypted data files and generating the cipher text storage address to the PS. The cloud server is honest and curious, i.e., the cloud server performs the tasks submitted by the user honestly but is also curious about the encrypted data.
PS: The proxy server is semi-trusted, and when it receives a request from a user searching for a trapdoor, it verifies that it returns the storage address of the corresponding ciphertext to the user after the user revokes the list URL.
AA: The attribute authorization center is a fully trusted entity responsible for system establishment, key generation, generation of user identity UIDs, revocation of attributes, etc.
TPA: A fully trusted TPA is used to verify the correctness of search results.
The system model and its flow are shown in Figure 1.

4.2. Security Model

A secure solution must meet the IND-CKA security of its indexed keywords. Attacker A and Challenger B describe the security model of the scheme in this paper by playing the following game.
Definition: If A cannot win by a non-negligible margin within the PPT, then this paper’s scheme implements IND-CKA security for its indexed keywords.
Initialization . B runs the system to build the algorithm to output the common parameters. A defines a challenge access tree T * .
Stage 1. A adapts to polynomially bounded subsets of the following queries.
Private key queries. A adaptively asks B about the private key S K A S 1 , S K A S 2 , …, S K A S n corresponding to the set of attributes S 1 , S 2 , . . . , S n .
Keyword ciphertext queries. A adaptively asks B for the ciphertext I w 1 , I w 2 , . . . , I w m corresponding to the keywords w 1 , w 2 , . . . , w m .
All sets of attributes S 1 , S 2 , . . . , S n embedded in the corresponding private key do not satisfy the query T * .
Challenge. A submits two challenge keywords w 0 and w 1 to B . B chooses a random bit b { 0 , 1 } from Z p * and generates a ciphertext I w b * and sends it to A .
Stage 2. A repeats Stage 1 several times and continues to initiate a series of queries corresponding to the set of attributes S n + 1 , S n + 2 , . . . , requiring that none of the interrogated private keys satisfy the access tree T * .
Guess. Finally, A outputs b of the guess bits b . If b = b , then A wins the game. In the game, let the advantage of A winning be defined as A d v A I N D C K A = | P r [ b = b ] 1 2 | .
If for a PPT attacker A , the A d v A I N D C K A can be ignored, then the scheme in this paper achieves IND-CKA security for its indexed keywords.

5. The Detailed Implementation of the Scheme

S e t U p ( λ , U ) ( P K , M S K ) . The algorithm is executed by the AA. The algorithm inputs the security parameters λ , the set U of all attributes of the system. The AA generates a bilinear mapping e : G 0 × G 0 G 1 , G 0 and G 1 are two cyclic groups of order p , and g is the generating element of G 0 . AA defines two hash functions H 1 : { 0 , 1 } * Z P * , H 2 : { 0 , 1 } * G 0 . AA randomly selects α , β Z p * , g 0 G 0 and a unique version number V x Z p * ; then, AA outputs public parameter
P K = { e , p , g , g 0 , G 0 , G 1 , H 1 , H 2 , e ( g , g ) α , P K x = { g V x } ( x U ) .
The system master key
M S K = { α , β , { V x } x U } .
At the same time, users in the system will obtain a globally unique identity U I D after completing authentication at AA.
K e y G e n ( P K , M S K , S , U I D ) S K . The algorithm is executed by AA and generates the private key S K for the user with the corresponding attributes based on the attribute set S of the user U I D . AA randomly selects r , r Z p * to the user U I D , and computes
K 1 = g α + r β , K 2 = g 1 β , K 3 = g r .
For each of the attributes
x S , K x = K 3 g H 2 ( x ) V x = g r g H 2 ( x ) V x .
Then, AA sends S K = { K 1 , K 2 , K 3 , { K x } x S } to the user over a secure communication channel while setting the public–private key pair ( p k 0 , s k 0 ) = ( g r , r ) of DO. Finally, the hash value of this attribute key S K is uploaded to the attribute key revocation list K R L after receiving the search completion message from PS.
E n c r y p t ( P K , T , F , W ) ( I W , C T ) . The algorithm is executed by DO. The algorithm inputs the public parameter P K , the access tree structure T , given the set of data F = { f 1 , f 2 , . . . , f p } to be encrypted, and the corresponding identity set I D = { I D 1 , I D 2 , . . . , I D p } and the set of keywords W = { w 1 , w 2 , . . . , w m } .
Data encryption: DO randomly chooses a symmetric key k , then encrypts the data F to obtain C F = E n c k ( F ) , upload C F to C S , and obtain the returned data file address M .
Keyword encryption: DO first calculates
I 1 = e ( g , g ) α s e ( g H 1 ( w ) s , g ) , I 2 = g β s .
For each node x of the access tree T , DO selects a polynomial q x of order d x and the threshold value k x = d x 1 . For each root node of the access tree T , DO randomly selects a secret value s Z p * , sets q r o o t ( 0 ) = s , and then randomly selects the other d r o o t nodes to fully define the polynomial q r o o t . For the other non-root nodes x in the tree, DO sets q x ( 0 ) = q p a r e n t ( x ) ( i n d e x ( x ) ) , then randomly selects the other d x nodes to fully define the polynomial q x . For each leaf node x in the set X of leaves in T , DO computes
A x = g q x ( 0 ) , B x = g H 2 ( a t t ( x ) ) q x ( 0 ) V x .
Then, the encryption keyword index I w j = { T , I 1 , I 2 , { A x , B x } x X } of data f j . Additionally, DO generates a signature s i g j = ( H 1 ( c j ) g 0 H 2 ( i d j ) ) r for each data f j .
Data encryption key and data address encryption: DO calculates the symmetric key k for encryption as C k = k · e ( g , g ) α s , the encrypted data address M is C M = M · e ( g , g ) α s , and C T = { T , C k , C M , I 2 , { A x , B x } x X } .
Finally, DO will upload C F and s i g to CS, and the C T and I w to PS.
T r a p G e n ( P K , S K , q ) T q . The algorithm is executed by DU. The algorithm inputs the public parameter P K , the DU’s attribute key S K , and the query key q . DU computes
T 0 = ( K 2 ) H 2 ( w ) = g H 2 ( w ) β , T ( q ) = K 1 T 0 = g α + r + H 2 ( q ) β ,
For each attribute x S , DU calculates
T x = K 1 g H 2 ( a t t ( x ) ) V x = g r g H 2 ( a t t ( x ) ) V x ,
Then, the query trapdoor for the query keyword q is T q = ( T ( q ) , { T x } x S ) .
S e a r c h ( P K , T q , I w , S ) S R . The algorithm is executed by PS. The algorithm inputs the public parameter P K , query trapdoor T q , and the index keyword of the current encryption I w . PS checks whether the user’s attribute set S satisfies the access tree T embedded in the ciphertext index I w . If S does not exist, the algorithm returns 0; otherwise, it is calculated as follows.
If node x is a leaf node in the access tree T , then calculate
E x = e ( T x , A x ) e ( g , B x ) = e ( g r g H 2 ( a t t ( x ) ) V x ) , g q x ( 0 ) ) e ( g , g H 2 ( a t t ( x ) ) q x ( 0 ) V x ) = e ( g , g ) r q x ( 0 ) .
For each non-leaf node x in the access tree T , the following operation is performed: let node z denotes all child nodes of node x , assuming that S x denotes the set of any k x children of node x . If no such set exists, then E z = ; otherwise, i = i n d e x ( z ) , S x = { i n d e x ( z ) , z S x } . Calculate the following formula:
E x = z S x E z Δ i , S x ( 0 ) = z S x ( e ( g , g ) r q z ( 0 ) ) Δ i , S x ( 0 ) = z S x ( e ( g , g ) r q p a r e n t ( z ) ( i n d e x ( z ) ) ) Δ i , S x ( 0 ) = z S x ( e ( g , g ) r q x ( 0 ) ) Δ i , S x ( 0 ) = e ( g , g ) r q x ( 0 ) .
(c) If node x is a root node in access tree T , compute
E r o o t   =   e ( g , g ) r q root ( 0 )   =   e ( g , g ) r s .
Finally, calculate
I 1 = e I 2 , T q E r o o t
to determine whether the index and trapdoor match. If it holds, the search is successful and returns C T to DU, otherwise return .
e ( I 2 , T ( q ) ) E r o o t = e ( g β s , g α + r + H 2 ( q ) β ) e ( g , g ) r s e ( g , g ) α s e ( g , g ) H 1 ( q ) s .
V e r i f y ( P K , p k 0 , C F , s i g ) . The algorithm is performed by TPA. After receiving the search results C F = ( c 1 , c 2 , . . . , c τ ) , the TPA randomly selects δ l Z p * for the ciphertext c l with identity i d l . The TPA firstly sends the ( l , δ l ) to CS, which calculates σ = l = 1 τ ( s i g l ) δ l and θ = l = 1 τ δ l H 2 ( i d l ) and then sends it to the TPA, which determines whether the search result C F is correct according to the following equation.
e ( σ , g ) = e ( p k 0 , g 0 θ , l = 1 τ H 1   ( c j ) δ l ) .
D e c r y p t ( P K , S K , C T ) F . The algorithm is performed by DU. Input the attribute key S K , search for the returned C T , and output the decrypted data file F .
Calculate data file address M :
C k e ( I 2 , K 1 ) E r o o t = M e ( g , g ) α s e ( g β s , g α + r β ) e ( g , g ) r s = M e ( g , g ) α s e ( g , g ) α s = M .
Calculate symmetric key k :
C k e ( I 2 , K 1 ) E r o o t = k e ( g , g ) α s e ( g β s , g α + r β ) e ( g , g ) r s = k e ( g , g ) α s e ( g , g ) α s = k .
Finally, DU accesses the file address M in CS and decrypts it with symmetric key k to obtain the data F .
User and property revocation
User revocation: In this scheme, the user revocation list URL is updated by the AA. When the system revokes a user, AA first looks for the identity U I D that proves the user and then adds its hash value to the URL. When the revoking user sends a search request to the PS, the PS verifies its identity by the URL and refuses to return the search result, thus realizing the user’s revocation.
User partial attribute revocation: Because user attributes are updated more frequently, there may exist a problem where the user’s attribute key has been updated several times during the corresponding period when the user has not requested a search. Therefore, in this scheme, the attribute key revocation list KRL is updated by the AA. When the PS verifies the user’s identity, it requests the one-time attribute key S K of that user from the AA and sends its hash value to CS. The authentication is performed by KRL, and the CS returns the encrypted file address C M to the PS, and then PS sends it to DU and sends a message to AA that C M has been returned. AA will put the hash of S K into KRL to prevent PS from using the key again for the search result return operation. By updating the attribute key when the user applies for search again, the user’s partial attribute revocation operation is realized.
System property revocation: In this scheme, the system attribute revocation is implemented by updating the version number. When an attribute att is revoked in the system, the corresponding attribute version is V x , AA generates a new attribute version number V x , V x Z p * and updates P K x = g V x . AA generates an upgrade key U U K = g ( V x V x ) H 2 ( x ) for all DUs with attribute att. AA updates the key component K x of the revoked attribute in each user private key of the attribute set containing att to K x = K x × U U K , and the other components remain unchanged, i.e., S K = { K 1 , K 2 , K 3 , { K x } x S } . Additionally, the component T x = g r · g H 2 ( a t t ( x ) ) V x of the revoked attribute is updated to T x = g r · g H 2 ( a t t ( x ) ) V x in the trapdoor of all users who have the attribute att, and the other components are left unchanged, i.e., T q = ( T ( q ) , { T x } x S ) . AA generates upgrade keys C U K = g ( V x V x ) H 2 ( a t t ( x ) ) q x ( 0 ) for all ciphertexts containing attribute a t t in the access structure and sends it to CS to update the ciphertext component B x of the corresponding attribute att to B x = B x × C U K , leaving the other components unchanged, i.e., { T , I 1 , I 2 , { A x , B x } x X } .

6. Safety Analysis and Proof

Theorem 1.
If the DBDH problem is difficult, the index keyword of this paper’s scheme satisfies IND-CKA security.
Proof. 
A is an attempt to break the keyword ciphertext security attacker, the challenger B solves the DBDH problem by building algorithms. □
Initialization. B selects one bit at random v { 0 , 1 } , A = g a , B = g b , C = g c , Z 0 = e ( g , g ) a b c , Z 1 = e ( g , g ) z , where a , b , c Z p * , and t 0 = ( g , A , B , C , Z 0 ) , t 1 = ( g , A , B , C , Z 1 ) .
Stage 1. B calculates the public parameters Y = e ( B , C ) = e ( g , g ) b c and sends it to A , and A defines the challenged access tree T * .
Private key queries : A adaptively asks B about the private key S K A S 1 , S K A S 2 , . . . , S K A S n corresponding to attribute set S 1 , S 2 , . . . , S n . The set of all attributes S 1 , S 2 , . . . , S n embedded in the corresponding private key do not satisfy the query T * , and all private keys can be used to generate legitimate query trapdoors.
Keyword ciphertext queries: A adaptively asks B for the ciphertext I w 1 , I w 2 , . . . , I w m corresponding to the keywords w 1 , w 2 , . . . , w m .
Trapdoor queries: Given a private key S K A S i , i { 1 , n } and a query keyword q , generate a search trapdoor T A S i ( q ) by executing T r a p G e n ( P K , S K A S i , q ) T A S i ( q ) . There exists a keyword-encrypted index I w j , j { 1 , m } . From S e a r c h ( P K , T A S i ( q ) , I w j , S ) S R , we know that T w j is searched successfully only when q = w j and the set of attributes S i are satisfied.
Challenge. A submits two challenge keywords to B and sends the challenge access tree T * to B . Select a random bit b { 0 , 1 } from the Z p * and generate a ciphertext I w b * = { T * , I 1 * = Z · e ( A H 1 ( w ) , g ) , I 2 * = A β , { A x * = g q x ( 0 ) , B x * = g H 2 ( a t t ( x ) ) q x ( 0 ) V x } x X * } to send to A , where X * denotes the set of leaf nodes of the challenge access tree T * .
Stage 2. Similar to Stage 1, A adaptively interrogates the private key S K A S n + 1 , S K A S n + 2 , . . . corresponding to the set of attributes S n + 1 , S n + 2 , . . . and ciphertext I w m + 1 , I w m + 2 , . . . corresponding to the keywords w m + 1 , w m + 2 , . . . , requiring that neither attribute set S n + 1 , S n + 2 , . . . embedded into the corresponding key satisfies the challenge access tree T * .
Guess. A outputs b ′s guess bits b . Because none of the attributes sets interrogated by A satisfies the access tree T * , it is not possible to determine b = 0 or b = 1 with the search algorithm S e a r c h ( P K , T A S i ( w v ) , I w b , S ) S R . Therefore, A must recover the keyword information from I w b * to determine b = 0 or b = 1 .
If v = 0 , Z = Z 0 , the index keyword ciphertext can be expressed as I w b * = { T * , I 1 * = e ( g , g ) a b c e ( A H 1 ( w ) , g ) , I 2 * = g a β , { A x * = g q x ( 0 ) , B x * = g H 2 ( a t t ( x ) ) q x ( 0 ) V x } x X * } . Because α , s is chosen randomly in indexed keyword encryption such that b c = α , a = s , then the indexed keyword ciphertext can be expressed as I w b * = { T * , I 1 * = e ( g , g ) α s e ( g s H 1 ( w ) , g ) , I 2 * = g β s , { A x * = g q x ( 0 ) , B x * = g H 2 ( a t t ( x ) ) q x ( 0 ) V x } x X * }
If v = 1 , Z = Z 1 , the index keyword ciphertext can be expressed as I w b * = { T * , I 1 * = e ( g , g ) z e ( g s H 1 ( w ) , g ) , I 2 * = g s β , { A x * = g q x ( 0 ) , B x * = g H 2 ( a t t ( x ) ) q x ( 0 ) V x } x X * } . Because z is a random element, I w b * is also a random element for attacker A .
A outputs b ′s guess bits b . If b = b , B outputs v ′s the guess v = 0 . Because A has the advantage of recovering H ( w b ) from I w b * , the probability that A outputs b = b is 1 / 2 + ε . If b b , B outputs v ′s guess v = 1 .The probability of A outputs b = b is 1 / 2 .
Therefore, the overall advantage of B in solving the DBDH problem in the above game is
A d v A D B D H = | 1 2 P r [ v = v | v = 0 ] + 1 2 P r [ v = v | v = 1 ] 1 2 | = | [ 1 2 ( 1 2 + ¦ ε ) + 1 2 1 2 ] 1 2 | = ε 2
If ε is not negligible, then A d v A D B D H is also non-negligible, so B can crack the DBDH problem by a non-negligible advantage, which contradicts the assumption of the DBDH problem.

7. Analysis of Performance

7.1. Functional Comparison

The proposed scheme in this paper is analyzed and compared with other schemes in terms of multi-keyword query, attribute revocation, and verifiable results. From Table 1, we can conclude that the scheme in this paper achieves all the following features at the same time and is more functional, so the proposed scheme in this paper is more suitable in practical scenarios.

7.2. Comparison of Storage Costs

The definitions of some symbols for storing the cost are as follows: | G | denotes the length of the bits of the elements in the group, G . denotes the length of the bits of the elements in the domain, | Z P | denotes the number of user-owned attributes in the system Z P , | S | indicates the number of all attributes in the system, N denotes the number of keywords in the file, and m denotes the number of revoked attributes. Table 2 gives the storage cost comparison.

7.3. Computational Cost Comparison

For the comparison of computational cost, E denotes the exponential operation time of the group, and P denotes the bilinear pairing computation time. The computational cost of the encryption phase algorithm, the trapdoor generation phase algorithm, the decryption phase algorithm, the search phase algorithm, and the attribute revocation phase algorithm are mainly provided in Table 3. In the decryption phase, the description of the decryption phase is not covered in [9], so it is not involved in the comparison.

8. Experiments

To analyze the actual performance of the scheme in this paper and related literature schemes, this paper conducted a series of simulation experiments using the JPBC (Java Pairing-Based Cryptography) library on the Java platform and ran under IntelliJ IDEA, selecting class A curves y 2 = x 3 + x . The simulation environment is Windows 10 operating system Inter Core i7-7500 CPU @ 2.70 GHz. The number of user attributes selected in this paper is | S | = N [ 10 , 50 ] .
The experiments provide the results of the computational cost of the three main algorithms of the scheme, encryption, trapdoor generation, and search algorithms, and the results are shown in Figure 2. According to the experimental results in Figure 2a,c, it can be seen that the computational cost of the algorithms grows linearly with the number of attributes. In general, the use of an LSSS access structure is more efficient than that of a tree access structure, but the computational cost of the scheme in this paper is also smaller in overhead than a similar scheme [20] that uses a tree access structure. From Figure 2a, it can be seen that scheme [20] takes 0.698 s when N = 30 , whereas our scheme takes 0.583 s. From Figure 2c, it can be seen that scheme [20] takes 0.448 s when N = 30 , whereas our scheme takes 0.393 s. According to the experimental results in Figure 2b, it can be seen that the scheme in this paper always maintains the lowest total computational overhead in the trapdoor generation phase. When N = 30 , the time spent in the scheme [10] is almost twice as long as that in our scheme. At the same time, the time required for the decryption phase of the scheme in our scheme is a very small constant, independent of the number of attributes, which greatly reduces the computational overhead. In summary, the scheme in this paper is efficient and feasible in practical scenarios.

9. Conclusions

In this paper, we propose an attribute-based searchable encryption scheme, which not only realizes multi-keyword search, but also verifies the correctness of search results by introducing TPA and realizes the function of attribute revocation. First, the scheme in this paper achieves attribute revocation by creating a user revocation list as well as an attribute key revocation list. To reduce the large computation overhead of the attribute authorization center within a certain period, the scheme in this paper shifts the key update method from frequent changes to on-demand single changes when a user partially revokes an attribute to achieve more fine-grained user and attribute revocation. Second, the scheme was proven with security analysis, which shows that the scheme is secure in the cloud environment, and the experimental analysis was compared with other schemes to prove the feasibility and efficiency of the scheme. Finally, with the need for practical applications and further research, the implementation of richer keyword search functions, such as fuzzy keyword search, semantic keyword search, etc., while ensuring security and high efficiency, is an issue to be considered in future work.

Author Contributions

Conceptualization, T.F.; methodology, S.M.; formal analysis, C.L.; data curation, R.M.; investigation, T.F.; software, S.M.; project administration, C.L.; data curation, R.M.; writing—original draft, S.M.; writing—review and editing, T.F., R.M.; visualization, C.L.; validation, S.M.; resources, R.M.; supervision, C.L.; funding acquisition, T.F. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the National Natural Science Foundation of China (Grant No. 62162039, 61762060).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

We sincerely thank the reviewers for your insightful comments that helped us improve this work.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Song, D.; Wagner, D.; Perrig, A. Practical Techniques for Searches on Encrypted Data. Practical techniques for searches on encrypted data. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, S&P 2000, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar] [CrossRef] [Green Version]
  2. Dan, B.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Advances in Cryptology—EUROCRYPT; Springer: Berlin/Heidelberg, Germany, 2004; pp. 506–522. [Google Scholar]
  3. Curtmola, R.; Garay, J.; Kamara, S.; Ostrovsky, R. Searchable Symmetric Encryption: Improved Definitions and Efficient Constructions. J. Comput. Secur. 2011, 19, 895–934. [Google Scholar] [CrossRef] [Green Version]
  4. Premasathian, N.; Choto, S. Searchable Encryption Schemes: With Multiplication and Simultaneous Congruences. In Proceedings of the 2012 9th International ISC Conference on Information Security and Cryptology, Tabriz, Iran, 13–14 September 2012; IEEE: New York, NY, USA, 2012; pp. 147–150. [Google Scholar]
  5. Sahai, A.; Brw, A. Fuzzy Identity Based Encryption. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; Springer: Berlin, Germany, 2005; pp. 254–265. [Google Scholar]
  6. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy, Washington, DC, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  7. 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, Alexandria, VA, USA, 30 October–3 November 2006; pp. 89–98. [Google Scholar]
  8. Zheng, Q.; Xu, S.; Ateniese, G. Vabks: Verifiable Attribute-Based Keyword Search over Outsourced Encrypted Data. In Proceedings of the IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April–2 May 2014; IEEE: New York, NY, USA, 2014; pp. 522–530. [Google Scholar]
  9. Qiu, S.; Liu, J.; Shi, Y.; Zhang, R. Hidden Policy Ciphertext-Policy Attribute-Based Encryption with Keyword Search against Keyword Guessing Attack. Sci. China (Inf. Sci.) 2017, 60, 052105. [Google Scholar] [CrossRef]
  10. Zhang, Y.; Zhu, T.; Guo, R.; Xu, S.; Cui, H.; Cao, J. Multi-Keyword Searchable and Verifiable Attribute-Based Encryption over Cloud Data. IEEE Trans. Cloud Comput. 2023, 11, 971–983. [Google Scholar] [CrossRef]
  11. Liu, X.; Lu, T.; He, X.; Yang, X.; Niu, S. Verifiable Attribute-Based Keyword Search over Encrypted Cloud Data Supporting Data Deduplication. IEEE Access 2020, 8, 52062–52074. [Google Scholar] [CrossRef]
  12. Zhang, Z.; Zhang, J.; Yuan, Y.; Li, Z. An Expressive Fully Policy-Hidden Ciphertext Policy Attribute-Based Encryption Scheme with Credible Verification Based on Blockchain. IEEE Internet Things J. 2022, 9, 8681–8692. [Google Scholar] [CrossRef]
  13. Yin, H.; Li, Y.; Deng, H.; Zhang, W.; Qin, Z.; Li, K. An Attribute-Based Keyword Search Scheme for Multiple Data Owners in Cloud-Assisted Industrial Internet of Things. IEEE Trans. Ind. Inform. 2023, 19, 5763–5773. [Google Scholar] [CrossRef]
  14. Liu, J.; Li, Y.; Sun, R.; Pei, Q.; Zhang, N.; Dong, M.; Leung, V.C. EMK-ABSE: Efficient Multi-Keyword Attribute-Based Searchable Encryption Scheme Through Cloud-Edge Co-ordination. IEEE Internet J. Things 2022, 9, 18650–18662. [Google Scholar] [CrossRef]
  15. 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]
  16. Yu, S.; Cong, W.; Ren, K.; Lou, W. Achieving Secure, Scalable, and Fine-Grained Data Access Control in Cloud Computing. In Proceedings of the IEEE INFOCOM, San Diego, CA, USA, 14–19 March 2010; pp. 1–9. [Google Scholar] [CrossRef] [Green Version]
  17. Hur, J.; Dong, K.N. Attribute-Based Access Control with Efficient Revocation in Data Outsourcing Systems. IEEE Trans. Parallel Distrib. Syst. 2011, 22, 1214–1221. [Google Scholar] [CrossRef]
  18. Yong, L.; Zeng, Z.; Zhang, X. An Outsourced Decryption Scheme Supporting Attribute Revocation. J. Tsinghua Univ. (Sci. Technol.) 2013, 53, 1664–1669. [Google Scholar]
  19. Huang, B.; Huang, P.; Zhao, W. Multi-keyword searchable encryption scheme supporting attribute revocation in cloud storage. Comput. Eng. 2021, 47, 29–36. [Google Scholar]
  20. Miao, Y.; Ma, J.; Liu, X.; Li, X.; Jiang, Q.; Zhang, J. Attribute-Based Keyword Search over Hierarchical Data in Cloud Computing. IEEE Trans. Serv. Comput. 2020, 13, 985–998. [Google Scholar] [CrossRef]
  21. Zheng, F.; Peng, X.; Li, Z. An Efficient User’s Attribute Revocation Scheme Suitable for Data Outsourcing in Cloud Storage. Wirel. Commun. Mob. Comput. 2022, 2022, 5175754. [Google Scholar] [CrossRef]
  22. Zhang, J.; Ma, J.; Yang, Y.; Liu, X.; Xiong, N.N. Revocable and Privacy-Preserving Decentralized Data Sharing Framework for Fog-Assisted Internet of Things. IEEE Internet Things J. 2022, 9, 10446–10463. [Google Scholar] [CrossRef]
  23. Ge, C.; Susilo, J.W.; Baek; Liu, Z.; Xia, J.; Fang, L. Revocable Attribute-Based Encryption with Data Integrity in Clouds. IEEE Trans. Dependable Secur. Comput. 2022, 19, 2864–2872. [Google Scholar] [CrossRef]
Figure 1. System model.
Figure 1. System model.
Symmetry 15 00914 g001
Figure 2. Comparison of time overhead of different schemes: (a) encryption time; (b) trapdoor generation time; (c) search time [9,10,20].
Figure 2. Comparison of time overhead of different schemes: (a) encryption time; (b) trapdoor generation time; (c) search time [9,10,20].
Symmetry 15 00914 g002aSymmetry 15 00914 g002b
Table 1. Functional comparison.
Table 1. Functional comparison.
ProgramsAccess StructureMulti-Keyword SearchAttribute RevocationVerifiable Result
Qiu et al. [9] L S S S ××
Zhang et al. [10] L S S S ×
Miao et al. [20]Access Tree×
OursAccess Tree
Table 2. Comparison of storage costs.
Table 2. Comparison of storage costs.
ProgramsUser KeyEncrypted DataEncrypted Keyword IndexAttribute Revocation
Qiu et al. [9] ( 2 | S | + 2 ) | G | + | Z P | ( 2 + 2 | S | ) | G | ( 1 + 2 | S | ) | G |
Zhang et al. [10] ( 2 | S | + 3 ) | G | + | Z P | ( | S | + 3 ) | G | ( 1 + 3 | S | + m ) | G |
Miao et al. [20] ( 2 | S | + 2 ) | G | ( 2 + 2 | S | ) | G | ( 2 + 2 | S | + m ) | G | ( 2 n + 2 ) | G |
Ours ( | S | + 3 ) | G | ( 4 + 2 | S | ) | G | ( 2 + 2 | S | + m ) | G | 3 n | G |
Table 3. Comparison of computational costs.
Table 3. Comparison of computational costs.
ProgramsEncryptTrapGenSearchDecryptRevocation
Qiu et al. [9] ( 4 | S | + 2 ) E + P ( 2 | S | + 1 ) E E + 2 N P
Zhang et al. [10] ( 2 | S | + 2 ) E ( 2 N + 1 ) E E + ( 2 N + 2 ) P | S | P + 3 E
Miao et al. [20] ( 4 | S | ) E ( 2 | S | + 3 ) E ( 2 | S | + 3 ) P + 2 | S | E ( 2 + | S | ) P + E ( 2 n + 2 ) E
Ours ( 2 | S | + 3 ) E + P ( | S | + 1 ) E ( 2 | S | + 1 ) P + | S | E 2 P 3 n E
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

Feng, T.; Miao, S.; Liu, C.; Ma, R. Verifiable Keyword Search Encryption Scheme That Supports Revocation of Attributes. Symmetry 2023, 15, 914. https://doi.org/10.3390/sym15040914

AMA Style

Feng T, Miao S, Liu C, Ma R. Verifiable Keyword Search Encryption Scheme That Supports Revocation of Attributes. Symmetry. 2023; 15(4):914. https://doi.org/10.3390/sym15040914

Chicago/Turabian Style

Feng, Tao, Sirui Miao, Chunyan Liu, and Rong Ma. 2023. "Verifiable Keyword Search Encryption Scheme That Supports Revocation of Attributes" Symmetry 15, no. 4: 914. https://doi.org/10.3390/sym15040914

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