Next Article in Journal
LIME-Mine: Explainable Machine Learning for User Behavior Analysis in IoT Applications
Next Article in Special Issue
Research on the Teaching of Laser Chaotic Communication Based on Optisystem and Matlab Software
Previous Article in Journal
Smart IoT SCADA System for Hybrid Power Monitoring in Remote Natural Gas Pipeline Control Stations
Previous Article in Special Issue
SDP-MTF: A Composite Transfer Learning and Feature Fusion for Cross-Project Software Defect Prediction
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Secure Data-Sharing Model Resisting Keyword Guessing Attacks in Edge–Cloud Collaboration Scenarios

1
School of Computer Science and Technology, Zhengzhou University of Light Industry, Zhengzhou 450001, China
2
Key Laboratory of Big Data Intelligent Computing, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(16), 3236; https://doi.org/10.3390/electronics13163236
Submission received: 14 July 2024 / Revised: 10 August 2024 / Accepted: 12 August 2024 / Published: 15 August 2024
(This article belongs to the Special Issue Artificial Intelligence in Cyberspace Security)

Abstract

:
In edge–cloud collaboration scenarios, data sharing is a critical technological tool, yet smart devices encounter significant challenges in ensuring data-sharing security. Attribute-based keyword search (ABKS) is employed in these contexts to facilitate fine-grained access control over shared data, allowing only users with the necessary privileges to retrieve keywords. The implementation of secure data sharing is threatened since most of the current ABKS protocols cannot resist keyword guessing attacks (KGAs), which can be launched by an untrusted cloud server and result in the exposure of sensitive personal information. Using attribute-based encryption (ABE) as the foundation, we build a secure data exchange paradigm that resists KGAs in this work. In our paper, we provide a secure data-sharing framework that resists KGAs and uses ABE as the foundation to achieve fine-grained access control to resources in the ciphertext. To avoid malicious guessing of keywords by the cloud server, the edge layer computes two encryption session keys based on group key agreement (GKA) technology, which are used to re-encrypt the data user’s secret key of the keyword index and keyword trapdoor. The model is implemented using the JPBC library. According to the security analysis, the model can resist KGAs in the random oracle model. The model’s performance examination demonstrates its feasibility and lightweight nature, its large computing advantages, and lower storage consumption.

1. Introduction

Since the edge–cloud collaboration scenario is developing so quickly, its data-sharing technology has been applied to the Industrial Internet of Things [1], intelligent transportation systems [2], and the Medical Internet of Things [3]. Additionally, resource-constrained intelligent terminals in the edge–cloud collaboration scenario can realize improved computing power elasticity, and the core data-sharing technology satisfies the entity users in the scenario to carry out high-precision, fast-response, low-latency transmission, and safe information exchange. In an edge–cloud scenario, data users can efficiently lower terminal communication costs and realize resource rationalization by outsourcing data to the cloud server. However, sensitive data are contained in the stored data [4,5,6], and data security is readily jeopardized. As a result, maintaining data security becomes an important and difficult responsibility [7].
Sensitive data must first be encrypted before being uploaded to the cloud to enable secure data sharing in edge–cloud scenarios. Users who meet the requirements for keyword information matching can then access the relevant ciphertext information. Unfortunately, fine-grained access control to cloud-stored data cannot be achieved by using public key encryption with keyword search. This is because when more users access cloud-stored data, the cloud generates a significant volume of private data simultaneously. Additionally, there is a greater frequency of information interaction between data users and the cloud. To access the relevant data, users must jointly negotiate a session key, which consumes a lot of computational power and results in inefficient access authorization from the users. The scheme in [8] suggests using ABE in conjunction with keyword search to address this issue. In this method, the data owner encrypts private information using an access policy, creates a secure index for the keyword, and then, outsources the work to the cloud. Only authorized data users who comply with the access policy can verify the keyword trapdoor on the cloud server. Upon successful verification, the cloud server retrieves the corresponding ciphertext and calculation parameters and sends them directly to the authorized data user for decryption. However, a semi-trusted cloud server that uses protocols with keyword-searchable encryption is vulnerable to internal and external KGAs [9,10]. In these attacks, adversaries with probabilistic polynomial-time capabilities can use the captured query message to learn more about a particular keyword and use that information to launch KGAs during a data user’s search.
Thus, it is necessary to pay attention to resist KGAs to safeguard the privacy of sensitive data stored in the cloud. This paper aims to tackle the issue of privacy leakage by developing a secure data-sharing model that withstands KGAs in edge–cloud collaboration scenarios. To achieve this goal, the edge layer generates two inversely related session keys based on GKA technology. One is used to re-encrypt the data owner’s secret key of the keyword index to prevent tampering during the upload to the cloud, and the other is used to re-encrypt the keyword trapdoor information to prevent its leakage to the cloud server. The data owner transmits the ciphertext and keyword index parameters to the edge layer, where the edge server managing the domain has the corresponding attribute permissions of the data owner and computes the data user’s decryption key factor based on these permissions. The edge layer uses one of its session keys to re-encrypt the secret key of the keyword index, and then, sends the ciphertext and other parameters to the cloud for secure storage and data sharing. To prevent the cloud server from launching KGAs, the keyword trapdoor is re-encrypted by the edge server managing the domain after the data user computes and sends the keyword trapdoor to it. Only when the keyword trapdoor of the data user, who meets the access policy, successfully matches the keyword index stored in the cloud, does the data user have the authority to access the ciphertext resources. The cloud server searches the ciphertext and sends it along with the decryption key factor to the data user based on their ip address. The data user then uses the decryption key factor and the Lagrange interpolating polynomial to compute the decryption key and decrypt the ciphertext, thereby obtaining the corresponding resources and completing flexible and secure cross-domain data sharing. The re-encrypted keyword trapdoor can resist KGAs initiated by the cloud server in this model and prevent sensitive privacy leakage and tampering. The simplified process of the appeal is shown in Figure 1.

2. Related Work

Song et al. [11] were the first to propose the keyword-searchable encryption (SE) technique, which allows data users to securely search ciphertexts stored in the cloud while providing concealed keyword querying. Building on Song’s scheme, Li et al. [12] introduced searchable symmetric encryption (SSE) with forward search privacy. This approach enhances security by enabling the addition of new documents without revealing any information about previous queries, proving to be more effective than previous techniques according to test data. To counteract adversaries with arbitrary background knowledge, Chen et al. [13] developed a framework for SSE systems based on differential privacy approaches, offering verifiable security guarantees. However, experimental investigations have shown that even advanced leakage suppression techniques in SSE schemes are insufficient to defend against new inference attacks. Gui et al. [14] proposed a novel inference attack capable of performing efficient, scalable, and accurate query reconstruction against end-to-end SSE systems, revealing that the existing SSE framework cannot prevent such attacks.
Public-key encryption with keyword search (PEKS) was introduced by Boneh et al. [15] to facilitate data exchange between users. In this scheme, the data provider encrypts the chosen keyword within the ciphertext before outsourcing it to the cloud for storage. The data user generates a list of keywords, searches for them on the cloud server, and utilizes a test function in the cloud to verify the presence of the keywords in each ciphertext. If a match is found, the corresponding ciphertext can be returned to the data user. With this technique, security and privacy could be readily jeopardized if the cloud server is hostile. Most current PEKS systems cannot simultaneously achieve high search efficiency and robust security. To address this challenge, Chen et al. [16] proposed a method for parallel and forward private searchable encryption with cloud data sharing. This approach ensures forward privacy and parallelism, with experimental results demonstrating its effectiveness and applicability. Through comparative analysis and experimental results, Lu et al. [17] proposed an effective PKES scheme featuring flexible keyword-free domain multi-keyword search, and forward ciphertext retrieval. This scheme effectively guards against KGAs and unauthorized ciphertext retrieval, demonstrating security in the random oracle model and outperforming existing schemes. Cheng et al. [18] introduced a server-assisted public-key authentication searchable encryption scheme with constant ciphertext and constant trapdoor sizes, combining sender and receiver servers. In this scheme, the sender only needs to encrypt the keyword once, and the constant sizes of the ciphertext and trapdoor ensure scalability, enabling multi-scenario applications.
Bethencourt, Sahai, and Waters [19] initially introduced ABE with a ciphertext policy to establish access control for cloud data. In this approach, data users determine access based on the specified access policy. Goyal [20] proposed a key-policy attribute-based encryption (KP-ABE) method, featuring a key-associative access control structure. Waters et al. [21] later introduced a ciphertext-policy attribute-based encryption (CP-ABE) approach, enabling one-to-many fine-grained sharing. Subsequently, numerous traditional ABE systems and variations were proposed [22]. To prevent dishonest searches by the data user’s cloud, Zheng and Xu et al. [23] proposed VABKS (verifiable attribute-based keyword search) for outsourced encrypted data. This method can verify whether the cloud has performed honest searches. Combining ABE with SE, ABSE offers advantages over traditional PKES. However, as the cloud is not entirely trustworthy, Liu et al. [24] proposed a key-policy attribute-based searchable encryption (KP-ABSE) method to enhance practicality. This approach can successfully verify the accuracy and integrity of data files stored in the cloud. Since the cloud holds a public key for re-encrypting keyword ciphertexts, it can effectively fend off offline KGAs. Nevertheless, hostile adversaries can fabricate the cloud’s public key, compromising user data privacy.
Liang and Susilo [25] employed attribute-based proxy re-encryption capabilities and ABKS to facilitate data sharing and keyword upgrading. The approach verifies that it is chosen-ciphertext-safe in the random oracle and guarantees that the ciphertexts’ keyword search functionality can be maintained after ciphertext sharing. A verifiable keyword search for encrypted cloud data in smart cities was proposed by Miao [26]. This allows the data user to confirm the search results and also demonstrates the security of the scheme against targeted keyword attacks (CKAs). A verified attribute-based keyword search with fine-grained owner-enforced search authorization in the cloud was proposed by Sun et al. [27] Multiple data owners and users are supported by this method. Large-scale systems may scale more easily thanks to the user owner’s enforced search authorization, and the user revocation process is more effective and resilient to targeted keyword attacks.
Cui et al. [28] proposed an attribute-based keyword search with an effective revocation scheme (AKSER). AKSER achieves fine-grained authorization of search under a distributed multi-attribute authority institution. It also ensures keyword semantic security, keyword confidentiality, trapdoor unlinkability, and collision resistance. In contrast to ciphertext-policy attribute-based encryption schemes, Wang et al. [29] introduced the first hierarchical attribute-based encryption scheme for document collections, which uses fewer ciphertext storage resources. They also developed a depth-first search algorithm for ARF trees, enhancing search efficiency, which can be further improved through parallel computing. The search algorithm only requires one keyword to be the same in two keyword sets to output the corresponding correlation, reflecting the number of identical keywords in these sets. Meng et al. [30] proposed an attribute-based encryption and dynamic keyword search method in fog computing that shifts the majority of computational overhead from resource-constrained users to fog nodes, reducing the computational load on the endpoints. Current CP-ABKS methods are designed for non-shared multi-owner configurations and are not immediately applicable to shared multi-owner configurations.
To improve monitoring of hostile users for selective security and resistance to offline keyword guessing attacks, Miao et al. [31] presented privacy-preserving attribute-based keyword searches in shared owner settings. Most earlier techniques are vulnerable to offline KGAs when the keyword space is polynomial. To address these issues, Zhang et al. [32] proposed an attribute-based encryption scheme with searchable and verifiable multiple keywords based on cloud data. Their experimental results demonstrate the scheme’s effectiveness, achieving selective security against offline keyword guessing attacks and ensuring the unforgeability of signatures.
Li et al. [33] proposed an attribute-based keyword search strategy that prevents keyword guessing attacks by signing the keyword with the data owner’s private key before generating the keyword ciphertext. To combat data tampering, Zhang et al. [34] introduced a blockchain-based anonymous attribute searchable encryption scheme for data sharing. This scheme leverages blockchain technology to conceal the attributes of the access policy while ensuring tamper resistance, integrity verification, and non-repudiation. Experimental results demonstrate the scheme’s practicality and efficiency. Ge et al. [35] proposed an attribute-based proxy re-encryption scheme with a direct revocation mechanism for data sharing in the cloud. This mechanism allows the cloud server to directly revoke users in the original shared set involved in the re-encryption key. Additionally, Ge et al. [36] proposed a secure keyword search and data-sharing mechanism for cloud computing, addressing the need for users to quickly search and return results without compromising data confidentiality. This mechanism supports attribute-based keyword search and attribute-based data sharing simultaneously, and it has been shown to be secure against chosen-ciphertext attacks in random oracle models and CKAs.
Upon perusing the above references, it is evident that researchers have made significant contributions to the attainment of secure data sharing. However, there exist certain limitations. Specifically, the majority of schemes are susceptible to KGAs, and in the event of a probabilistic polynomial-time adversary of a semi-trusted cloud server, they can obtain specific keyword information through the captured query information, thereby compromising privacy. In the edge–cloud collaboration scenario, we propose a secure data-sharing model based on an anti-keyword guessing attack to counter the appeal attack. The model is lightweight and highly appropriate for resource-constrained smart terminals, as it achieves resistance to keyword guessing attacks through key negotiation at the edge layer, and safe in terms of privacy for end users. Comparative investigations indicate that this model performs better than existing schemes.

Methodology

We propose a secure data-sharing model that resists keyword guessing attacks in edge–cloud collaboration scenarios (SDSM-KGA). The methodology of this paper is as follows, and the problems addressed are illustrated in Figure 2.
(1)
This paper extends the traditional attribute-based keyword search (ABKS) model by proposing a new flexible, fine-grained access control mechanism. This mechanism allows data users with identical attribute permissions to perform fine-grained searches on ciphertext based on specific access policies, enabling flexible and secure data sharing. If a data user’s attribute permissions do not meet the requirements of the access policy, they are not able to access the shared ciphertext. This access control strategy enhances the efficiency and security of data sharing among users.
(2)
The ABKS model we propose supports cross-domain data sharing and can effectively resist KGAs initiated by cloud servers. In traditional models, keyword trapdoor information is public in the cloud, and is therefore vulnerable to attacks by external attackers or malicious cloud servers. To prevent such attacks, we implement a key negotiation method at the edge layer. This allows the edge layer to re-encrypt the keys of the data owner’s keyword index and keyword trapdoor key stored in the cloud to prevent other entities from identifying them.
(3)
We define a new security model and prove its ability to resist KGAs under the random oracle model, and implement our scheme using the JPBC library. The experimental evaluation proves the practicality and high performance of the scheme compared with other traditional schemes.

3. Basic Knowledge

3.1. Bilinear Map

Let G 1 be an additive group and g be a G 1 generator. G T represents a multiplicative cyclic group. G 1 and G T have the same prime order q. We can say e : G 1 × G 1 G T is a bilinear pairing if it meets the following properties:
(1)
Bilinearity: For all a , b Z q * and g 1 , g 2 G 1 , we have e ( a g 1 , b g 2 ) = e ( g 1 , g 2 ) a b .
(2)
Non-degenerate: g 1 G 1 , e ( g 1 , g 1 ) 1 .
(3)
Computability: g 1 , g 2 G 1 ; there exist efficient algorithms in polynomial time that can compute the e ( g 1 , g 2 ) .

3.2. Access Structure

Let P = { P 1 , P 2 , . . . , P n } denote the set of participants, and let 2 P = { A | A P = { P 1 , P 2 , . . . , P n } } . For B , C P , if B A and B C , then C A . If A is a non-empty subset of P = { P 1 , P 2 , . . . , P n } , then A is called an access structure. For any set D, if D A , then D is an authorized set; otherwise, it is an unauthorized set.

3.3. Linear Secret-Sharing Scheme

The set of participants is P = { P 1 , P 2 , . . . , P n } , where the access structure is A = < M , F > . Here, M is a matrix with n rows and m columns. For all 1 i n , F i is a mapping function that maps each row of the matrix to different attributes. If Π satisfies the following conditions, then Π is a linear secret-sharing scheme (LSSS) defined over P.
(1)
Given a secret value s Z q * , randomly select l 2 , l 3 , . . , l n Z q * ; construct the column vector v = ( s , l 2 , l 3 , . . . , l n ) T . Then, compute h i = ( M v ) i , where h i represents the secret share held by F i .
(2)
There exists a set of vectors { ω i Z q * } i I such that i I ω i M i = ( 1 , 0 , . . . , 0 ) . The secret value s can be reconstructed as s = i I ω i M i · v = i I ω i h i , where { h i } ( 1 i r ) are valid secret shares of the secret value.
This scheme is based on the algorithm idea of scheme [37], using the elements in the access matrix to encrypt the information, and decrypting according to i I ω i M i = ( 1 , 0 , . . . , 0 ) T , which can ensure that j = 1 n i I M i , j ω i = 1 .

3.4. Decisional Bilinear Diffie–Hellman Assumption

Considering the bilinear mapping elements G 1 , G T , g , e , q and random elements a , b , c Z q * , we see that adversary B is unable to discriminate between the tuples ( a g , b g , c g , Z ) and ( a g , b g , c g , a b c g ) , where Z is chosen at random from G 1 . Consequently, there is no probabilistic polynomial time (PPT). The advantage ε of B in resolving the DBDH problem is described as follows, assuming the following equations hold.
Pr B ( ( a g , b g , c g , a b c g ) ) = 1 Pr B ( ( a g , b g , c g , Z ) ) = 1 < ε .

3.5. Security Model

Init: The simulator B ensures that the keyword index secret key s 0 remains secret. The value s 0 g is sent by B to the attacker A . Attacker A challenges the access structure A and randomly selects attributes to form a set { a t t 1 * , a t t 2 * , , a t t r * } , which is then sent to the simulator B . The simulator B computes the corresponding attribute permissions { ρ 1 * , ρ 2 * , , ρ r * } and sends them to A . The attacker A subsequently computes the attribute permission key s 1 * = i = 1 r H 2 ( ρ i * ) mod q for the challenge.
Phase 1: A executes a polynomially limited number of queries in an adaptive manner, which means that each query may depend on the response to previous queries.
(1)
Attribute permissions secret-key extraction query: A chooses an attribute permissions secret key s 1 , i * , then sends s 1 , i * to simulator B to verify whether the private key is legal or not; the verification succeeds in computing the key E i , then runs the re-encryption attribute permissions private key to obtain E i   ` , and then, returns E i   ` to A .
(2)
Keyword trapdoor extraction query: A randomly selects a keyword k w i from the keyword dictionary, then A sends k w i to B ; simulator B calculates the keyword trapdoor Y i of the searchable keyword k w i , then runs to re-encrypt the trapdoor Y i and returns Y i to A .
Challenge: A decides when the first stage will end. A generates two keywords k w 1 and k w 0 of the same length that it wants to be challenged. The simulator B randomly selects bits c o i n { 0 , 1 } , computes the trapdoor for keyword k w * as Y i * , and then, runs the re-encryption trapdoor to obtain Y i *   ` = < β , Y i * > . B re-encrypts the attribute permissions private key E i * to obtain E i *   ` = < α , E i * > , and sends ( Y i *   ` , E i *   ` ) as the challenged parameters to A . If the encryption of the trapdoor for the target keyword k w * fails, then A aborts the game.
Phase 2: A can make a polynomially bounded number of adaptive queries as in phase 1, except that it cannot make private-key extraction queries and trapdoor extraction queries for s 1 * and k w 1 , k w 0 .
A outputs the result c o i n , if c o i n = c o i n will win the game. We define the advantage of A in attacking the scheme as A d v A I N D K G A = Pr [ c o i n = c o i n ] 1 / 2 .

4. System Model and Initialization

In this paper, we propose a secure data-sharing model to resist keyword guessing attacks in the edge–cloud collaboration scenario. The system model is shown in Figure 3, which mainly has certification authority, cloud layer, edge layer, and data user layer.

4.1. System Model

CA Authentication Center: The center is responsible for implementing system parameter settings, generating the system’s master and public keys, registering user attributes, determining attribute permissions, and distributing attributes to data users and edge servers.
Cloud service layer: Comprised of a cloud server, the primary purpose of this layer is to store and validate the private key and re-encrypted keyword trapdoor data sent by the edge layer. Upon successful verification, ciphertext resources are sent to data users who comply with the access policy. This layer also offers higher storage capacity, high scalability, and flexibility, while handling complex calculations and tasks from the edge layer and providing a secure channel for data sharing.
Edge layer: The edge layer primarily handles the negotiation of session keys, one is used to re-encrypt the data owner’s secret key of the keyword index to prevent tampering during the upload to the cloud, and the other is used to re-encrypt the keyword trapdoor information to prevent its leakage to the cloud server. This layer facilitates collaborative computation, enhances data resource-sharing security, and reduces processing times. By decreasing latency and improving security, it ensures efficient collaborative computation.
User layer: This layer consists of mobile data users and data owners. The data owner is the one who uploads the shared resources. For a data user to access the decrypted key factor and ciphertext resources, their attribute permission set must match the access policy. Additionally, only when the keyword index and trapdoor are successfully verified by the cloud server will ciphertext resources be accessible.

4.2. System Initialization

The CA authentication center generates a bilinear mapping e : G 1 × G 1 G T , where G 1 is an addition group, G T is a multiplicative cyclic group, the prime order is q, and g is a generating element of G 1 . Then, it selects a random number s k C A Z q * , and computes p k C A = s k C A g , where ( p K C A , s k C A ) is the CA’s public/private key pair, and the CA selects a hash function H 1 : { 0 , 1 } * Z q * , H 2 : G 1 Z q * , H 3 : Z q * G 1 , and the CA sets the system’s public parameters { g , q , G 1 , G T , e , H 1 , H 2 , H 3 , P K C A } .

4.3. System Entity Key Generation

Assume there are N edge servers E S i ( 1 i N ) , each edge server manages E S i the corresponding domain and the number of data users in each domain is at most n. For example, data user u i , j is the j-th user in the i-th domain, and the identity set of data users in the i-th domain is I D i = { i d u i , 1 , i d u i , 2 , i d u i , j , . . . , i d u i , n } . Using data user u i , j who is controlled by edge server E S i as an example, the CA broadcasts system parameters { g , q , G 1 , G T , e , H 1 , H 2 , H 3 , p k C A } in the following ways:
1.
The data user u i , j , whose identity is i d u i , j , receives the system parameters { g , q , G 1 , G T , e , H 1 , H 2 , H 3 , p k C A } that the CA broadcasts, u i , j chooses a positive number s k u i , j Z q * at random, u i , j computes public key p k u i , j = s k u i , j g and η 0 = H 1 ( i d u i , j | | p k u i , j ) p k C A . After that, the CA receives argument { u i , j , i d u i , j , η 0 , p k u i , j } .
2.
After receiving the parameter { u i , j , i d u i , j , η 0 , p k u i , j } , the CA checks whether the public key p k u i , j and the user’s identity i d u i , j correspond using equation e ( p k u i , j , η 0 ) = e ( s k C A p k u i , j , H 1 ( i d u i , j | | p k u i , j ) g ) to verify its legitimacy. If valid, the CA publishes the valid public key p k u i , j of u i , j . The procedure mentioned above provides the identified public-key information to the data user u i , j , enabling them to create their own public/private key pair ( p k u i , j / s k u i , j ) .
The process of creating the public/private key pair for the cloud server (CS) and the edge server E S i ( 1 i N ) is the same. The entity’s CS generated the public/private key pair ( p k C S , s k C S ) through the above process. The E S i of the i management domain generated the public/private key pair ( p k E S i , s k E S i ) .

4.4. Acquisition of Data User Attribute Permissions

For network resource access, the CA authentication center defines the system attribute set S A s e t = { A t t 1 , A t t 2 , . . . , A t t n } . The attribute serial number corresponding to each attribute is { S 1 , S 2 , . . . , S n } . It also generates the corresponding attribute parameter b i Z q * ( 1 i n ) for each attribute to form the attribute parameter set A t t s e t = { b 1 , b 2 , . . . , b n } , and the terminal members receive the attribute set that is available for authentication. Assuming that the attribute set of u i , j ( 1 i N , 1 j n ) is expressed as { a t t 1 , u i , j , a t t 2 , u i , j , . . . , a t t r , u i , j } S A s e t ( 1 r n ) , where a t t r , u i , j S A s e t ( 1 r n ) , attribute registration for arbitrary terminals and acquisition of attribute privileges are as follows:
1.
u i , j When carrying out the process of attribute authentication, the terminal u i , j obtains the set S A of authentication attributes announced by the CA, randomly chooses γ 1 , u i , j Z q * , computes o 1 , u i , j = γ 1 , u i , j g , ϑ 1 , u i , j = H 1 ( a t t 1 , u i , j ) p k C A , ϑ 2 , u i , j = H 1 ( a t t 2 , u i , j ) p k C A ,…, ϑ r , u i , j = H 1 ( a t t r , u i , j ) p k C A ( 1 r n ) , η 1 , u i , j as the signature message, η 1 , u i , j = s k u i , j 1 γ 1 , u i , j H 1 ( a t t 1 , u i , j | | a t t 2 , u i , j | | . . . | | a t t r , u i , j | | p k u i , j ) g , where ϑ 0 , u i , j = { ϑ 1 , u i , j , ϑ 2 , u i , j , . . . , ϑ r , u i , j } , and then, sends the parameters { o 1 , u i , j , { ϑ 0 , u i , j } , η 1 , u i , j , p k u i , j } to the CA.
2.
After receiving the parameters { o 1 , u i , j , { ϑ 0 , u i , j } , η 1 , u i , j , p k u i , j } from u i , j , the CA computes l 1 = s k C A 1 ϑ 1 , u i , j , l 2 = s k C A 1 ϑ 2 , u i , j ,…, l r = s k C A 1 ϑ r , u i , j ( 1 r n ) and L 1 = H 1 ( A t t 1 ) g , L 2 = H 1 ( A t t 2 ) g ,…, L r = H 1 ( A t t r ) g by comparing the sets l 0 = { l 1 , l 2 , . . . l r } and L 0 = { L 1 , L 2 , . . . , L r } to see if they are equal; the CA can determine the set of attributes and the corresponding attribute sequence numbers of the attributes S 0 = { S 1 , S 2 , . . . , S r } . The CA computes η 2 = H 1 ( A t t 1 | | A t t 2 . . . | | A t t r | | p k u i , j ) g , verifies the signature of u i , j by Equation e ( η 1 , u i , j , p k u i , j ) = e ( η 2 , o 1 , u i , j ) , and determines whether the equation is valid. The CA can determine { a t t 1 u i , j , a t t 2 u i , j , . . . , a t t r u i , j } the set of attributes u i , j has, and the CA selects the corresponding attribute parameters according to the corresponding attributes to compute for u i , j the set of attribute authority factors for the set χ 1 , u i , j = b 1 H 2 ( a t t 1 , u i , j ) p k u i , j , χ 2 , u i , j = b 1 H 2 ( a t t 2 , u i , j ) p k u i , j … χ r , u i , j = b r H 2 ( a t t r , u i , j ) p k u i , j , χ 0 , u i , j = { χ 1 , u i , j , χ 2 , u i , j , . . . , χ r , u i , j } . The CA chooses γ 2 Z q * randomly, computes o 2 = γ 2 g , η 3 , u i , j = γ 2 s k C A 1 H 2 ( χ 1 , u i , j | | χ 2 , u i , j | | . . . | | χ r , u i , j | | p k C A ) g , and then, sends the parameters ( { χ 0 , u i , j } , η 3 , u i , j , o 2 , p k C A ) to u i , j .
3.
u i , j receives the public parameters ( { χ 0 , u i , j } , η 3 , u i , j , o 2 , p k C A ) sent by the CA, computes η 4 , u i , j = H 2 ( χ 1 , u i , j | | χ 2 , u i , j | | . . . | | χ r , u i , j | | p k C A ) g , verifies if the CA’s signature is valid through equation e ( η 3 , u i , j , p k C A ) = e ( o 2 , η 4 , u i , j ) , accepts the parameters if valid, and then, calculates the attribute permissions through the attribute factor ρ 1 , u i , j = s k u i , j 1 χ 1 , u i , j , ρ 2 , u i , j = s k u i , j 1 χ 2 , u i , j , . . . , ρ r , u i , j = s k u i , j 1 χ r , u i , j . Thus, the set of attribute permissions is ρ 0 , u i , j = { ρ 1 , u i , j , ρ 2 , u i , j , . . . , ρ r , u i , j } , where ρ i , u i , j = b i H 1 ( a t t i , u i , j ) g 1 i r . The attribute permissions set { ρ 1 , u i , j , ρ 2 , u i , j , . . . , ρ r , u i , j } corresponds to the attribute set { a t t 1 , u i , j , a t t 2 , u i , j , . . . . , a t t r , u i , j } .
The edge server E S i ( 1 i n ) is specialized and is considered to have all the attributes of the system attribute set S A s e t = { A t t 1 , A t t 2 , . . . , A t t n } as well as the attribute sequence numbers { S 1 , S 2 , . . . , S n } corresponding to the attributes, and all the attribute permission sets ρ 0 , E S i = { ρ 1 , E S i , ρ 2 , E S i , . . . , ρ r , E S i } are obtained according to the above process, where ρ i , E S i = b i H 1 ( A t t i ) g ( 1 i r ) . The CA carries out the division of the management domain according to the u i , j address of u i , j and the i p E S i of the edge server E S i ( 1 i N ) .

4.5. Edge Server Session Key Establishment

Each edge server in the system manages different domains. In order to enable secure cross-domain data access, the edge servers use a ring data structure. This structure facilitates the negotiation of the session private key α and the calculation of the inverse session private key β by the edge server based on GKA technology. Each edge server is connected to its neighboring edge servers, and authentication is performed through signing and calculating the session key factor. The specific steps are as follows:
1.
Using the edge server E S 1 as an example, E S 1 computes the session factor about the key to the neighboring edge server E S 2 . E S 1 randomly selects γ 3 , E S 1 Z q * , and computes parameters s s k 1 = s k E S 1 , T 1 , E S 1 = γ 3 , E S 1 g , s s k 1 g , and the signature θ 1 , E S 1 = γ 3 , E S 1 H 3 ( T 1 , E S 1 | | ρ 1 , E S 1 | | ρ 2 , E S 1 | | . . . | | ρ r , E S 1 | | p k E S 1 | | i p E S 1 | | s s k 1 g ) s k E S 1 1 g . The parameter set ( θ 1 , E S 1 , T 1 , E S 1 , p k E S 1 , i p E S 1 , s s k 1 g ) is sent to the edge server E S 2 .
2.
Edge server E S 2 receives the parameters ( θ 1 , E S 1 , T 1 , E S 1 , p k E S 1 , i p E S 1 , s s k 1 g ) , E S 2 computes ξ 1 , E S 2 = H 3 ( T 1 , E S 1 | | ρ 1 , E S 2 | | ρ 2 , E S 2 | | . . . | | ρ r , E S 2 | | p k E S 1 | | i p E S 1 | | s s k 1 g ) g and verifies the signature through equation e ( θ 1 , E S 1 , p k E S 1 ) = e ( ξ 1 , E S 2 , T 1 , E S 1 ) , if the equation holds E S 2 computes the session key factor s s k 2 s s k 1 g , in which s s k 2 = s k E S 2 . E S 2 randomly selects γ 4 , E S 1 Z q * and computes θ 2 , E S 2 = γ 4 , E S 1 H 3 ( T 2 , E S 2 | | ρ 1 , E S 2 | | ρ 2 , E S 2 | | . . . | | ρ r , E S 2 | | p k E S 2 | | i p E S 2 | | s s k 2 s s k 1 g ) s k E S 2 1 g .
3.
Following the steps of the appeal, E S n sends message ( θ n , E S n , T n , E S n , p k E S n , i p E S n , s s k n . . . s s k 2 s s k 1 g ) to E S 1 . Then, E S 1 computes ξ n , E S 1 = H 3 ( T n , E S n | | ρ 1 , E S 1 | | ρ 2 , E S 1 | | . . . | | ρ r , E S 1 | | p k E S n | | i p E S n | | s s k n . . . s s k 2 s s k 1 g ) g , where s s k 0 = s s k n . . . s s k 2 s s k 1 g , E S 1 verifies the signature by equation e ( θ n , E S n , p k E S n ) = e ( ξ n , E S 1 , T n , E S n ) , and if the equation holds E S 1 computes α = H 2 ( H 2 ( s s k 0 ) g ) as the session key for the system edge servers layer, then E S 1 sends the parameters { ( H 2 ( s s k 0 ) p k E S 2 , i p E S 2 ) , ( H 2 ( s s k 0 ) p k E S 3 , i p E S 3 ) , . . . ( H 2 ( s s k 0 ) p k E S n , i p E S n ) } to the corresponding edge servers based on the i p address. When the edge servers E S i ( 2 i n ) have all accepted the parameter to compute α = H 2 ( s k E S i 1 H 2 ( s s k 0 ) p k E S i ) = H 2 ( H 2 ( s s k 0 ) g ) , there exists α β = 1 mod q .

5. The Construction of Our Model

Taking the data owner u i , j in the management domain of the edge server E S i as an example, the related algorithm interaction process is depicted in Figure 4.

5.1. Keyword Index Generation

K w I n d e x ( H 2 ( k w i ) , ρ i , u i , j ) I k w : If the data owner u i , j wants to share the data M u i , j , u i , j randomly selects a keyword from the keyword dictionary ( k w i { 0 , 1 } * ) . The keyword k w 1 is the extraction information of the shared data M u i , j . u i , j computes H 1 ( k w 1 ) g , where ρ i , u i , j is the universal element of set { ρ 1 , u j , k , ρ 2 , u j , k , . . . , ρ r , u j , k } that satisfies the access policy, the attribute permissions secret key s 1 = i = 1 r H 2 ( ρ i , u i , j ) mod q . u i , j randomly selects s 0 , z 1 Z q * and computes the signature parameters ψ 1 = z 1 g , ψ 2 = p k E S i z 1 . The keyword index of u i , j is I K W = e ( H 2 ( k w 1 ) g , H 3 ( s 1 ) s 0 ) e ( g , s 0 g ) , with s 0 as the secret key of the keyword index.

5.2. Data Owner Encryption

E n c ( M u i , j , H 2 ( z 1 g ) , F ( ) ) ( C u i , j , { h 0 } ) : Data owner u i , j computes I 2 = s 0 g . According to Section 3.3, u i , j randomly selects l i Z q * ( 2 i r ) to combine into secret vectors v = [ s 0 , l 2 , l 3 , . . . l n ] T . u i , j to encrypt the plaintext message M u i , j , to obtain the ciphertext C u i , j = e ( g , H 2 ( z 1 g ) g ) M u i , j . u i , j computes the share of the randomized secret value from this matrix h i = M i v = M i [ s 0 , l 2 , l 3 , . . . l n ] T ( 1 i r ) , the secret key of the keyword index share parameter and the signature information h 0 = { h 1 g , h 2 g , . . . h r g } and σ 1 , u i , j = z 1 H 1 ( C u i , j | | S 0 | | ψ 2 | | p k u i , j | | h 1 g | | h 2 g | | . . . | | h r g | | I K W | | I 2 ) p k E S i . The attribute sequence number is S 0 , u i , j = { S 1 , S 2 , . . . , S r } , whose parameters ( σ 1 , u i , j , C u i , j , { h 0 } , ψ 2 , I K W , I 2 , p k u i , j , S 0 , u i , j ) will be sent over a secure channel to the edge server that manages the domain E S i .

5.3. Edge Server E S i Re-Encrypts Secret Key of Keyword Index

R e E n c ( α , { h 0 } , I 2 ) ( { C 1 , 0 } , I 3 ) : When the edge server E S i receives the parameters ( σ 1 , u i , j , C u i , j , { h 0 } , ψ 2 , I K W , I 2 , p k u i , j , S 0 , u i , j ) , it computes ϕ 1 , E S i = H 1 ( C u i , j | | S 0 , u i , j | | ψ 2 | | p k u i , j | | h 1 g | | h 2 g | | . . . h r g | | I K W | | I 2 ) g , determines whether the equation is valid by e ( σ 1 , u i , j , s k u i , j 1 g ) = e ( ϕ 1 , E S i , ψ 2 ) , and accepts the parameters if it is valid, and computes ψ 3 = s k E S i 1 ψ 2 , d 0 = H 2 ( ψ 3 ) . E S i obtains the corresponding attribute permissions based on the set of permission numbers S 0 , u i , j sent by u i , j to access the ciphertext, constructs a polynomial P 1 ( x ) = d r 1 x r 1 + d r 2 x r 2 + . . . + d 1 x + d 0 of degree r 1 , and then, substitutes the attribute values { H 2 ( ρ 1 , E S i ) mod q , H 2 ( ρ 1 , E S i ) mod q , . . . , H 2 ( ρ 1 , E S i ) mod q } into the polynomial P 1 ( x ) . Respectively, E S i obtains the r function value f 0 = { f 1 , f 2 , . . . , f r } , the encryption factor of the key reconstruction. E S i re-encrypts the secret key of keyword index I 3 = α I 2 and re-encrypts the secret key of keyword index share C 1 , 0 = { C 1 , 1 = α h 1 g , C 1 , 2 = α h 2 g , . . . C 1 , r = α h r g } . Then, E S i randomly selects z 2 Z q * and computes ψ 4 = z 2 g and σ 2 , E S i = z 2 H 2 ( f 1 | | f 2 | | . . . | | f r | | I K W | | I 2 | | I 3 | | p k E S i | | ψ 4 ) p k C S . Then, E S i sends the parameters ( C u i , j , σ 2 , E S i , ψ 4 , { f 0 } , I K W , I 2 , I 3 , { C 1 , 0 } , p k E S i ) to the cloud server for storage.

5.4. Cloud Server Ciphertext Resource Store

The cloud server receives the parameters ( C u i , j , σ 2 , E S i , ψ 4 , { f 0 } , { C 1 , 0 } , I K W , I 2 , I 3 , p k E S i ) , C S computes ϕ 2 , C S = H 3 ( f 1 | | f 2 | | . . . | | f r | | I K W | | I 2 | | I 3 | | p k E S i | | ψ 4 ) g and verifies the equation e ( σ 2 , E S i , s k C S 1 g ) = e ( ϕ 2 , C S , ψ 4 ) . If the equation holds, C S stores the ciphertext and keyword index.

5.5. Data User’s Trapdoor Generation

T r a p d o o r G e n ( Π , { ρ 0 , u j , k } , s 1 ) I 4 : Taking the data user demander u j , k in the management domain of E S j as an example, assume that u j , k has the attribute permission of ρ 0 , u j , k = { ρ 1 , u j , k , ρ 2 , u j , k , . . . , ρ r , u j , k } and the corresponding attribute sequence of S 0 , u j , k = { S 1 , S 2 , . . . , S r } . According to the corresponding access policy to obtain the matrix M, according to Section 3.3, we can obtain i = 1 r ω i M i = [ 1 , 0 , 0 , . . . , 0 ] T ; u j , k obtains { ω 1 , ω 2 , . . . , ω r } . u j , k computes ω 0 = ( ω 1 g , ω 2 g , . . . , ω r g ) and attribute permissions secret s 1 = i = 1 r H 2 ( ρ i , u j , k ) , mod q , where ρ i , u j , k is the universal element of set { ρ 1 , u j , k , ρ 2 , u j , k , . . . , ρ r , u j , k } that satisfies the access policy. u j , k randomly selects z 3 , z 4 Z q * and computes ψ 5 = z 3 g . Then, u j , k selects the keyword from the keyword dictionary and computes the parameter of the keyword trapdoor I 4 = H 3 ( s 1 ) H 1 ( k w i , u j , k ) . The signature information is σ 3 , u j , k = z 3 p k E S j H 3 ( ρ 1 , u j , k | | ρ 2 , u j , k | | . . . | | ρ r , u j , k | | ω 1 g | | ω 2 g | | . . . | | ω r g | | p k u j , k ) , u j , k sends the parameters ( σ 3 , u j , k , { ρ 0 , u j , k } , { ω 0 } , { S 0 , u j , k } , p k u j , k , i p u j , k , I 4 ) to the edge server managing the domain E S j .

5.6. Edge Server E S j Re-Encrypts Keyword Trapdoor

R e T r a p d o o r ( β , I 4 ) I 5 : E S j according to the serial number S 0 , u j , k = { S 1 , S 2 , . . . , S r } to find the corresponding attribute permissions, and then, computes ϕ 3 , E S j = H 3 ( ρ 1 , E S j | | ρ 2 , E S j | | . . . | | ρ r , E S j | | ω 1 g | | ω 2 g | | . . . | | ω r g | | p k u j , k ) g based on the serial number sent. If the equation e ( σ 3 , u j , k , s k E S j 1 g ) = e ( ϕ 3 , E S j , ψ 5 ) holds, E S j re-encrypts the keyword trapdoor I 5 = β I 4 and the keyword index secret-key share parameter C 2 , 0 = ( C 2 , 1 = β ω 1 g , C 2 , 2 = β ω 2 g , . . . , C 2 , r = β ω r g ) . E S j computes parameters ψ 6 = z 4 g and ϕ 4 , E S j = z 4 H 3 ( C 2 , 1 | | C 2 , 2 | | . . . | | C 2 , r | | ρ 1 , E S j | | ρ 2 , E S j | | . . . | | ρ r , E S j | | p k E S j ) g . Then, E S j sends parameters ( { C 2 , 0 } , { ρ 0 , E S j } , p k E S i , i p u i , j , ϕ 4 , E S j , ψ 6 , I 5 ) to the C S .

5.7. Cloud Server Keyword Search

V e r i f y ( I 6 , I 7 , I K W ) t r u e / f a l s e : After the C S receives parameters ( { C 2 , 0 } , { ρ 0 , E S j } , p k E S i , i p u i , j , ϕ 4 , E S j , ψ 6 , I 5 ) , the C S computes ϕ 5 , E S j = H 3 ( C 2 , 1 | | C 2 , 2 | | . . . | | C 2 , r | | ρ 1 , E S j | | ρ 2 , E S j | | . . . | | ρ r , E S j | | p k E S j ) g if the equation e ( ϕ 5 , E S j , ψ 6 ) = e ( ϕ 4 , E S j , g ) is true. And, if it is true C S computes I 6 = e ( C 1 , 1 , C 2 , 1 ) e ( C 1 , 2 , C 2 , 2 ) . . . e ( C 1 , r , C 2 , r ) = e ( g , g ) i = 1 r h i ω i = e ( g , s 0 g ) and I 7 = e ( I 5 , I 3 ) . C S matches the keyword trapdoor information by equation I 6 I 7 = I K W . C S verifies if the equation holds true, if the equation holds it means that the keyword information is matched successfully. Then, the C S retrieves the corresponding ciphertext resources and computes σ 4 , C S = H 2 ( f 1 | | f 2 | | . . . | | f r | | i p u j , k | | p k u j , k ) p k u j , k , the ciphertext parameters ( C u i , j σ 4 , C S , { f 0 } , i p u j , k ) are sent directly to u j , k through the i p u j , k .

5.8. Data User Decryption

D e c ( C u i , j , { f 0 } , P 1 ( x ) ) M u i , j : After receiving the parameters { C u i , j σ 4 C S , ( f 0 ) , i p u j , k } , u j , k decrypts and computes ϕ 6 u j , k = H 2 ( f 1 | | f 2 | | . . . | | f r | | i p u j , k | | p k u j , k ) g . By verifying the equation e ( σ 4 C S , s k u j , k 1 g ) = e ( ϕ 6 u j , k , g ) , if true, the decryption key is then computed. u j , k uses the encryption key factors ( f 1 , f 2 , . . . , f r ) of C u i , j , along with the attribute permissions { ρ 1 u j , k , ρ 2 u j , k , . . . , ρ r u j , k } it possesses, and parameters { x 1 , x 2 , . . . , x r } , where x i = H 2 ( ρ i u j , k ) mod q (for 1 i r ). For data users u j , k who satisfy the access policy, based on the Lagrange interpolation theorem they reconstruct the polynomial P 1 ( x ) using the parameters { ( x 1 , f 1 ) , ( x 2 , f 2 ) , . . . , ( x r , f r ) } and the equation P ( x ) = i = 1 r f i i ( x ) , where i ( x ) = p i ( x ) = j = 1 , j i r x x j x i x j . The polynomial P 1 ( x ) = d r 1 x r 1 + d r 2 x r 2 + . . . + d 1 x + d 0 is reconstructed. P 1 ( 0 ) = d 0 serves as the decryption key for the shared resource. The data user decrypts the resource M u i , j as M u i , j = C u i , j / e ( g , d 0 g ) to obtain the plaintext data.

6. Security Analysis

This scheme proposes a cross-domain secure data-sharing model to resist keyword guessing attacks. To demonstrate the correctness and security of the model, this section discusses the security analysis of the model.
Theorem 1.
If a probabilistic polynomial-time (PPT) adversary A can break the KGA security of our scheme with non-negligible advantage, then the simulator B can break the assumption of the DBDH problem with advantage ε.
Proof of Theorem 1.
We are assuming the existence of an adversary A that can break our protocol in polynomial time t by a non-negligible advantage ε ( t , ε ) in the IND-KGA security model; we construct a simulator B to solve the DBDH problem. Given an instance ( g , a g , b g , c g , Z ) of the problem on a bilinear pair of groups P G , where g is a generator of an additive group G 1 , a , b Z q * is randomly chosen, and let c o i n be a random bit 0 or 1, when c o i n = 0 , Z in this case can be equal to a b c g and when c o i n = 1 , Z is a random element in G 1 ; the interaction between the challenger and the adversary is as follows.
Init: Initialize the secret key of the keyword index as s 0 = a ; the challenger enters the public parameters [ g , a g ] to send to the attacker A ; the attacker selects the challenge access structure A and the set of challenged attributes { a t t 1 * , a t t 2 * , . . . , a t t r * } to send to B ; B randomly selects t i * Z q * ( 1 i r ) and computes the attribute permissions ρ 1 * = t 1 * H 1 ( a t t 1 * ) g , ρ 2 * = t 2 * H 1 ( a t t 2 * ) g , . . . , ρ r * = t r * H 1 ( a t t r * ) g , ρ 0 * = { ρ 1 * , ρ 2 * , . . . , ρ r * } and sends them to A .
Phase 1: A can query oracles that can be simulated by B as follows.
Hash query: The adversary performs a private-key hash query in this phase, the attacker computes the attribute permission secret key s 1 * = i = 1 r H 2 ( ρ i * ) mod q ( 1 i r ) , using j to represent the number of queries, where j [ 1 , Q H 3 ] and k [ 1 , Q H 1 ] , where Q H 1 and Q H 3 represent the number of queries to the random oracles H 1 and H 3 , respectively. The simulator B creates two hash lists to record all queries and responses, and the hash lists are initialized to be empty.
1.
Let the j-th query of H 3 be s 1 , j * ; if the hash list already has s 1 , j * corresponding options, the simulator B answers the query according to the hash list; otherwise, the simulator B randomly chooses a j Z q * , tosses a biased coin where c o i n { 0 , 1 } , where Pr [ c o i n = 0 ] = δ , and when c o i n = 1 , set H 3 ( s 1 , j * ) = a j g ; when c o i n = 0 , H 3 ( s 1 , j * ) = b g . The simulator B then marks H 3 ( s 1 , j * ) as the should for that query and adds the corresponding tuple < j , s 1 , j * , a j , H 3 ( s 1 , j * ) > to the hash table.
2.
The adversary A randomly selects keyword k w k from the keyword dictionary for each query; if there is already an item corresponding to k w k in the hash list, simulator B answers the query based on the hash list; otherwise, simulator B randomly selects Y k G 1 (the k-th query H 1 ( k w k ) of H 1 is y k , when c o i n = 1 , y k a j g = Y k ; when c o i n = 0 , y k b g = Y k ), and adds the tuple < g , k w k , Y k > to the hash list.
Attribute permissions secret-key extraction query: The adversary performs private-key interrogation in this phase. A queries the attribute permissions secret key of s 1 , j * such that < j , s 1 , j * , a j , H ( s 1 , j * ) > is the corresponding tuple; it randomly tosses a coin and aborts if c o i n = 1 ; otherwise, according to the simulation process, and computes E j = a j a g = a H 3 ( s 1 , j * ) , so that H 3 ( s 1 , j * ) is a valid intermediate parameter, and randomly choosing α j Z q * , computes the re-encryption attribute permissions secret key E j = α j a g and adds E j to this tuple < j , s 1 , j * , a j , H 3 ( s 1 , j * ) , E j , E j > .
Keyword trapdoor extraction query: The adversary A makes a keyword trapdoor query in this phase to respond to the keyword trapdoor extraction query; the simulator B maintains a list keyword trapdoor < g , y k , k w k > ; A selects the keyword k w k to be queried, and if c o i n = 0 , aborts; if c o i n = 1 , the simulation B process calculates that Y k = y k a j g , and therefore, Y k is a valid trapdoor corresponding to the keyword, and selects β k Z q * , where α j β k = 1 mod q , and re-encrypts the keyword trapdoor Y k = β k y k a j g . B adds Y k to that tuple < g , k w k , Y k , Y k > .
Challenge phase: Challenge phase: the adversary A selects two equal-length keywords k w 0 , k w 1 { 0 , 1 } * and a challenge attribute permission secret key s 1 , j * in the H 3 , H 1 hash list, s 1 , j * corresponding to the tuple < j , s 1 , j * , a j , H 3 ( s 1 , j * ) , E j , Y k > , if c o i n = 1 , it reports a failure and an abort; otherwise, if c o i n = 0 , it can obtain H 3 ( s 1 , i * ) = b g . k w 0 corresponding to the tuple < g , k w 0 , Y 0 , Y 0 > , k w 1 corresponding to the tuple < g , k w 1 , Y 1 , Y 1 > , and the simulator B randomly selects c o i n { 0 , 1 } again, and if c o i n = 1 , the simulator B reports a failure and an abort; if c o i n = 0 , the simulator A can compute the challenge keyword information as I * = e ( g , a g ) Z , where Z G 1 . If we make H 1 ( k w c o i n ) = c , we can compute Z = e ( E k , Y j ) = e ( β k c b g , α j a g ) = e ( c b g , a g ) = e ( g , g ) a b c , then we can obtain the challenge keyword trapdoor information I K W * = e ( g , g ) a e ( g , g ) a b c , and therefore, this challenge keyword parameter I * is the correct parameter corresponding to the attribute permission ρ 0 * and keyword trapdoor information k w c o i n .
Phase 2: A can adaptively interrogate queries for a polynomial a bounded number of times as in phase 1, but it cannot perform an attribute permissions secret-key extraction query for s 1 , i * and a keyword trapdoor extraction query for k w 0 and k w 1 , where k w * { k w 0 , k w 1 } .
Guess: Adversary A outputs a guess about the result of c o i n , c o i n = c o i n , the simulator outputs T r u e ; otherwise, it outputs F a l s e . We use e v e n t to denote that the simulator reports failed and aborted events during the game, and from the process above we can see that there are two cases: e v e n t 1 denotes that B reports failed and aborted events during attribute permissions secret-key extraction queries and keyword trapdoor extraction queries, e v e n t 2 denotes that B reports failed and aborted events during the generation of challenge permissions during the challenge phase and during the challenge trapdoor, Pr ( e v e n t 1 ¯ ) = ( 1 δ ) Q H 3 + Q H 1 , Pr ( e v e n t 2 ¯ ) = 1 ( 1 δ ) 2 because of Pr ( e v e n t ¯ ) = Pr ( e v e n t 1 ¯ ) · Pr ( e v e n t 2 ¯ ) . It can be computed when δ = 1 Q H 3 + Q H 1 2 + Q H 3 + Q H 1 , Pr ( e v e n t ¯ ) max = ( Q H 3 + Q H 1 Q H 3 + Q H 1 + 2 ) Q H 3 + Q H 1 2 · Q H 3 + Q H 1 Q H 3 + Q H 1 + 2 1 ( Q H 3 + Q H 1 ) e ( e 2.72 ) . It can be shown that the Pr [ e v e n t ¯ ] probability is non-negligible. □
The time cost of the simulation process is T s = O ( Q H 1 + Q H 3 ) . According to Equation (1), the probability that the simulator B can solve the DBDH problem is | Pr [ c o i n = c o i n   ` ] 1 2 | = ε 2 Pr [ e v e n t ¯ ] . If ε is non-negligible, simulator B will be able to solve the DBDH problem with ( t + T s , ε 2 Pr [ e v e n t ¯ ] ) . Since the DBDH problem is difficult, no attacker can break the IND-KGA security of our protocol.

7. Performance Analysis

In this section, we evaluate the performance aspects of the scheme, which we compare with the most advanced schemes [30,31,32,33,38,39,40,41]. We evaluate the performance of our scheme. In terms of theoretical performance, we mainly analyze the aspect of computational complexity. Then, we perform experimental comparisons using real datasets to demonstrate the feasibility and effectiveness of our scheme.

7.1. Functional Comparison

Before analyzing the performance of our scheme, we first compare the functionality of our scheme with several state-of-the-art schemes in Table 1. All the schemes in Table 1 satisfy fine-grained keyword search; Refs. [30,33,38] are based on the structural construction of an access tree, Ref. [39] is based on the structural construction of a hidden AND-tree; Ref. [32] and the present scheme are based on the structural construction of LSSS; all the schemes are efficient in terms of expressiveness. Refs. [30,32,39] cannot resist keyword guessing attacks; Refs. [30,33,38,39] cannot realize cross-domain data sharing; and only the present scheme supports resisting keyword guessing attack and cross-domain data sharing of the above schemes.

7.2. Theoretical Performance

The existing schemes’ computational times and storage costs are shown in Table 2 and Table 3, respectively, taking into account certain time-consuming operations. The bilinear pairing operation is denoted by T b p , the point addition operation is denoted by T p a in the additive group G 1 , and the exponential operation is denoted by T exp in the multiplication cyclic group G T . In addition, we consider | Z q * | to denote the length of an element in Z q * , and | G 1 | denotes the length of an element in group G 1 ; | G T | denotes the size of an element in group G T .
Key generation: Data users in our scheme need to obtain public and private key pairs and attribute permissions, and our scheme has a very significant reduction in computational overhead compared to the schemes in [31,32,38,39,40,41]. The data user obtains the corresponding attribute privileges by CA authentication computation for randomly selected attributes from the attribute collection, and our scheme significantly outperforms the compared schemes. Our scheme has slightly higher storage overhead compared to the scheme in [41], but it is superior to the schemes in [31,32,38,39,40]. It offers certain advantages in terms of storage overhead and shows significant advantages for data users with limited resources.
Encryption: Our scheme has a similar computational cost to the schemes in [38,40]. However, compared to the schemes in [31,32,39,41], our scheme has a lower overhead cost, making it more suitable for resource-constrained terminal devices. The storage overhead of our scheme is better than that of the schemes in [38,41], but higher than that of the schemes in [31,32,39]. However, since most of the storage overhead in our scheme is handled by the edge server, it does not impose any additional resource burden on data users.
Trapdoor generation: Our scheme has a lower overhead cost compared to the schemes in [31,32,38,39,40,41], because the trapdoor is generated based on the number of attribute permissions of the attribute endpoints that satisfy the access structure. In contrast, the schemes in [31,32,39,40] require 2 r exponential operations, the scheme in [38] requires ( 3 r + 2 ) exponential operations, and the scheme in [41] requires ( 4 r + 2 ) exponential operations. The storage cost of our scheme is slightly higher than that of the schemes in [31,32,39,41], but better than the schemes in [38,40]. Additionally, at this stage our scheme offloads part of the computation to the edge server, thereby reducing the actual storage costs for data users.
Keyword search: Our scheme’s efficiency in the search phase is comparable to the schemes in [38,41], but significantly better than the comparison schemes in [31,32,39,40]. This is because those comparison schemes incur time overhead due to 2 r bilinear pair operations, whereas our scheme only requires r bilinear pair operations, resulting in less overhead during the verification process. In terms of storage overhead, our scheme is on par with the comparison schemes in [31,32,39], and all are lower than those of the schemes in [38,40]. Although the scheme in [41] has certain advantages, our scheme performs searches in the cloud, ensuring that no extra storage space is occupied.
Decryption: In our scheme, data users decrypt based on an interpolated polynomial reduction key during the decryption process. The time overhead in this phase is highly efficient compared to the comparison schemes in [31,32]. Although it is higher than the scheme in [40], the computational overhead remains acceptable. Our scheme has the same storage overhead as the comparison scheme in [32], is lower than the schemes in [31,38], and is slightly higher than the scheme in [40]. Additionally, it does not incur any extra storage overhead.

7.3. Actual Performance

In this section, we tested on an Android device with 8.0 GB + 2.0 GB (HONOR RAM Turbo) of RAM and 256 GB of storage space, using the JPBC encryption library (version JPBC-2.0.0) in Java to measure the computational time for the processes used, as shown in Table 2 and Table 3. The process of testing the algorithm time is divided into two steps. First, the APK file is generated in Android Studio, and then, the APK file is run on the Android phone to obtain the corresponding algorithm time. The obtained calculation data are shown in Table 4.
We consider | Z q * | = 128 bit to denote the length of the elements in Z q * , | G 1 | = 512 bit to denote the length of the elements in G 1 , | G T | = 512 bit to denote the length of the elements in G T , and for ease of description, we assume that the range of the attributes is r [ 10 , 40 ] . In this paper, we show the performance characteristics of some of the main algorithms, key generation, encryption, trapdoor generation, keyword search, and decryption.
In Figure 5, we present the computational costs of key generation algorithms, illustrating variations in time consumption across the comparison schemes with r set to 10, 20, 30, and 40. When the number of attributes is 40, our scheme consistently exhibits the lowest computational cost, approximately 78.75 ms. In contrast, the time consumption of the comparison schemes in [31,32,39] is around 850 ms, while the scheme in [40] has the highest time consumption at 1191.73 ms, and the scheme in [41] shows a time consumption of 407.18 ms. In Figure 6, we analyze the storage overhead of key generation algorithms. Our scheme demonstrates the lowest storage consumption at 5.27 kb, highlighting a clear advantage over the schemes in [31,32,38,39,40]. Although the scheme in [41] has a lower storage overhead of 3.20 kb in key generation, our scheme still has an advantage over the storage overhead of other algorithms.
In Figure 7, we maintain r values from 10 to 40 to compare encryption algorithms. Our scheme demonstrates a time consumption of 477.24 ms, while the scheme from Ref. [38] shows 458.96 ms, and the scheme in [40] shows 446.89 ms. All of these schemes significantly outperform the schemes in [31,32,39,41]. In Figure 8, we analyze the storage overhead of the encryption algorithms. Our scheme has a storage consumption of 6.42 kb, which is slightly higher than the schemes in [31,32,39,40], but better than the storage overhead of the schemes in [38,41].
In Figure 9, we compare the computational costs of the trapdoor generation algorithms among the schemes in [31,32,39]. The time consumption for these three schemes is consistently 804.42 ms, while the scheme in [41] exhibits the highest time expenditure at approximately 1608.84 ms. Our scheme, with a time overhead of only 29.38 ms, demonstrates a significant advantage. In Figure 10, we analyze the storage overhead of the trapdoor algorithms. Our scheme has a storage overhead of 5.59 kb, which is slightly higher than the 5.09 kb overhead of the comparison schemes in [31,32,39], and the scheme in [41], but lower than the 10.25 kb overhead of the scheme in [38].
In Figure 11, we analyze the computational overhead of the keyword search algorithms. The schemes in [31,32,39] all have a time overhead of 986.6 ms. Our scheme shows a time overhead of 518.60 ms, which is comparable to the scheme in [38] with 514.23 ms and the scheme in [41] with 504.30 ms. The scheme in [40] has the highest time overhead at 1000.79 ms, ensuring efficient search for ciphertext information by data users. In Figure 12, we analyze the storage overhead of keyword search algorithms. Our scheme and the comparison schemes in [31,32,39] all have a storage overhead of 0.25 kb. Although the scheme in [41] has a lower storage overhead of 0.0625 kb, our scheme overall provides better performance. The scheme in [38] has the highest storage overhead at 2.56 kb.
In Figure 13, we analyze the computational overhead of the decryption algorithms. The scheme in [31] exhibits a computational overhead of 830.66 ms, while the schemes in [32,38] show time overheads of 976.67 ms and 518.48 ms, respectively. Our scheme achieves a time overhead of 423.55 ms, and although the scheme in [40] has a time overhead of 9.93 ms, our scheme still significantly outperforms it in overall computational cost. In Figure 14, we analyze the storage overhead of decryption algorithms with the number of system attributes set to 40. Both our scheme and the comparison scheme in [32] have the same storage overhead of 0.125 kb. In contrast, the schemes in [31,38] have storage overheads of 2.64 kb and 2.56 kb, respectively. Our scheme demonstrates a clear storage advantage in this phase, making it suitable for resource-constrained terminal devices.

8. Discussion

We have designed a new secure data-sharing model that uses an edge–cloud server architecture to enable secret resource sharing between data users across different domains. First, this model consists of algorithms with five stages, and compared to other schemes it shows significant advantages in terms of overall computational performance and storage consumption. The model supports fine-grained search characteristics during keyword searches in the cloud, and its lower computational overhead allows for faster responses in real-world environments. Second, the edge layer of the model uses group key agreement technology to re-encrypt ciphertext and keyword information, preventing keyword trapdoor guessing in the cloud and further enhancing security. Third, the model is based on the computational difficulty of the Decisional Bilinear Diffie–Hellman (DBDH) problem, and its security under the random oracle model is proven, ensuring theoretical completeness.
However, our model also has some drawbacks, such as handling attribute updates and revocations, updating and revoking data users, and whether it can allow data users to authenticate without a CA. A decentralized secure data-sharing model, where users authenticate themselves using their own public and private keys, could be explored. Currently, using a CA for authentication may impose a heavy computational burden on the CA. For future work, we will continue to explore attribute-based keyword search, focusing on flexible attribute updates, revocations, and traceability. In practical applications, both data users and attribute sets are dynamically changing. If user attributes are updated, how can secure data sharing be ensured? Thus, we need to address several challenges, such as revoking user permissions at specific attribute levels to allow secure data sharing and tracking malicious users’ identities. If a user’s identity is found to be malicious, it can be directly revoked to enhance the model’s robustness. Additionally, we aim to develop a decentralized secure data-sharing model that does not rely on CA authentication centers. Therefore, we will further optimize our model to improve its efficiency and adaptability across various environments.
For future work, we will continue to work on attribute-based keyword search, including flexible attribute updates, revocations, and traceability. In practical applications, data users and attribute sets are dynamically changing. If user attributes are updated, how to ensure secure data sharing? Therefore, some challenges need to be addressed, such as revoking the permissions of a user at a specific attribute level so that the user can still share data securely, and tracking the identity of malicious users. If the user identity is malicious, it can be directly revoked to make the model more complete. Therefore, in the future, SDSM-KGA will be further optimized to improve efficiency so that it can be used in various environments.

9. Conclusions

In this work, we propose the secure data-sharing model resisting keyword guessing attacks in edge–cloud collaboration scenarios (SDSM-KGA). On the one hand, SDSM-KGA can greatly reduce the computation and storage burden through the edge layer without leaking sensitive information. On the other hand, the SDSM-KGA supports fine-grained keyword search and resists keyword guessing attacks in the cloud. Furthermore, standard security analyses demonstrate that it is capable of resisting keyword guessing attacks (KGAs) in the random oracle model. This empirical experiment using a cryptographic database illustrates the efficiency and feasibility of SDSM-KGA.

Author Contributions

Conceptualization, Y.L. and M.X.; methodology, M.X.; validation, M.X., Q.Z. and J.Y.; formal analysis, J.Y. and H.Z.; resources, Y.L.; data curation, M.X.; writing—original draft preparation, M.X.; writing—review and editing, Y.L.; visualization, Y.L.; supervision, J.Y. and H.Z; project administration, Y.L and H.Z. 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 under Grant No. 61971380, 61772477, and the key technologies R&D Program of Henan Province (No. 242102211098), and the research funding of Key Laboratory of Big Data Intelligent Computing (No. BDIC-2023-B-006).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Pan, J.; McElhannon, J. Future edge cloud and edge computing for internet of things applications. IEEE Internet Things J. 2017, 5, 439–449. [Google Scholar] [CrossRef]
  2. Arthurs, P.; Gillam, L.; Krause, P.; Wang, N.; Halder, K.; Mouzakitis, A. A taxonomy and survey of edge cloud computing for intelligent transportation systems and connected vehicles. IEEE Trans. Intell. Transp. Syst. 2021, 23, 6206–6221. [Google Scholar] [CrossRef]
  3. Lakhan, A.; Sodhro, A.H.; Majumdar, A.; Khuwuthyakorn, P.; Thinnukool, O. A lightweight secure adaptive approach for internet-of-medical-things healthcare applications in edge-cloud-based networks. Sensors 2022, 22, 2379. [Google Scholar] [CrossRef]
  4. Alouffi, B.; Hasnain, M.; Alharbi, A.; Alosaimi, W.; Alyami, H.; Ayaz, M. A systematic literature review on cloud computing security: Threats and mitigation strategies. IEEE Access 2021, 9, 57792–57807. [Google Scholar] [CrossRef]
  5. Saxena, D.; Gupta, I.; Singh, A.K.; Lee, C.N. A fault tolerant elastic resource management framework toward high availability of cloud services. IEEE Trans. Netw. Serv. Manag. 2022, 19, 3048–3061. [Google Scholar] [CrossRef]
  6. Gupta, I.; Singh, A.K. SELI: Statistical evaluation based leaker identification stochastic scheme for secure data sharing. IET Commun. 2020, 14, 3607–3618. [Google Scholar] [CrossRef]
  7. Gupta, I.; Singh, A.K. GUIM-SMD: Guilty user identification model using summation matrix-based distribution. IET Inf. Secur. 2020, 14, 773–782. [Google Scholar] [CrossRef]
  8. Wang, C.; Li, W.; Li, Y.; Xu, X. A ciphertext-policy attribute-based encryption scheme supporting keyword search function. In Proceedings of the Cyberspace Safety and Security: 5th International Symposium, CSS 2013, Zhangjiajie, China, 13–15 November 2013; pp. 377–386. [Google Scholar]
  9. Byun, J.W.; Rhee, H.S.; Park, H.A.; Lee, D.H. Off-line keyword guessing attacks on recent keyword search schemes over encrypted data. In Proceedings of the Workshop on Secure Data Management, Seoul, Republic of Korea, 10–11 September 2006; pp. 75–83. [Google Scholar]
  10. Yau, W.C.; Heng, S.H.; Goi, B.M. Off-line keyword guessing attacks on recent public key encryption with keyword search schemes. In Proceedings of the Autonomic and Trusted Computing: 5th International Conference, ATC 2008, Oslo, Norway, 23–25 June 2008; pp. 100–105. [Google Scholar]
  11. Song, D.X.; Wagner, D.; Perrig, A. Practical techniques for searches on encrypted data. In Proceedings of the Proceeding 2000 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 14–17 May 2000; pp. 44–55. [Google Scholar]
  12. Li, J.; Huang, Y.; Wei, Y.; Lv, S.; Liu, Z.; Dong, C.; Lou, W. Searchable symmetric encryption with forward search privacy. IEEE Trans. Dependable Secur. Comput. 2019, 18, 460–474. [Google Scholar] [CrossRef]
  13. Chen, G.; Lai, T.H.; Reiter, M.K.; Zhang, Y. Differentially private access patterns for searchable symmetric encryption. In Proceedings of the IEEE INFOCOM 2018-IEEE Conference on Computer Communications, Honolulu, HI, USA, 16–19 April 2018; pp. 810–818. [Google Scholar]
  14. Gui, Z.; Paterson, K.G.; Patranabis, S. Rethinking searchable symmetric encryption. In Proceedings of the 2023 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 22–25 May 2023; pp. 1401–1418. [Google Scholar]
  15. Boneh, D.; Di Crescenzo, G.; Ostrovsky, R.; Persiano, G. Public key encryption with keyword search. In Proceedings of the Advances in Cryptology-EUROCRYPT 2004: International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; pp. 506–522. [Google Scholar]
  16. Chen, B.; Wu, L.; Li, L.; Choo, K.K.R.; He, D. A parallel and forward private searchable public-key encryption for cloud-based data sharing. IEEE Access 2020, 8, 28009–28020. [Google Scholar] [CrossRef]
  17. Lu, Y.; Li, J. Privacy-preserving and forward public key encryption with field-free multi-keyword search for cloud encrypted data. IEEE Trans. Cloud Comput. 2023, 11, 3619–3630. [Google Scholar] [CrossRef]
  18. Cheng, L.; Meng, F. Server-Aided Public Key Authenticated Searchable Encryption With Constant Ciphertext and Constant Trapdoor. IEEE Trans. Inf. Forensics Secur. 2023, 19, 1388–1400. [Google Scholar] [CrossRef]
  19. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-policy attribute-based encryption. In Proceedings of the 2007 IEEE Symposium on Security and Privacy (SP’07), Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  20. 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]
  21. Waters, B. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization. In Proceedings of the International Workshop on Public Key Cryptography, Taormina, Italy, 6–9 March 2011; pp. 53–70. [Google Scholar]
  22. Lewko, A.; Waters, B. New proof methods for attribute-based encryption: Achieving full security through selective techniques. In Proceedings of the Annual Cryptology Conference, Santa Barbara, CA, USA, 9–23 August 2012; pp. 180–198. [Google Scholar]
  23. Zheng, Q.; Xu, S.; Ateniese, G. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data. In Proceedings of the IEEE INFOCOM 2014-IEEE Conference on Computer Communications, Toronto, ON, Canada, 23 April–2 May 2014; pp. 522–530. [Google Scholar]
  24. Liu, P.; Wang, J.; Ma, H.; Nie, H. Efficient verifiable public key encryption with keyword search based on KP-ABE. In Proceedings of the 2014 Ninth International Conference on Broadband and Wireless Computing, Communication and Applications, Guangzhou, China, 8–10 November 2014; pp. 584–589. [Google Scholar]
  25. Liang, K.; Susilo, W. Searchable attribute-based mechanism with efficient data sharing for secure cloud storage. IEEE Trans. Inf. Forensics Secur. 2015, 10, 1981–1992. [Google Scholar] [CrossRef]
  26. Miao, Y.; Ma, J.; Jiang, Q.; Li, X.; Sangaiah, A.K. Verifiable keyword search over encrypted cloud data in smart city. Comput. Electr. Eng. 2018, 65, 90–101. [Google Scholar] [CrossRef]
  27. Sun, W.; Yu, S.; Lou, W.; Hou, Y.T.; Li, H. Protecting your right: Verifiable attribute-based keyword search with fine-grained owner-enforced search authorization in the cloud. IEEE Trans. Parallel Distrib. Syst. 2014, 27, 1187–1198. [Google Scholar] [CrossRef]
  28. Cui, J.; Zhou, H.; Zhong, H.; Xu, Y. AKSER: Attribute-based keyword search with efficient revocation in cloud computing. Inf. Sci. 2018, 423, 343–352. [Google Scholar] [CrossRef]
  29. Wang, N.; Fu, J.; Bhargava, B.K.; Zeng, J. Efficient retrieval over documents encrypted by attributes in cloud computing. IEEE Trans. Inf. Forensics Secur. 2018, 13, 2653–2667. [Google Scholar] [CrossRef]
  30. Meng, F.; Cheng, L.; Wang, M. ABDKS: Attribute-based encryption with dynamic keyword search in fog computing. Front. Comput. Sci. 2021, 15, 155810. [Google Scholar] [CrossRef]
  31. Miao, Y.; Liu, X.; Choo, K.K.R.; Deng, R.H.; Li, J.; Li, H.; Ma, J. Privacy-preserving attribute-based keyword search in shared multi-owner setting. IEEE Trans. Dependable Secur. Comput. 2019, 18, 1080–1094. [Google Scholar] [CrossRef]
  32. 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. 2021, 11, 971–983. [Google Scholar] [CrossRef]
  33. Li, J.; Wang, M.; Lu, Y.; Zhang, Y.; Wang, H. ABKS-SKGA: Attribute-based keyword search secure against keyword guessing attack. Comput. Stand. Interfaces 2021, 74, 103471. [Google Scholar] [CrossRef]
  34. Zhang, K.; Zhang, Y.; Li, Y.; Liu, X.; Lu, L. A blockchain-based anonymous attribute-based searchable encryption scheme for data sharing. IEEE Internet Things J. 2023, 11, 1685–1697. [Google Scholar] [CrossRef]
  35. Ge, C.; Susilo, W.; Liu, Z.; Xia, J.; Szalachowski, P.; Fang, L. Secure keyword search and data sharing mechanism for cloud computing. IEEE Trans. Dependable Secur. Comput. 2020, 18, 2787–2800. [Google Scholar] [CrossRef]
  36. Ge, C.; Susilo, W.; Liu, Z.; Baek, J.; Luo, X.; Fang, L. Attribute-Based Proxy Re-Encryption With Direct Revocation Mechanism for Data Sharing in Clouds. IEEE Trans. Dependable Secur. Comput. 2023, 21, 949–960. [Google Scholar] [CrossRef]
  37. Agrawal, S.; Chase, M. FAME: Fast attribute-based message encryption. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 665–682. [Google Scholar]
  38. Miao, Y.; Ma, J.; Liu, X.; Weng, J.; Li, H.; Li, H. Lightweight fine-grained search over encrypted data in fog computing. IEEE Trans. Serv. Comput. 2018, 12, 772–785. [Google Scholar] [CrossRef]
  39. 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, 1–12. [Google Scholar] [CrossRef]
  40. Zhang, D.; Wang, S.; Zhang, Q.; Zhang, Y. Attribute Based Conjunctive Keywords Search With Verifiability and Fair Payment Using Blockchain. IEEE Trans. Serv. Comput. 2023, 16, 4168–4182. [Google Scholar] [CrossRef]
  41. Zhang, K.; Jiang, Z.; Ning, J.; Huang, X. Subversion-Resistant and Consistent Attribute-Based Keyword Search for Secure Cloud Storage. IEEE Trans. Inf. Forensics Secur. 2022, 17, 1771–1784. [Google Scholar] [CrossRef]
Figure 1. Simplified process for our model.
Figure 1. Simplified process for our model.
Electronics 13 03236 g001
Figure 2. Problems solved by the methodology.
Figure 2. Problems solved by the methodology.
Electronics 13 03236 g002
Figure 3. System model.
Figure 3. System model.
Electronics 13 03236 g003
Figure 4. Interaction process of different SDSM-KGA algorithms.
Figure 4. Interaction process of different SDSM-KGA algorithms.
Electronics 13 03236 g004
Figure 5. Computational costs in KeyGen. (The red line of MKS-VABKS overlaps with the purple line of ABKS-SM).
Figure 5. Computational costs in KeyGen. (The red line of MKS-VABKS overlaps with the purple line of ABKS-SM).
Electronics 13 03236 g005
Figure 6. Storage costs in KeyGen. (The red line of MKS-VABKS overlaps with the purple line of ABKS-SM).
Figure 6. Storage costs in KeyGen. (The red line of MKS-VABKS overlaps with the purple line of ABKS-SM).
Electronics 13 03236 g006
Figure 7. Computational costs in Enc.
Figure 7. Computational costs in Enc.
Electronics 13 03236 g007
Figure 8. Storage costs in Enc.
Figure 8. Storage costs in Enc.
Electronics 13 03236 g008
Figure 9. Computational costs in TrapdoorGen. (The red line of MKS-VABKS and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Figure 9. Computational costs in TrapdoorGen. (The red line of MKS-VABKS and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Electronics 13 03236 g009
Figure 10. Storage costs in TrapdoorGen. (The red line of MKS-VABKS, the blue line of HP-CPABKS, and the purple line of ABKS-SM overlap with the cyan line of CABKS-CRF.)
Figure 10. Storage costs in TrapdoorGen. (The red line of MKS-VABKS, the blue line of HP-CPABKS, and the purple line of ABKS-SM overlap with the cyan line of CABKS-CRF.)
Electronics 13 03236 g010
Figure 11. Computational costs in Keyword Search. (The red line of MKS-VABKS and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Figure 11. Computational costs in Keyword Search. (The red line of MKS-VABKS and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Electronics 13 03236 g011
Figure 12. Storage costs in Keyword Search. (The gray line of our scheme, the red line of MKS-VABKS, and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Figure 12. Storage costs in Keyword Search. (The gray line of our scheme, the red line of MKS-VABKS, and the blue line of HP-CPABKS overlap with the purple line of ABKS-SM.)
Electronics 13 03236 g012
Figure 13. Computational costs in Dec.
Figure 13. Computational costs in Dec.
Electronics 13 03236 g013
Figure 14. Storage costs in Dec. (The gray line of our scheme overlaps with the red line of MKS-VABKS.)
Figure 14. Storage costs in Dec. (The gray line of our scheme overlaps with the red line of MKS-VABKS.)
Electronics 13 03236 g014
Table 1. Functional comparison of various schemes.
Table 1. Functional comparison of various schemes.
SchemeFunction 1 1Function 2 2Function 3 3Function 4 4
ABDKS [30]Tree
MKS-VABKS [32]LSSS
HP-CPABKS [39]AND-gates
LFGS [38]Tree
ABKS-SKGA [33]Tree
OursLSSS
1 Function 1: fine-grained keyword search. 2 Function 2: access structure. 3 Function 3: keyword guessing attacks. 4 Function 4: cross-domain data share.
Table 2. Computational costs in various schemes.
Table 2. Computational costs in various schemes.
AlgorithmOur SchemeMKS-VABKS [32]HP-CPABKS [39]LFGS [38]ABKS-SM [31]ABCKS [40]CABKS-CRF [41]
KeyGen ( 2 r + 6 ) T p a + ( 2 r + 2 ) T i n v + 6 T b p ( 2 r + 6 ) T exp ( 2 r + 2 ) T exp ( r + 5 ) T exp ( 6 + 2 r ) T exp 3 r T exp ( r + 1 ) T exp
r = 40 78.75 ms854.07 ms814.35 ms446.90 ms854.07 ms1191.73 ms407.18 ms
Encryption ( r 1 ) T exp + ( 2 r + 11 ) T p a + 7 T b p ( 2 r + 6 ) T exp ( 2 r + 2 ) T exp ( r + 5 ) T exp + T b p ( 7 + 2 r ) T exp ( r + 5 ) T exp ( 8 T exp + 3 T b p ) ( r + 1 )
r = 40 477.24 ms854.07 ms814.35 ms448.96 ms864.01 ms446.90 ms4740.05 ms
Trapdoor Gen 2 T b p + ( 2 r + 7 ) T p a ( 2 r + 1 ) T exp ( 2 r + 1 ) T exp ( 3 r + 2 ) T exp ( 2 r + 1 ) T exp ( 2 r + 3 ) T exp ( 4 r + 2 ) T exp
r = 40 29.38 ms804.42 ms804.42 ms1211.59 ms804.42 ms824.28 ms1608.84 ms
Search ( r + 3 ) T b p + 2 T p a ( 2 r + 1 ) T b p + T exp ( 2 r + 1 ) T b p + T exp ( r + 1 ) T b p + 2 T exp ( 1 + 2 r ) T b p + T exp ( 2 r + 3 ) T b p ( r + 1 ) T b p + T exp
r = 40 518.60 ms986.60 ms986.60 ms514.23 ms986.60 ms1000.80 ms504.30 ms
Decryption T p a + 3 T b p + ( r 1 ) T exp ( 2 r + 1 ) T b p ( r + 3 ) T b p 2 r T exp + 3 T b p T exp
r = 40 423.55 ms976.67 ms 518.48 ms830.66 ms9.93 ms
Table 3. Storage costs of various schemes.
Table 3. Storage costs of various schemes.
AlgorithmOur SchemeMKS-VABKS [32]HP-CPABKS [39]LFGS [38]ABKS-SM [31]ABCKS [40]CABKS-CRF [41]
KeyGen ( 2 r + 4 ) | G 1 | + | Z q * | ( 2 r + 5 ) | G T | + ( r + 3 ) | Z q * | ( 2 r + 1 ) | G 1 | + ( r + 2 ) | Z q * | ( 3 r + 9 ) | G T | + 2 | Z q * | ( 2 r + 5 ) | G T | + ( r + 3 ) | Z q * | 3 r | G T | + r | Z q * | ( | G T | + | Z q * | ) ( r + 1 )
r = 40 5.27 kb5.98 kb5.72 kb8.09 kb5.98 kb8.13 kb3.20 kb
Encryption ( 2 r + 9 ) | G 1 | + ( r + 3 ) | Z q * | + 3 | G T | ( 2 r + 1 ) | G T | + 2 | Z q * | ( 2 r + 1 ) | G T | + ( r + 1 ) | Z q * | ( 2 r + 8 ) | G T | + ( 2 r + 1 ) | Z q * | ( 2 r + 6 ) | G T | + ( r + 2 ) | Z q * | ( 2 r + 2 ) | G T | + | Z q * | ( 5 r + 4 ) | G T | + 2 | Z q * |
r = 40 6.42 kb6.09 kb5.70 kb6.77 kb6.03 kb5.14 kb12.78 kb
Trapdoor Gen 2 | Z q * | + ( 2 r + 7 ) | G 1 | + 2 | G T | ( 2 r + 1 ) | G T | + 2 | Z q * | ( 2 r + 1 ) | G T | + 2 | Z q * | ( 4 r + 3 ) | G T | + 4 | Z q * | ( 2 r + 1 ) | G T | + 2 | Z q * | 3 r | G T | + | Z q * | ( 2 r + 1 ) | G T | + 2 | Z q * |
r = 40 5.59 kb5.09 kb5.09 kb10.25 kb5.09 kb7.52 kb5.09 kb
Search 2 | G T | + 2 | G 1 | 4 | G T | 4 | G T | ( r + 1 ) | G T | 4 | G T | 5 | G T | | G T |
r = 40 0.25 kb0.25 kb0.25 kb2.56 kb0.25 kb0.3125 kb0.0625 kb
Decryption 2 | G 1 | 2 | G T | ( r + 2 ) | G T | + | Z q * | ( r + 1 ) | G T | | G T |
r = 40 0.125 kb0.125 kb 2.64 kb2.56 kb0.0625
Table 4. Time of operation execution.
Table 4. Time of operation execution.
Computation TypeOperational Time (ms)
T b p  1 T b p 12.0577
T exp  2 T exp 9.9311
T p a  3 T p a 0.0605
T i n v  4 T i n v 0.0146
1 Bilinear pair operation. 2 Exponential operations. 3 Point addition on elliptic curves. 4 Modular inversion operation.
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

Li, Y.; Xiong, M.; Yuan, J.; Zhang, Q.; Zhu, H. A Secure Data-Sharing Model Resisting Keyword Guessing Attacks in Edge–Cloud Collaboration Scenarios. Electronics 2024, 13, 3236. https://doi.org/10.3390/electronics13163236

AMA Style

Li Y, Xiong M, Yuan J, Zhang Q, Zhu H. A Secure Data-Sharing Model Resisting Keyword Guessing Attacks in Edge–Cloud Collaboration Scenarios. Electronics. 2024; 13(16):3236. https://doi.org/10.3390/electronics13163236

Chicago/Turabian Style

Li, Ye, Mengen Xiong, Junling Yuan, Qikun Zhang, and Hongfei Zhu. 2024. "A Secure Data-Sharing Model Resisting Keyword Guessing Attacks in Edge–Cloud Collaboration Scenarios" Electronics 13, no. 16: 3236. https://doi.org/10.3390/electronics13163236

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