# Privacy-Preserving Task Distribution Mechanism with Cloud-Edge IoT for the Mobile Crowdsensing

Authors: Liquan Jiang; Zhiguang Qin
Journal: Security and Communication Networks
 (2022)

---

## Abstract

Mobile crowdsensing under big data provides an efficient, win-win, and low-budget data collection solution for IoT applications such as the smart city. However, its open and all access scenarios raise the threat of data security and user privacy during task distribution of mobile crowdsensing. To eliminate the above threat, this paper first designs a privacy-preserving task distribution scheme (Scheme 1), which realizes fine-grained access control and the practical keyword search, as well as protects the access policy. But it incurs expensive computational and communication consumptions for the task performer side. In this regard, we construct Scheme 2 to attain a lightweight trapdoor generation and keyword search mechanism, and it enables the crowdsensing platform to predecrypt a ciphertext without revealing any information about the task and the performer’s privacy. Then, the resource-constrained device on the task performer side can recover the task with a few computational and communication overheads. The security of the scheme has been detailedly proved and analyzed, and theoretical comparisons and experiment demonstrate their practicability.


---

## Body

## 1. Introduction

The Internet of Things (IoT) [1, 2] paradigm realizes timely response to events and real-time collection and processing of huge amounts of data by connecting a large number of intelligent sensing devices with communication, storage, and computing capabilities through wireless sensor networks (WSN) [3]. Benefiting from the distributed network architecture and the potential raised by massive data, IoT is expected to promote innovation and development in many fields, improve user experience, and explore higher management levels. More specifically, as a public service blueprint supported by big data [5], many fields of smart city construction (city governance, smart transportation [4], smart medical care [6, 7], for instance) are expected to benefit greatly from the deployment of IoT. In addition to relying on the widely deployed sensing devices (including sensors, surveillance cameras, and GPS devices) in urban to monitor and collect massive amounts of data in real time, by introducing the mobile crowdsensing schema, residents are encouraged to actively participate in city governance and use their smart mobile devices (such as smartphone) to capture and upload events that are hard to detect, is considered to be a low-cost and emerging trend in the IoT-oriented smart city construction [8].The mobile crowdsensing systems can be categorized as “participatory” and “opportunistic” according to task allocation strategy [8]. In a typical opportunistic mobile crowdsensing system [9], the system can adaptively assign optimal sensors to collect sensing data based on the operational scenario. This strategy guarantees the efficiency and accuracy of data collection, but at the cost of system flexibility and resident participation. As a flexible crowdsensing strategy emphasizes open participation, participatory mobile crowdsensing enables the urban administrator to publish some “tasks” in the crowdsensing platform, and then, any resident owns a fair opportunity to bid for these tasks. In a more professional view, as illustrated in Figure 1 [10], the urban administrator acts as the requester, designs, and releases tasks to the crowdsensing platform. The task performer played by the resident scans the crowdsensing platform, chooses, and then subscribes to an available task. The task performer then executes his/her task and gets a reward by collecting via various embedded sensors and uploading sensing data within a specified time. Finally, the requester aggregates and filters the sensing dataset to obtain the optimal subset [11].Figure 1
An overview of mobile crowdsensing system.Featured with public access accessibility, low cost, and efficiency, mobile crowdsensing system wins widespread popularity and has been increasingly deployed in the public utilities IoT applications. On the other hand, however, privacy and data security issues in practical scenarios raise as a broad concern. Data circulating in the mobile crowdsensing system including task messages released by requesters and the sensing data collected by task performers, and it is possible for the attacker to conduct an attack by exploiting these two types of data. Specifically speaking, for instance, attackers may extract and analyze the weaknesses of urban facilities from the task message and then further break the vulnerable infrastructure such as the power grid system. On the other side, the attacker can also reveal the privacy information (for example, the home address, commutes route) of task performers from the sensing data [12]. For the sensing data, a public-key cryptosystem [13] is evaluated to be a feasible privacy protection strategy; that is, the task performer encrypts the sensing data with the public key previously released by the requester, and then, the requester can decrypt it to recover the plaintext-form sensing data [14]. However, the same cryptographic measure may not work for the task message, since the requester cannot predict which specific task performer would take over a task, and she/he is restricted to only encrypting and uploading a task message after confirming each task performer, which would reduce the efficiency of the mobile crowdsensing system. Besides, this measure also arouses worries about computational efficiency and the identity privacy of task performers. That is, for a task that requires multiple participants, the requester has to separately encrypt the same task message with the public key of each task performer, which incurs heavy computational overheads. And in this circumstance, the fact that the requester reveals which task performers subscribed to the task (in other words, breaks their identity privacy) is also self-evident.Fortunately, attribute-based encryption (ABE) [15] provides the fine-grained, one-to-many, and privacy-preserving access control mechanism and is expected to break the above efficiency and privacy dilemma of the cryptosupported mobile crowdsensing system. In a typical ABE scheme, the task performer is labeled with a set of descriptive attributes, while a task message is encrypted with a specified attribute structure. A task performer can recover the task message if and only if his/her attribute set satisfies the access structure. This implies that the requester is just required to assign an [16–20] access structure and encrypt the task message for one time, and then, all task performers whose attribute sets satisfy the access structure are authorized to access the task message. In the process, the requester can reveal nothing about the task performer’s identity, while only knowing s/he is an anonymous performer who holds a certain set of attributes.Inspired by that, the latest research works put forward the solutions for the secure task distribution in mobile crowdsensing. However, there exist some gaps between these theoretically feasible solutions [10, 22, 24, 26, 36] and the practicality of mobile crowdsensing. Specifically, first, there is a practical issue that task performers have to locate their desired task among the stored ciphertext before downloading and decryption. Although there are some ABE-based solutions [26] that support keyword search, they are also hard to be practically deployed on mobile crowdsensing platforms for their cumbersome search procedures. Secondly, existing solutions (such as [10, 22]) are subject to heavy computational and storage overheads of the mobile terminal in the decryption side. This performance issue prevents them from further deployment in the mobile crowdsensing platform. Thirdlyin current ABE-based task distribution solutions for mobile crowdsensing, the sensitive information (such as the occupation and preference) about the task performer may be exposed from the public available access policy. Wang et al. provide a solution to this issue by hiding the access policy, but their solution also suffers from unworkable and cumbersome operations. To date, no work has systematically filled the above gaps by proposing a practical solution for task distribution in the mobile crowdsensing.


### 1.1. Contribution

In this paper, we put forward an efficient and privacy-preserving task distribution scheme (Scheme 1) and an edge-assisted scheme (Scheme 2) for IoT-oriented mobile crowdsensing, as the complete solution to fill the above gaps between current solutions and the practicality of mobile crowdsensing. Specifically, the contributions in our paper are described as follows.(i)
Fine-Grained Access Control with Policy Hidden for the Task Distribution. Inheriting the feature of one-to-many and fine-grained access from ABE, our solution enables the requester to share task messages with multiple task performers with encryption for only one time. During this process, the requester cannot and needs not to confirm the identity of each task performer. We then separate the attribute value from the attribute, thus hiding the specific attributes contained in the access structure, for preventing the sensitive information of the task performer from being leaked.(ii)
Lightweight Keyword Search for the Encrypted Tasks. It is obviously impractical for a task performer to search his/her desired ciphertext by downloading all ciphertext and seriatim decrypting them. To content the requirement that the task performer retrieves desired ciphertexts without decrypting, Scheme 1 designs the ciphertext keyword retrieval mechanism, in which the requester chooses a keyword that is associated with the task and then generates an “index,” and the task performer computes a “trapdoor” with his interested keyword. The crowdsensing platform can search those related ciphertexts by using the trapdoor, and during the process, the crowdsensing platform cannot learn any information about the task and the keyword. In Scheme 2, we further improve Scheme 1 by reducing the computational and communication cost of trapdoor generation and delivery for the performer side, as well as the cost of search on ciphertexts for the crowdsensing platform.(iii)
Lightweight Decryption Operations. To alleviate the computational overheads of the resource-constrained device on the task performer side, we delegate the decryption operation that should be assumed by the performer to the edge device in Scheme 2. Distinct from [10], in our solution, the edge device is considered to be semitrusted, which implies that we can prevent it from obtaining sensitive information including the user secret key.


### 1.2. Related Works

A sequence of solutions has been designed for the issues of data security and privacy protection of the task distribution phase in IoT-oriented mobile crowdsensing recently. Tao et al. [16] presented an anonymous bilateral authentication mechanism to guarantee the data authenticity while protecting the task performer’s identity privacy. Besides, they designed to solve the problem of large-scale key management in practical scenarios by using the pseudonym set. The requester usually requires the location of task performers to optimize task allocation, but it may reveal the location privacy of task performers. To protect the location privacy, Wang et al. [17] presented to fuzz the accurate location under the differential privacy constraint, thus protecting the location privacy. Karati and Biswas [18] proposed to simultaneously protect the data confidentiality and authenticity by inducing the identity-based encryption and designated verifier signature scheme. They also removed all pairing operations in their solution to improve the performance of cryptographic calculations. Ni et al. [19] proposed the SPOON scheme to attain the privacy protection of mobile users for task allocation. Specifically, it guarantees the confidentiality and authenticity of tasks with proxy reencryption and BBS+ [21] signature and uses an anonymous mechanism to protect the mobile user’s identity privacy.Motivated by the feature of fine-grained and one-to-many access control of ABE, there are some works designed to integrate ABE into the data security and privacy protection strategy in mobile crowdsensing task distribution. Zhang et al. [36] proposed an ABE scheme with direct user revocation, which provides fine-grained access control on the encrypted time-sensitive task message for hierarchical task performers in a mobile crowdsensing system. Xue et al. [22] realized fine-grained and forward secure task access control in mobile crowdsensing by integrating ABE with Bloom filter encryption [23]. Besides, a “puncture” mechanism is imposed to the user secret key to prevent key reuse. Nkenyereye et al. [24] put forward a secure protocol based on ABE for mobile crowdsensing in the fog-based vehicular cloud [25], which supports policy updates for the fine-grained access control. Besides, they simultaneously protect the data authenticity and identity privacy with the pseudo-identity-based signature mechanism. To content the practical requirement that task performers search for some interested ciphertexts without decrypting them, Miao et al. [26] designed an ABE scheme with multikeyword search for mobile crowdsensing, and it realizes the flexible and comparable attribute access control by using the 1-encoding and 0-encoding technology [27]. Miao et al. [28] then presented a universal ABE scheme with ciphertext keyword search under the shared multiple data owners setting, and they also designed to hide the access policy to prevent the privacy information of data users from being revealed from their attributes. However, this scheme suffers from expensive computational consumption of the operations of ciphertext keyword search and decryption. Also aiming at attribute privacy, Zeng et al. [29] proposed a secure data sharing scheme for the medical IoT based on the partially policy-hidden ABE. In addition, it supports scalable flexibility and security: specifically, it is available for large attribute universe and user decryption key trace. Han et al. [30] proposed an ABE scheme with a similar partial policy-hiding mechanism, which also provides the user revocation and user decryption tracing to prevent the maliciously key leakage of a data user. Phuong et al. [44] put forward a fully policy-hidden ABE scheme, and as its name implies, it reveals nothing about the attributes in the access policy. But it is evaluated to be too inefficient to be practically deployed for its cumbersome algorithm structure. On this basis, Zhang et al. [31] alleviated the decryption overheads by applying the secure outsourced computing technology, but the system still cannot escape from the complicated algorithm structure. To address this problem, more recently, Ying et al. [32] constructed a novel fully policy-hidden ABE scheme with significant efficiency improvements by their designed security-enhanced Attribute Cuckoo Filter. This scheme also subtly integrates policy hiding into a policy update system.Focus on the efficiency improvement, Tang et al. [33] indicated to alleviate the computational overheads of task encryption and decryption phase with online/offline encryption [34] and outsourced decryption [35] technology and designed to recommend the optimal task for task performers with the claimed “win-win” strategy. More recently, Wang et al. [10] presented a fine-grained access control protocol for the mobile crowdsensing platform, which enables the lightweight keyword generation and search and specifies the crowdsensing platform to predecrypt the ciphertext to reduce the computational overheads of the task performer side. However, their proposal is insecure unless they assumed the crowdsensing platform to be fully trusted, since they direct deliver the performer’s user secret key to the crowdsensing platform.


### 1.3. Organizations

The remainder of this paper is organized as follows: Section2 enumerates the preliminaries of our work, Section 3 presents the first scheme, Section 4 analyzes the security of the first scheme, Section 5 describes the second lightweight scheme, Section 6 evaluates the performance, and Section 7 concludes our work.


## 1.1. Contribution

In this paper, we put forward an efficient and privacy-preserving task distribution scheme (Scheme 1) and an edge-assisted scheme (Scheme 2) for IoT-oriented mobile crowdsensing, as the complete solution to fill the above gaps between current solutions and the practicality of mobile crowdsensing. Specifically, the contributions in our paper are described as follows.(i)
Fine-Grained Access Control with Policy Hidden for the Task Distribution. Inheriting the feature of one-to-many and fine-grained access from ABE, our solution enables the requester to share task messages with multiple task performers with encryption for only one time. During this process, the requester cannot and needs not to confirm the identity of each task performer. We then separate the attribute value from the attribute, thus hiding the specific attributes contained in the access structure, for preventing the sensitive information of the task performer from being leaked.(ii)
Lightweight Keyword Search for the Encrypted Tasks. It is obviously impractical for a task performer to search his/her desired ciphertext by downloading all ciphertext and seriatim decrypting them. To content the requirement that the task performer retrieves desired ciphertexts without decrypting, Scheme 1 designs the ciphertext keyword retrieval mechanism, in which the requester chooses a keyword that is associated with the task and then generates an “index,” and the task performer computes a “trapdoor” with his interested keyword. The crowdsensing platform can search those related ciphertexts by using the trapdoor, and during the process, the crowdsensing platform cannot learn any information about the task and the keyword. In Scheme 2, we further improve Scheme 1 by reducing the computational and communication cost of trapdoor generation and delivery for the performer side, as well as the cost of search on ciphertexts for the crowdsensing platform.(iii)
Lightweight Decryption Operations. To alleviate the computational overheads of the resource-constrained device on the task performer side, we delegate the decryption operation that should be assumed by the performer to the edge device in Scheme 2. Distinct from [10], in our solution, the edge device is considered to be semitrusted, which implies that we can prevent it from obtaining sensitive information including the user secret key.


## 1.2. Related Works

A sequence of solutions has been designed for the issues of data security and privacy protection of the task distribution phase in IoT-oriented mobile crowdsensing recently. Tao et al. [16] presented an anonymous bilateral authentication mechanism to guarantee the data authenticity while protecting the task performer’s identity privacy. Besides, they designed to solve the problem of large-scale key management in practical scenarios by using the pseudonym set. The requester usually requires the location of task performers to optimize task allocation, but it may reveal the location privacy of task performers. To protect the location privacy, Wang et al. [17] presented to fuzz the accurate location under the differential privacy constraint, thus protecting the location privacy. Karati and Biswas [18] proposed to simultaneously protect the data confidentiality and authenticity by inducing the identity-based encryption and designated verifier signature scheme. They also removed all pairing operations in their solution to improve the performance of cryptographic calculations. Ni et al. [19] proposed the SPOON scheme to attain the privacy protection of mobile users for task allocation. Specifically, it guarantees the confidentiality and authenticity of tasks with proxy reencryption and BBS+ [21] signature and uses an anonymous mechanism to protect the mobile user’s identity privacy.Motivated by the feature of fine-grained and one-to-many access control of ABE, there are some works designed to integrate ABE into the data security and privacy protection strategy in mobile crowdsensing task distribution. Zhang et al. [36] proposed an ABE scheme with direct user revocation, which provides fine-grained access control on the encrypted time-sensitive task message for hierarchical task performers in a mobile crowdsensing system. Xue et al. [22] realized fine-grained and forward secure task access control in mobile crowdsensing by integrating ABE with Bloom filter encryption [23]. Besides, a “puncture” mechanism is imposed to the user secret key to prevent key reuse. Nkenyereye et al. [24] put forward a secure protocol based on ABE for mobile crowdsensing in the fog-based vehicular cloud [25], which supports policy updates for the fine-grained access control. Besides, they simultaneously protect the data authenticity and identity privacy with the pseudo-identity-based signature mechanism. To content the practical requirement that task performers search for some interested ciphertexts without decrypting them, Miao et al. [26] designed an ABE scheme with multikeyword search for mobile crowdsensing, and it realizes the flexible and comparable attribute access control by using the 1-encoding and 0-encoding technology [27]. Miao et al. [28] then presented a universal ABE scheme with ciphertext keyword search under the shared multiple data owners setting, and they also designed to hide the access policy to prevent the privacy information of data users from being revealed from their attributes. However, this scheme suffers from expensive computational consumption of the operations of ciphertext keyword search and decryption. Also aiming at attribute privacy, Zeng et al. [29] proposed a secure data sharing scheme for the medical IoT based on the partially policy-hidden ABE. In addition, it supports scalable flexibility and security: specifically, it is available for large attribute universe and user decryption key trace. Han et al. [30] proposed an ABE scheme with a similar partial policy-hiding mechanism, which also provides the user revocation and user decryption tracing to prevent the maliciously key leakage of a data user. Phuong et al. [44] put forward a fully policy-hidden ABE scheme, and as its name implies, it reveals nothing about the attributes in the access policy. But it is evaluated to be too inefficient to be practically deployed for its cumbersome algorithm structure. On this basis, Zhang et al. [31] alleviated the decryption overheads by applying the secure outsourced computing technology, but the system still cannot escape from the complicated algorithm structure. To address this problem, more recently, Ying et al. [32] constructed a novel fully policy-hidden ABE scheme with significant efficiency improvements by their designed security-enhanced Attribute Cuckoo Filter. This scheme also subtly integrates policy hiding into a policy update system.Focus on the efficiency improvement, Tang et al. [33] indicated to alleviate the computational overheads of task encryption and decryption phase with online/offline encryption [34] and outsourced decryption [35] technology and designed to recommend the optimal task for task performers with the claimed “win-win” strategy. More recently, Wang et al. [10] presented a fine-grained access control protocol for the mobile crowdsensing platform, which enables the lightweight keyword generation and search and specifies the crowdsensing platform to predecrypt the ciphertext to reduce the computational overheads of the task performer side. However, their proposal is insecure unless they assumed the crowdsensing platform to be fully trusted, since they direct deliver the performer’s user secret key to the crowdsensing platform.


## 1.3. Organizations

The remainder of this paper is organized as follows: Section2 enumerates the preliminaries of our work, Section 3 presents the first scheme, Section 4 analyzes the security of the first scheme, Section 5 describes the second lightweight scheme, Section 6 evaluates the performance, and Section 7 concludes our work.


## 2. Preliminaries

### 2.1. Basic Concepts

Bilinear Map. Suppose G and GT are two cyclic groups with prime order p, and g is the generator of G. A bilinear map e:G×G⟶GT satisfies the following properties:(i)
Bilinearity:ega,gb=eg,gab, where g∈G, and a,b∈Zp(ii)
Non-degeneracy:eg,g=1(iii)
Computaility: there exists an efficient algorithm to computeeg,g for any g∈GHardness Assumption. Assumea,b∈Zp∗ , and g∈G is selected as a generator of group G. The decisional Diffie-Hellman (DDH) assumption is described as follows: given a three tuple g,ga,gb,R, there exists a probabilistic polynomial time (PPT) algorithm to determine whether R=gab or R is a random element from group G.


### 2.2. System and Security Model

This paper designs an interactive system that involves four entities: the trusted authority (TA), the requester, the task performer, and the crowdsensing platform. TA is a fully trusted entity, which is responsible for initializing the system and distributing the user secret key according to the attribute set for each task performer. The requester is designed as a fully trusted entity that uploads the ciphertext (encrypted task message) to the crowdsensing platform. The task performer searches for his/her interested encrypted task message and then recovers the task message. The crowdsensing platform is used for storing the ciphertext and retrieving the keyword-related ciphertext for the task performer. It is also powerful enough to assist the resource-constrained task performer to decrypt the ciphertext. It is evaluated as a semitrusted entity; that is, it can honestly execute the cryptographic protocol but is curious about the sensitive information of its stored data and the user’s privacy.Figure2 illustrates the workflow of the proposed system, where the specially designed algorithms for our Scheme 2 are denoted with blue dotted boxes. In logical order, the TA first runs the Setup algorithm to initialize the whole system, and then, it performs the KeyGen algorithm to distribute the user secret key for each registered task performer. The requester encrypts the task message with an access policy and ties the keyword index to the ciphertext by, respectively, running the Encrypt and the Index algorithms. Then, the requester uploads the ciphertext and the index to the crowdsensing platform. If a task performer wants to take on a task, s/he first specifies an interested queried keyword and then generates a trapdoor [42–46] with his/her user secret key and the queried keyword. The task performer forwards the trapdoor to the crowdsensing platform to request all ciphertexts related to the keyword. Subsequently, by running the Search algorithm, the crowdsensing platform estimates whether a ciphertext satisfies the keyword requirement of the trapdoor, and then, it returns the satisfied ciphertext to the task performer. Upon receiving the ciphertext from the crowdsensing platform, the task performer recovers the plaintext-form task message from the ciphertext with his/her user secret key by running the Decrypt algorithm. Considering the performance constraint on the task performer side, as well as the mass data stored in the crowdsensing platform, we deploy the more efficient Scheme 2 for the resource-constrained task performer device and the crowdsensing platform, and we deploy the more efficient Scheme 2 for the resource-constrained task performer device and the crowdsensing platform. Specifically, the KeyGen and Search algorithms are reconstructed in a lightweight manner. Besides, to attain efficient decryption for the task performer, we design the Transform, the TranKeyGen algorithms, and rebuild the Decrypt algorithm as described in Figure 2. To be specific, following the TranKeyGen algorithm, the task performer first generates a transformation key based on his/her user secret key and then forwards it to the crowdsensing platform. By utilizing the transformation key, the crowdsensing platform runs the Transform algorithm to predecrypt the ciphertext and then returns the transformed ciphertext to the task performer. Finally, the task performer can execute the blue-marked Decrypt algorithm to recover the task message with lightweight operations.Figure 2
The system workflow.


### 2.3. Security Model

The basic scheme (Scheme 1) is indistinguishable under the chosen plaintext attack (IND-CPA) secure. The security model is parsed as an interactive gameGameIND−CPA between a probabilistic polynomial time (PPT) adversary A and a challenger C as follows.(i)
Initialize. The adversary A specifies a challenged access structure A∗(ii)
Setup. The challenger C runs the Setup algorithm to generate the public parameter MPK for A(iii)
Phase 1. The adversary A queries on the user secret key of an attribute set, and then, the challenger C runs the KeyGen algorithm to generate a valid user secret key uskW for A(iv)
Challenge. The adversary A designates two equal-length task messages M0 and M1, then forwards them to C, and C executes the Encrypt algorithm; that is, it randomly picks b∈0,1 and encrypts Mb with an access policy A and then returns the ciphertext CT to A(v)
Phase 2. This phase is the same as Phase 1(vi)
Guess. A outputs its guess b′∈0,1 on b, and if b′=b, then we say A wins the gameDefinition 1.
If the basic scheme (Scheme 1) is indistinguishable against the chosen plaintext attack, then the probability for any PPT adversaryA to win the above game GameIND−CPA is negligible.
Similarly, the security model of indistinguishability under the chosen keyword attack is parsed as an interactive gameGameIND−CKA between a PPT adversary A and a challenger C as follows.(i)
Initialize. The adversary A specifies a challenged access structure A∗(ii)
Setup. The challenger C runs the Setup algorithm to generate the public parameter MPK for A(iii)
Phase 1. The adversary A answers the queries issued by C(iv)
User secret key query.A queries on the user secret key of an attribute set W, and then, the challenger C runs the KeyGen algorithm to generate a valid user secret key uskW for A(v)
Trapdoor query.A queries on the trapdoor of a queried keyword q, and then, the challenger C runs the TrapGen algorithm to generate a valid trapdoor TD for A(vi)
Challenge. The adversary A designates two equal-length task messages M0 and M1, then forwards them to C, and C executes the Encrypt and Index algorithm; that is, it randomly picks b∈0,1 and encrypts Mb with an access policy A and then returns the ciphertext CT to A(vii)
Phase 2. This phase is the same as Phase 1(viii)
Guess. A outputs its guess b′∈0,1 on b, and if b′=b, then we say A wins the gameDefinition 2.
If Scheme 2 is indistinguishable against the chosen keyword attack, then the probability for any PPT adversaryA to win the above game GameIND−CKA is negligible.


## 2.1. Basic Concepts

Bilinear Map. Suppose G and GT are two cyclic groups with prime order p, and g is the generator of G. A bilinear map e:G×G⟶GT satisfies the following properties:(i)
Bilinearity:ega,gb=eg,gab, where g∈G, and a,b∈Zp(ii)
Non-degeneracy:eg,g=1(iii)
Computaility: there exists an efficient algorithm to computeeg,g for any g∈GHardness Assumption. Assumea,b∈Zp∗ , and g∈G is selected as a generator of group G. The decisional Diffie-Hellman (DDH) assumption is described as follows: given a three tuple g,ga,gb,R, there exists a probabilistic polynomial time (PPT) algorithm to determine whether R=gab or R is a random element from group G.


## 2.2. System and Security Model

This paper designs an interactive system that involves four entities: the trusted authority (TA), the requester, the task performer, and the crowdsensing platform. TA is a fully trusted entity, which is responsible for initializing the system and distributing the user secret key according to the attribute set for each task performer. The requester is designed as a fully trusted entity that uploads the ciphertext (encrypted task message) to the crowdsensing platform. The task performer searches for his/her interested encrypted task message and then recovers the task message. The crowdsensing platform is used for storing the ciphertext and retrieving the keyword-related ciphertext for the task performer. It is also powerful enough to assist the resource-constrained task performer to decrypt the ciphertext. It is evaluated as a semitrusted entity; that is, it can honestly execute the cryptographic protocol but is curious about the sensitive information of its stored data and the user’s privacy.Figure2 illustrates the workflow of the proposed system, where the specially designed algorithms for our Scheme 2 are denoted with blue dotted boxes. In logical order, the TA first runs the Setup algorithm to initialize the whole system, and then, it performs the KeyGen algorithm to distribute the user secret key for each registered task performer. The requester encrypts the task message with an access policy and ties the keyword index to the ciphertext by, respectively, running the Encrypt and the Index algorithms. Then, the requester uploads the ciphertext and the index to the crowdsensing platform. If a task performer wants to take on a task, s/he first specifies an interested queried keyword and then generates a trapdoor [42–46] with his/her user secret key and the queried keyword. The task performer forwards the trapdoor to the crowdsensing platform to request all ciphertexts related to the keyword. Subsequently, by running the Search algorithm, the crowdsensing platform estimates whether a ciphertext satisfies the keyword requirement of the trapdoor, and then, it returns the satisfied ciphertext to the task performer. Upon receiving the ciphertext from the crowdsensing platform, the task performer recovers the plaintext-form task message from the ciphertext with his/her user secret key by running the Decrypt algorithm. Considering the performance constraint on the task performer side, as well as the mass data stored in the crowdsensing platform, we deploy the more efficient Scheme 2 for the resource-constrained task performer device and the crowdsensing platform, and we deploy the more efficient Scheme 2 for the resource-constrained task performer device and the crowdsensing platform. Specifically, the KeyGen and Search algorithms are reconstructed in a lightweight manner. Besides, to attain efficient decryption for the task performer, we design the Transform, the TranKeyGen algorithms, and rebuild the Decrypt algorithm as described in Figure 2. To be specific, following the TranKeyGen algorithm, the task performer first generates a transformation key based on his/her user secret key and then forwards it to the crowdsensing platform. By utilizing the transformation key, the crowdsensing platform runs the Transform algorithm to predecrypt the ciphertext and then returns the transformed ciphertext to the task performer. Finally, the task performer can execute the blue-marked Decrypt algorithm to recover the task message with lightweight operations.Figure 2
The system workflow.


## 2.3. Security Model

The basic scheme (Scheme 1) is indistinguishable under the chosen plaintext attack (IND-CPA) secure. The security model is parsed as an interactive gameGameIND−CPA between a probabilistic polynomial time (PPT) adversary A and a challenger C as follows.(i)
Initialize. The adversary A specifies a challenged access structure A∗(ii)
Setup. The challenger C runs the Setup algorithm to generate the public parameter MPK for A(iii)
Phase 1. The adversary A queries on the user secret key of an attribute set, and then, the challenger C runs the KeyGen algorithm to generate a valid user secret key uskW for A(iv)
Challenge. The adversary A designates two equal-length task messages M0 and M1, then forwards them to C, and C executes the Encrypt algorithm; that is, it randomly picks b∈0,1 and encrypts Mb with an access policy A and then returns the ciphertext CT to A(v)
Phase 2. This phase is the same as Phase 1(vi)
Guess. A outputs its guess b′∈0,1 on b, and if b′=b, then we say A wins the gameDefinition 1.
If the basic scheme (Scheme 1) is indistinguishable against the chosen plaintext attack, then the probability for any PPT adversaryA to win the above game GameIND−CPA is negligible.
Similarly, the security model of indistinguishability under the chosen keyword attack is parsed as an interactive gameGameIND−CKA between a PPT adversary A and a challenger C as follows.(i)
Initialize. The adversary A specifies a challenged access structure A∗(ii)
Setup. The challenger C runs the Setup algorithm to generate the public parameter MPK for A(iii)
Phase 1. The adversary A answers the queries issued by C(iv)
User secret key query.A queries on the user secret key of an attribute set W, and then, the challenger C runs the KeyGen algorithm to generate a valid user secret key uskW for A(v)
Trapdoor query.A queries on the trapdoor of a queried keyword q, and then, the challenger C runs the TrapGen algorithm to generate a valid trapdoor TD for A(vi)
Challenge. The adversary A designates two equal-length task messages M0 and M1, then forwards them to C, and C executes the Encrypt and Index algorithm; that is, it randomly picks b∈0,1 and encrypts Mb with an access policy A and then returns the ciphertext CT to A(vii)
Phase 2. This phase is the same as Phase 1(viii)
Guess. A outputs its guess b′∈0,1 on b, and if b′=b, then we say A wins the gameDefinition 2.
If Scheme 2 is indistinguishable against the chosen keyword attack, then the probability for any PPT adversaryA to win the above game GameIND−CKA is negligible.


## 3. Basic Scheme (Scheme 1)

This section detailedly describes the four interactive phases among those four kinds of entities in the basic scheme (Scheme 1).


### 3.1. System Initialization

TA runs the following Setup algorithm to establish the system and generate requisite system parameters.Setup (λ): Taking the security parameter λ as input, TA selects two multiplicative cyclic groups G, GT with prime order p, and g,u,h,w,v are five generators in group G and then define the bilinear pairing e:G×G⟶GT. Besides, we define a collision-resistant hash function H:0,1∗⟶Zp. We set the attribute universe as U=A1,…An. It also randomly selects α,β∈Zp, then keeps secret the master secret key MSK=α,β, and makes the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z=eg,gα,Z′=eg,gαβ,U to be publicly available.


### 3.2. User Registration

A newly added task performer with identityID issues a registration request to TA. In response, by running the KeyGen algorithm, TA distributes the user private key uskW for each registered task performer according to the identity ID and attribute set W.KeyGenMSK,MPK,W: this algorithm takes the public parameter MPK, the master secret key MSK, and the user attribute value set W=W1,…,Wn, where Wi∈0,1. For each attribute Ai∈W, TA picks ri∈Zp, where i∈1,n randomly, and it also samples r∈Zp. Under the above settings, TA computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n, and TA then assembles the user secret key uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n and delivers uskW to the task performer via secure channel.


### 3.3. Task Encryption and Distribution

To attain secure task distribution, the requester encrypts his/her tasks and uploads the encrypted task to the crowdsensing platform by running the following described Encrypt and Index algorithm. Notice that for each task messageM, we specify a keywordδ to enable the encrypted task can be retrieved by any task performers without revealing to irrelevant entities the detailed information about the keyword.(i)
Encrypt (MPK,M,A): the requester takes the public parameter MPK, the plaintext-form task message M, the revocation list RL, and the AND-Gate access policy A, and then, s/he randomly chooses s,s1,…,sn−1∈Zp and calculates sn=s−∑i=1n−1si. The access structure A is instantiated to S=S1,…,Sn, where Si∈0,1. On this basis, the requester picks t1,…,tn∈Zp and then calculates C0=M·eg,gαs,C1=gs,Ci,2=wsivti,Ci,3=gtii∈1,n. Besides, this algorithm requires the requester to compute Ci,4=uAih−ti for each attribute Ai∈W∩S, while randomly selects Ci,4∈G for each attribute Ai∉W∩S.(ii)
IndexMPK,uskW,δ: the requester assigns the most appropriate keyword by referring to the keyword dictionary for a task message M. Specifically, s/he takes as input the public key MPK, the user secret key uskW, and the keyword δ and then invokes the collision-resistant hash function H· and generates the index as I=Z′Hδs. Finally, the requester assembles the ciphertext CT=C0,C1,Ci,2,Ci,3,Ci,4i∈1,n,I and uploads CT to the crowdsensing platform.


### 3.4. Task Encryption and Distribution

This phase describes the workflow on the task performer side. Specifically, s/he first generates a trapdoor about his/her skilled fields with a keyword query by running theTrapGen algorithm. By using the trapdoor, the crowdsensing platform locates the target encrypted task message with the Search algorithm and forwards it to the task performer. Finally, the task performer recovers the plaintext-form task message by running the Decryption algorithm.(i)
TrapGen (MPK,q,uskW): the task performer inputs the public parameter MPK, the queried keyword q, and his/her user secret key uskW and then calculates T0=K′⋅Hq, T1=K⋅Hq, and Ti,2=Ki,2Hq,Ti,2=Ki,3Hqi∈1,n. The trapdoor is assembled as TD=T0,T1,Ti,2,Ti,3i∈1,n and is forwarded to the crowdsensing platform via secure channel when the task performer requests a task(ii)
SearchMPK,TD,CT: The crowdsensing platform inputs the public parameter MPK, the trapdoor TD, and the ciphertext CT and then checks whether the following equation holds:(1)I=eC1,T0∏i=1neCi,2,T1eCi,4,Ti,2eCi,3,Ti,3.If it holds, the crowdsensing platform returns the ciphertextCT to the task performer via the public channel, and otherwise, it aborts and feedbacks ⊥(iii)
DecryptCT,uskW: upon obtaining the desired ciphertext CT, the task performer takes as input his/her user secret key uskW and recovers the plaintext-form task message M by figuring up the following equation:(2)M=∏i=1neCi,2,K1eCi,4,Ki,2eCi,3,Ki,3eC1,K0.


## 3.1. System Initialization

TA runs the following Setup algorithm to establish the system and generate requisite system parameters.Setup (λ): Taking the security parameter λ as input, TA selects two multiplicative cyclic groups G, GT with prime order p, and g,u,h,w,v are five generators in group G and then define the bilinear pairing e:G×G⟶GT. Besides, we define a collision-resistant hash function H:0,1∗⟶Zp. We set the attribute universe as U=A1,…An. It also randomly selects α,β∈Zp, then keeps secret the master secret key MSK=α,β, and makes the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z=eg,gα,Z′=eg,gαβ,U to be publicly available.


## 3.2. User Registration

A newly added task performer with identityID issues a registration request to TA. In response, by running the KeyGen algorithm, TA distributes the user private key uskW for each registered task performer according to the identity ID and attribute set W.KeyGenMSK,MPK,W: this algorithm takes the public parameter MPK, the master secret key MSK, and the user attribute value set W=W1,…,Wn, where Wi∈0,1. For each attribute Ai∈W, TA picks ri∈Zp, where i∈1,n randomly, and it also samples r∈Zp. Under the above settings, TA computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n, and TA then assembles the user secret key uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n and delivers uskW to the task performer via secure channel.


## 3.3. Task Encryption and Distribution

To attain secure task distribution, the requester encrypts his/her tasks and uploads the encrypted task to the crowdsensing platform by running the following described Encrypt and Index algorithm. Notice that for each task messageM, we specify a keywordδ to enable the encrypted task can be retrieved by any task performers without revealing to irrelevant entities the detailed information about the keyword.(i)
Encrypt (MPK,M,A): the requester takes the public parameter MPK, the plaintext-form task message M, the revocation list RL, and the AND-Gate access policy A, and then, s/he randomly chooses s,s1,…,sn−1∈Zp and calculates sn=s−∑i=1n−1si. The access structure A is instantiated to S=S1,…,Sn, where Si∈0,1. On this basis, the requester picks t1,…,tn∈Zp and then calculates C0=M·eg,gαs,C1=gs,Ci,2=wsivti,Ci,3=gtii∈1,n. Besides, this algorithm requires the requester to compute Ci,4=uAih−ti for each attribute Ai∈W∩S, while randomly selects Ci,4∈G for each attribute Ai∉W∩S.(ii)
IndexMPK,uskW,δ: the requester assigns the most appropriate keyword by referring to the keyword dictionary for a task message M. Specifically, s/he takes as input the public key MPK, the user secret key uskW, and the keyword δ and then invokes the collision-resistant hash function H· and generates the index as I=Z′Hδs. Finally, the requester assembles the ciphertext CT=C0,C1,Ci,2,Ci,3,Ci,4i∈1,n,I and uploads CT to the crowdsensing platform.


## 3.4. Task Encryption and Distribution

This phase describes the workflow on the task performer side. Specifically, s/he first generates a trapdoor about his/her skilled fields with a keyword query by running theTrapGen algorithm. By using the trapdoor, the crowdsensing platform locates the target encrypted task message with the Search algorithm and forwards it to the task performer. Finally, the task performer recovers the plaintext-form task message by running the Decryption algorithm.(i)
TrapGen (MPK,q,uskW): the task performer inputs the public parameter MPK, the queried keyword q, and his/her user secret key uskW and then calculates T0=K′⋅Hq, T1=K⋅Hq, and Ti,2=Ki,2Hq,Ti,2=Ki,3Hqi∈1,n. The trapdoor is assembled as TD=T0,T1,Ti,2,Ti,3i∈1,n and is forwarded to the crowdsensing platform via secure channel when the task performer requests a task(ii)
SearchMPK,TD,CT: The crowdsensing platform inputs the public parameter MPK, the trapdoor TD, and the ciphertext CT and then checks whether the following equation holds:(1)I=eC1,T0∏i=1neCi,2,T1eCi,4,Ti,2eCi,3,Ti,3.If it holds, the crowdsensing platform returns the ciphertextCT to the task performer via the public channel, and otherwise, it aborts and feedbacks ⊥(iii)
DecryptCT,uskW: upon obtaining the desired ciphertext CT, the task performer takes as input his/her user secret key uskW and recovers the plaintext-form task message M by figuring up the following equation:(2)M=∏i=1neCi,2,K1eCi,4,Ki,2eCi,3,Ki,3eC1,K0.


## 4. Security Analysis

### 4.1. System Initialization

Theorem 1.
(IND-CPA) : if a probabilistic polynomial time (PPT) adversaryA can breach the proposed system with nonnegligible probability under the chosen plaintext attack, then a challenger algorithmC can be constructed to solve the DDH problem with a nonnegligible advantageProof.
The proof is constructed on the basis of the proof of the ciphertext policy-hidden ABE scheme in [37]. Given the four-tuple g,ga,gb,R as the input of the DDH assumption, the challenger C aims to determine whether R=gab or a random value in the group GT.(i)
Initialize: the adversary A claims its target AND-Gate access structure A∗ (it can be instantiated as the value set S∗=S1∗,…,Sn∗ to be challenged).(ii)
Setup:C defines two multiplicative cyclic groups G, GT with prime order p and regulates the bilinear map e:G×G⟶GT, where g is selected as a generator of group G, C then samples x,y,z,α∈Zp, and computes u=gx,h=gy,w=gz,Z=eg,gα, and sets v=ga. Define the attribute universe U=A1,…,An. Finally, C returns to A the public parameter MPK=p,g,G,GT,e,u,h,w,v,Z,U and keeps secret the master secret key MSK=α(iii)
Phase 1: The adversaryA issues a sequence of queries to the challenger C as follows. Specifically, A forwards to C an attribute set W on the premise of that W=W1,…,Wn does not content the challenged AND-Gate access structure S∗. As response, C randomly r,ri∈Zn+1 and then computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, and Ki,3=uAihriv−ri∈1,n, and C returns uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to A.(iv)
Challenge: the adversaryA forwards two equal-length task messages M0∗ and M1∗. As response, the challenger C randomly selects μ∈0,1 and implicitly sets s=ab by regulating C0=M·eg,gαs=eg,gαab,C1=R. Assume that Aj∉S, for each attribute Ai, where i∈1,n,i=j, the challenger C randomly chooses si,ti∈Zp. Besides, C calculates sj=ab−∑i=1,i≠jnsi and tj=−zb for the circumstance i=j, and C randomly selects μ∈0,1 and implicitly sets s=ab by regulating C0=M·eg,gαs=eg,gαab=ega,gbα and C1=R. If i=j, then C calculates Cj,2=wsjvtj=gzab−∑i=1,i≠jnsig−azb=g−z∑i=1,i≠jnsi and Cj,3=gtj=g−zb=gb−z and randomly chooses Cj,4 from group G. If i≠j, C directly calculates Ci,2=wsivti,Ci,3=gtii∈1,n and Ci,4=uAih−ti.(v)
Phase 2: This phase is the same as Phase 1.(vi)
Guess: The adversary A outputs its guessμ′∈0,1 on μ′. If A outputs μ′  =  μ, C returns 1 to guess R=gab. Otherwise, if A outputs μ′≠μ, C returns 0 to guess R is a random element in group G.Theorem 2.
(IND-CKA): If a probabilistic polynomial time (PPT) adversaryA can breach the proposed system with nonnegligible probability under the chosen keyword attack, then a challenger algorithmC can be constructed to solve the DDH problem with a nonnegligible advantage.Proof.
Given the four-tupleg,ga,gb,R as the input of DDH assumption, the challenger C aims to determine whether R=gab or a random value in the group GT ,(i)
Initialize: The adversary A claims its target AND-Gate access structure A∗ (it can be instantiated as the value set S∗=S1∗,…,Sn∗ to be challenged)(ii)
Setup: C defines two multiplicative cyclic groups G, GT with prime order p and regulates the bilinear map e:G×G⟶GT, where g is selected as a generator of group G, C also regulates a collision-resistant hash function H:0,1∗⟶Zp, and C then samples x,y,z,α∈Zp, computes u=gx,h=gy,w=gz,Z=eg,gαβ, and sets v=ga. Define the attribute universe U=A1,…,An. Finally, C returns to A the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z′,U and keeps secret the master secret key MSK=α,β.(iii)
Phase 1: The adversary A issues a sequence of queries to the challenger C as follows.(iv)
User secret key query:A forwards to C an attribute set W on the premise of that W=W1,…,Wn does not content the challenged AND-Gate access structure S∗. As response, C randomly r,ri∈Zn+1 and then computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, and Ki,3=uAihriv−ri∈1,n, and C returns uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to A.(v)
Trapdoor query:A issues a query on the transformation key of uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to C, and C assigns a desired keyword q, calculates T0=K′Hq, T1=KHq, { Ti,2=Ki,2Hq, Ti,3=Ki,3Hqi∈1,n, and returns the trapdoor TD=T0,T1,Ti,2,Ti,3i∈1,n to A.(vi)
Challenge: The adversaryA forwards two equal-length task messages M0∗ and M1∗. As response, the challenger C randomly selects μ∈0,1 and implicitly sets s=ab by regulating I=Z′Hδs=eg,gαβHδs=eg,gαβHδab, C1=R. Assume that Aj∉S, for each attribute Ai, where i∈1,n,i=j, the challenger C randomly chooses si,ti∈Zp. Besides, C calculates sj=ab−∑i=1,i≠jnsi and tj=−zb for the circumstance i=j. If i=j, the Cj,2=wsjvtj=gzab−∑i=1,i≠jnsig−azb=g−z∑i=1,i≠jnsi, Cj,3=gtj=g−zb=gb−z, and randomly chooses Cj,4 from group G. If i≠j, C directly calculates Ci,2=wsivti,Ci,3=gtii∈1,n and Ci,4=uAih−ti.(vii)
Phase 2: This phase is the same as Phase 1.(viii)
Guess: The adversaryA outputs its guess μ′∈0,1 on μ. If A outputs μ′  =  μ, C returns 1 to guess R=gab. Otherwise, if A outputs μ′≠μ, C returns 0 to guess R is a random element in group G.


### 4.2. Collusion Attack Resistance

Collusion attack indicates that multiple task performers whose attribute set does not satisfy the access structure may cheat the access authorization by combining their attributes-associated user secret keys. However, collusion attack is unavailing to our proposed scheme. Notice that the user secret key is parsed asK0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n for the component Ki,3 that corresponds to the attribute Ai, and it is masked by the randomly selected r∈Zp, which is various for different task performers. Thus, multiple task performers cannot obtain a valid user secret key by just combining their individual user secret keys.


### 4.3. Attribute Privacy Protection and Policy Hidden

We instantiate the access structure with the mechanism in [38] to attain policy hidden. Specifically, the attribute universe U=A1,…,An is available for each entity in the proposed system. The task performer issued the attribute value set W=W1,…,Wn, while the plaintext-form task message is encrypted with another attribute value set (access policy) S=S1,…,Sn. What is remarkable is that elements Wi and Si are Boolean value or the wildcard ∗, and they just indicate whether the i-th attribute in the attribute universe U is contented for W or S, or say “do not care” for the i-th attribute in U [38]. Therefore, (policy) attributes privacy cannot be revealed from the task performer’s attribute set W and access policy S.


### 4.4. Keyword Privacy and Unlinkability

The keyword and the queried keyword are, respectively, embedded in the ciphertext and the trapdoor in the form ofI=Z′⋅Hδs and T0=K′Hq, T1=KHq, Ti,2=Ki,2HqTi,3=Ki,3Hqi∈1,nTi,3=Ki,3Hqi∈1,n. The crowdsensing platform is unable to reveal Hδ from I since it is masked by the secret s. Similarly, it also cannot extract Hq from those trapdoor components for its unknown of the user secret key. Besides, we assert that nobody can reveal the equality of two trapdoors from different two task performers, despite they correspond to the same queried keyword q, since each task performer secretly holds his/her unique user secret key uskW.


## 4.1. System Initialization

Theorem 1.
(IND-CPA) : if a probabilistic polynomial time (PPT) adversaryA can breach the proposed system with nonnegligible probability under the chosen plaintext attack, then a challenger algorithmC can be constructed to solve the DDH problem with a nonnegligible advantageProof.
The proof is constructed on the basis of the proof of the ciphertext policy-hidden ABE scheme in [37]. Given the four-tuple g,ga,gb,R as the input of the DDH assumption, the challenger C aims to determine whether R=gab or a random value in the group GT.(i)
Initialize: the adversary A claims its target AND-Gate access structure A∗ (it can be instantiated as the value set S∗=S1∗,…,Sn∗ to be challenged).(ii)
Setup:C defines two multiplicative cyclic groups G, GT with prime order p and regulates the bilinear map e:G×G⟶GT, where g is selected as a generator of group G, C then samples x,y,z,α∈Zp, and computes u=gx,h=gy,w=gz,Z=eg,gα, and sets v=ga. Define the attribute universe U=A1,…,An. Finally, C returns to A the public parameter MPK=p,g,G,GT,e,u,h,w,v,Z,U and keeps secret the master secret key MSK=α(iii)
Phase 1: The adversaryA issues a sequence of queries to the challenger C as follows. Specifically, A forwards to C an attribute set W on the premise of that W=W1,…,Wn does not content the challenged AND-Gate access structure S∗. As response, C randomly r,ri∈Zn+1 and then computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, and Ki,3=uAihriv−ri∈1,n, and C returns uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to A.(iv)
Challenge: the adversaryA forwards two equal-length task messages M0∗ and M1∗. As response, the challenger C randomly selects μ∈0,1 and implicitly sets s=ab by regulating C0=M·eg,gαs=eg,gαab,C1=R. Assume that Aj∉S, for each attribute Ai, where i∈1,n,i=j, the challenger C randomly chooses si,ti∈Zp. Besides, C calculates sj=ab−∑i=1,i≠jnsi and tj=−zb for the circumstance i=j, and C randomly selects μ∈0,1 and implicitly sets s=ab by regulating C0=M·eg,gαs=eg,gαab=ega,gbα and C1=R. If i=j, then C calculates Cj,2=wsjvtj=gzab−∑i=1,i≠jnsig−azb=g−z∑i=1,i≠jnsi and Cj,3=gtj=g−zb=gb−z and randomly chooses Cj,4 from group G. If i≠j, C directly calculates Ci,2=wsivti,Ci,3=gtii∈1,n and Ci,4=uAih−ti.(v)
Phase 2: This phase is the same as Phase 1.(vi)
Guess: The adversary A outputs its guessμ′∈0,1 on μ′. If A outputs μ′  =  μ, C returns 1 to guess R=gab. Otherwise, if A outputs μ′≠μ, C returns 0 to guess R is a random element in group G.Theorem 2.
(IND-CKA): If a probabilistic polynomial time (PPT) adversaryA can breach the proposed system with nonnegligible probability under the chosen keyword attack, then a challenger algorithmC can be constructed to solve the DDH problem with a nonnegligible advantage.Proof.
Given the four-tupleg,ga,gb,R as the input of DDH assumption, the challenger C aims to determine whether R=gab or a random value in the group GT ,(i)
Initialize: The adversary A claims its target AND-Gate access structure A∗ (it can be instantiated as the value set S∗=S1∗,…,Sn∗ to be challenged)(ii)
Setup: C defines two multiplicative cyclic groups G, GT with prime order p and regulates the bilinear map e:G×G⟶GT, where g is selected as a generator of group G, C also regulates a collision-resistant hash function H:0,1∗⟶Zp, and C then samples x,y,z,α∈Zp, computes u=gx,h=gy,w=gz,Z=eg,gαβ, and sets v=ga. Define the attribute universe U=A1,…,An. Finally, C returns to A the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z′,U and keeps secret the master secret key MSK=α,β.(iii)
Phase 1: The adversary A issues a sequence of queries to the challenger C as follows.(iv)
User secret key query:A forwards to C an attribute set W on the premise of that W=W1,…,Wn does not content the challenged AND-Gate access structure S∗. As response, C randomly r,ri∈Zn+1 and then computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, and Ki,3=uAihriv−ri∈1,n, and C returns uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to A.(v)
Trapdoor query:A issues a query on the transformation key of uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n to C, and C assigns a desired keyword q, calculates T0=K′Hq, T1=KHq, { Ti,2=Ki,2Hq, Ti,3=Ki,3Hqi∈1,n, and returns the trapdoor TD=T0,T1,Ti,2,Ti,3i∈1,n to A.(vi)
Challenge: The adversaryA forwards two equal-length task messages M0∗ and M1∗. As response, the challenger C randomly selects μ∈0,1 and implicitly sets s=ab by regulating I=Z′Hδs=eg,gαβHδs=eg,gαβHδab, C1=R. Assume that Aj∉S, for each attribute Ai, where i∈1,n,i=j, the challenger C randomly chooses si,ti∈Zp. Besides, C calculates sj=ab−∑i=1,i≠jnsi and tj=−zb for the circumstance i=j. If i=j, the Cj,2=wsjvtj=gzab−∑i=1,i≠jnsig−azb=g−z∑i=1,i≠jnsi, Cj,3=gtj=g−zb=gb−z, and randomly chooses Cj,4 from group G. If i≠j, C directly calculates Ci,2=wsivti,Ci,3=gtii∈1,n and Ci,4=uAih−ti.(vii)
Phase 2: This phase is the same as Phase 1.(viii)
Guess: The adversaryA outputs its guess μ′∈0,1 on μ. If A outputs μ′  =  μ, C returns 1 to guess R=gab. Otherwise, if A outputs μ′≠μ, C returns 0 to guess R is a random element in group G.


## 4.2. Collusion Attack Resistance

Collusion attack indicates that multiple task performers whose attribute set does not satisfy the access structure may cheat the access authorization by combining their attributes-associated user secret keys. However, collusion attack is unavailing to our proposed scheme. Notice that the user secret key is parsed asK0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n for the component Ki,3 that corresponds to the attribute Ai, and it is masked by the randomly selected r∈Zp, which is various for different task performers. Thus, multiple task performers cannot obtain a valid user secret key by just combining their individual user secret keys.


## 4.3. Attribute Privacy Protection and Policy Hidden

We instantiate the access structure with the mechanism in [38] to attain policy hidden. Specifically, the attribute universe U=A1,…,An is available for each entity in the proposed system. The task performer issued the attribute value set W=W1,…,Wn, while the plaintext-form task message is encrypted with another attribute value set (access policy) S=S1,…,Sn. What is remarkable is that elements Wi and Si are Boolean value or the wildcard ∗, and they just indicate whether the i-th attribute in the attribute universe U is contented for W or S, or say “do not care” for the i-th attribute in U [38]. Therefore, (policy) attributes privacy cannot be revealed from the task performer’s attribute set W and access policy S.


## 4.4. Keyword Privacy and Unlinkability

The keyword and the queried keyword are, respectively, embedded in the ciphertext and the trapdoor in the form ofI=Z′⋅Hδs and T0=K′Hq, T1=KHq, Ti,2=Ki,2HqTi,3=Ki,3Hqi∈1,nTi,3=Ki,3Hqi∈1,n. The crowdsensing platform is unable to reveal Hδ from I since it is masked by the secret s. Similarly, it also cannot extract Hq from those trapdoor components for its unknown of the user secret key. Besides, we assert that nobody can reveal the equality of two trapdoors from different two task performers, despite they correspond to the same queried keyword q, since each task performer secretly holds his/her unique user secret key uskW.


## 5. An Improved Scheme (Scheme 2)

Motivated by [40, 41], we design a more efficient scheme for the task performer and the crowdsensing platform. This scheme provides a lightweight trapdoor generation and search mechanism and delegates most decryption operations of the task performer to the edge device [39]. In comparison to Scheme 1, on the task performer side, we alleviate the computational and communication cost of the trapdoor generation and transmission and also significantly reduce the decryption cost while, in the edge side, we eliminate similar (or repeated) computations to lower the computational cost of ciphertext keyword search.


### 5.1. System Initialization

Setup (λ): Taking the security parameter λ as input, TA selects two multiplicative cyclic groups G, GT with prime order p, and g,u,h,w,v are five generators in group G, then defines the bilinear pairing e:G×G⟶GT. Besides, we define a collision-resistant hash function H:0,1∗⟶Zp. We set the attribute universe as U=A1,…,An. It also randomly selects α,β∈Zp, then keeps secret the master secret key MSK=α,β, and makes the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z=eg,gα,Z'=eg,gαβ,U to be publicly available.


### 5.2. User Registration

\KeyGenMSK,MPK,W: This algorithm takes the public parameter MPK, the master secret key MSK, and the user attribute value set W=W1,…,Wn, where Wi∈0,1. For each attribute Ai∈W, TA picks ri∈Zp, where i∈1,n randomly, it also samples r∈Zp. Under the above settings, TA computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n, and K4=gαβ. TA then assembles the user secret key uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n,K4 and delivers uskW to the task performer via secure channel.


### 5.3. Task Encryption and Distribution

(i)
Encrypt (MPK,M,A): The requester takes the public parameter MPK, the plaintext-form task message M, the revocation list RL, and the AND-Gate access policy A, and then, s/he randomly chooses s,s1,…,sn−1∈Zp and calculates sn=s−∑i=1n−1si. The access structure A is instantiated to S=S1,…,Sn, where Si∈0,1. On this basis, the requester picks t1,…,tn∈Zp and then calculates C0=M·eg,gαs,C1=gs,Ci,2=wsivti,Ci,3=gtii∈1,n. Besides, this algorithm requires the requester to compute Ci,4=uAih−ti for each attribute Ai∈W∩S, while randomly selects Ci,4∈G for each attribute Ai∉W∩S.(ii)
IndexMPK,uskW,δ: The requester assigns the most appropriate keyword by referring to the keyword dictionary for a task message M. Specifically, s/he takes as input the public key MPK, the user secret key uskW, and the keyword δ and then invokes the collision-resistant hash function H· and generates the index as I=Z′⋅eC1,Hδ. Finally, the requester assembles the ciphertext CT=C0,C1,Ci,2,Ci,3,Ci,4i∈1,n,I and uploads CT to the crowdsensing platform.


### 5.4. Task Search

(i)
TrapGen (MPK,q,uskW): The task performer inputs the public parameter MPK, the queried keyword q, and his/her user secret key uskW and then calculates. The task performer delivers TD to the crowdsensing platform via secure channel when the task performer requests a task.(ii)
SearchMPK,TD,CT: The crowdsensing platform inputs the public parameter MPK, the trapdoor TD, and the ciphertext CT and then checks whether the equation I=eTD,C1 holds. If it holds, the crowdsensing platform returns the ciphertext CT to the task performer via public channel; otherwise, it aborts and feedbacks ⊥.


### 5.5. Task Reveal

In this phase, we design to delegate the decryption operation to the edge device without directly handing over the user secret key. By following this idea, we blind the user secret key with a randomly selectedt∈Zp, and then, the edge device can transform (predecrypt) the ciphertext with the “blinded” key. Specifically, this phase performs by running the following algorithms.(i)
TranKeyGen (MPK,uskW): The task performer inputs the public parameter MPK and his/her user secret key uskW, and then, s/he picks t∈Zp and calculates tk0=K0t, tk1=K1t, { tki,2=Ki,2t , tki,3=Ki,3ti∈1,n, and s/he assembles the transformation key TK=tk0,tk1,tki,2,tki,3i∈1,n and forwards TK to the edge device via a public channel. Notice that the task performer is required to keep secret the parameter t.(ii)
TransformCT,TK: Upon receiving the transformation key TK, the edge device takes as input the desired ciphertext CT and generates the transformed ciphertext by figuring up the following equation:(3)CT′=∏i=1neCi,2,tk1eCi,4,tki,2eCi,3,tki,3eC1,tk0.(iii)
DecryptCT,CT′: The task performer takes as input the ciphertext CT and the transformed ciphertext CT′, and then, s/he recovers the plaintext-form task message M by computing M=C0·CT′1/t.Lemma 1.
(IND-CPA) : The Scheme 2 is indistinguishable against the chosen plaintext attack if the Scheme 1 is IND-CPA secure.Proof.
We omit the detail proof since it is similar with the proof of Theorem1. What is different is that the “transformation key query” phase should be supplemented, which enables the challenger C to answer a sequence of queries on the transformation key from the adversary A.Lemma 2.
(IND-CKA): The Scheme 2 is indistinguishable against the chosen keyword attack if the Scheme 1 is IND-CKA secure.Proof.
We omit the detail proof since it is similar to the proof of Theorem2.


## 5.1. System Initialization

Setup (λ): Taking the security parameter λ as input, TA selects two multiplicative cyclic groups G, GT with prime order p, and g,u,h,w,v are five generators in group G, then defines the bilinear pairing e:G×G⟶GT. Besides, we define a collision-resistant hash function H:0,1∗⟶Zp. We set the attribute universe as U=A1,…,An. It also randomly selects α,β∈Zp, then keeps secret the master secret key MSK=α,β, and makes the public parameter MPK=p,g,G,GT,H,e,u,h,w,v,Z=eg,gα,Z'=eg,gαβ,U to be publicly available.


## 5.2. User Registration

\KeyGenMSK,MPK,W: This algorithm takes the public parameter MPK, the master secret key MSK, and the user attribute value set W=W1,…,Wn, where Wi∈0,1. For each attribute Ai∈W, TA picks ri∈Zp, where i∈1,n randomly, it also samples r∈Zp. Under the above settings, TA computes K0=gαwr, K0′=gαβwr, K1=gr, Ki,2=grii∈1,n, Ki,3=uAihriv−ri∈1,n, and K4=gαβ. TA then assembles the user secret key uskW=W,K0,K0′,K1,Ki,2,Ki,3i∈1,n,K4 and delivers uskW to the task performer via secure channel.


## 5.3. Task Encryption and Distribution

(i)
Encrypt (MPK,M,A): The requester takes the public parameter MPK, the plaintext-form task message M, the revocation list RL, and the AND-Gate access policy A, and then, s/he randomly chooses s,s1,…,sn−1∈Zp and calculates sn=s−∑i=1n−1si. The access structure A is instantiated to S=S1,…,Sn, where Si∈0,1. On this basis, the requester picks t1,…,tn∈Zp and then calculates C0=M·eg,gαs,C1=gs,Ci,2=wsivti,Ci,3=gtii∈1,n. Besides, this algorithm requires the requester to compute Ci,4=uAih−ti for each attribute Ai∈W∩S, while randomly selects Ci,4∈G for each attribute Ai∉W∩S.(ii)
IndexMPK,uskW,δ: The requester assigns the most appropriate keyword by referring to the keyword dictionary for a task message M. Specifically, s/he takes as input the public key MPK, the user secret key uskW, and the keyword δ and then invokes the collision-resistant hash function H· and generates the index as I=Z′⋅eC1,Hδ. Finally, the requester assembles the ciphertext CT=C0,C1,Ci,2,Ci,3,Ci,4i∈1,n,I and uploads CT to the crowdsensing platform.


## 5.4. Task Search

(i)
TrapGen (MPK,q,uskW): The task performer inputs the public parameter MPK, the queried keyword q, and his/her user secret key uskW and then calculates. The task performer delivers TD to the crowdsensing platform via secure channel when the task performer requests a task.(ii)
SearchMPK,TD,CT: The crowdsensing platform inputs the public parameter MPK, the trapdoor TD, and the ciphertext CT and then checks whether the equation I=eTD,C1 holds. If it holds, the crowdsensing platform returns the ciphertext CT to the task performer via public channel; otherwise, it aborts and feedbacks ⊥.


## 5.5. Task Reveal

In this phase, we design to delegate the decryption operation to the edge device without directly handing over the user secret key. By following this idea, we blind the user secret key with a randomly selectedt∈Zp, and then, the edge device can transform (predecrypt) the ciphertext with the “blinded” key. Specifically, this phase performs by running the following algorithms.(i)
TranKeyGen (MPK,uskW): The task performer inputs the public parameter MPK and his/her user secret key uskW, and then, s/he picks t∈Zp and calculates tk0=K0t, tk1=K1t, { tki,2=Ki,2t , tki,3=Ki,3ti∈1,n, and s/he assembles the transformation key TK=tk0,tk1,tki,2,tki,3i∈1,n and forwards TK to the edge device via a public channel. Notice that the task performer is required to keep secret the parameter t.(ii)
TransformCT,TK: Upon receiving the transformation key TK, the edge device takes as input the desired ciphertext CT and generates the transformed ciphertext by figuring up the following equation:(3)CT′=∏i=1neCi,2,tk1eCi,4,tki,2eCi,3,tki,3eC1,tk0.(iii)
DecryptCT,CT′: The task performer takes as input the ciphertext CT and the transformed ciphertext CT′, and then, s/he recovers the plaintext-form task message M by computing M=C0·CT′1/t.Lemma 1.
(IND-CPA) : The Scheme 2 is indistinguishable against the chosen plaintext attack if the Scheme 1 is IND-CPA secure.Proof.
We omit the detail proof since it is similar with the proof of Theorem1. What is different is that the “transformation key query” phase should be supplemented, which enables the challenger C to answer a sequence of queries on the transformation key from the adversary A.Lemma 2.
(IND-CKA): The Scheme 2 is indistinguishable against the chosen keyword attack if the Scheme 1 is IND-CKA secure.Proof.
We omit the detail proof since it is similar to the proof of Theorem2.


## 6. Performance Evaluation

### 6.1. Functionality and Complexity

Table1 shows the comparisons on functionality among related schemes, including ABKS-SM [28], FGTAC [10] as well as Scheme 1 and Scheme 2 proposed in this paper. As illustrated, all of these schemes provide the security proof of IND-CPA and IND-CKA. In comparison with ABKS-SM [28] and Scheme 1, FGTAC [10] and our Scheme 2 enable the AND-Gate access control, fast ciphertext keyword search, lightweight decryption, and policy hidden. However, lightweight decryption in FGTAC [10] relies on a fully trusted crowdsensing platform, which impairs its practicality. Our Scheme 2 is proposed to attain lightweight decryption for task performers under the semitrusted crowdsensing platform assumption.Table 1
Properties comparisons.
SchemesF1F2F3F4F5F6ABKS-SM [28]LSSS, AND-gateCPA, CKASemi××√FGTAC [10]AND-gateCPA, CKAFully√√√Scheme 1AND-gateCPA, CKASemi××√Scheme 2AND-gateCPA, CKASemi√√√Notations: F1: access structure; F2: security level; F3: security requirement of the crowdsensing platform; F4: fast search; F5: lightweight decryption; F6: policy hidden.Table2 describes the comparison of the above-mentioned schemes in terms of computational and storage complexity. In addition to the functional and practical advantages, our Scheme 2 is superior to ABKS-SM [28] and FGTAC [10] in storage cost. Our Scheme 2 is also well-performed in other indicators (including user secret key generation, trapdoor generation, search, and decryption) of computational cost except for encryption cost. Of course, we need not worry about the encryption cost since it is executed by the powerful task requester.Table 2
Complexity comparisons.
SchemesABKS-SM [28]FGTAC [10]Scheme 1Scheme 2F12n+d+3G4n+1G2n+3G2n+3GF22n+d+4eG+eGT5n+2eG3n+5eG3n+5eGF3∑i=1nni+d+n+2G+3GT3n+2G+GT2n+m+1G+GT2n+m+1G+GTF4∑i=1nni+2d+n+2eG+3eGT3n+2eG+eGT3n+2m+1eG+eGTP+3n+2m+1eG+2eGTF52n+1G2G2n+2GGTF62n+1eG2eG2n+2eGP+eGTF72n+1P+eGT2P3n+1PPF83P+deG+deGTeGT3n+1PeGTNotations: F1: size of the user secret key; F2: computational cost for user secret key generation; F3: size of the ciphertext; F4: computational cost for encryption; F5: size of the trapdoor; F6: computational cost for trapdoor generation; F7: computational cost for keyword search; F8: computational cost for decryption;n: number of attributes; ni: number of possible values for an attribute Ai; d: number of data owners; m: number of user’s attributes that satisfy the access policy; G: an element in group G; GT: an element in group GT; P: a pairing operation; eG: an exponential operation over the group G; eGT: an exponential operation over the group GT.


### 6.2. Experiment Results

We have experimented our proposed Scheme 1, Scheme 2 as well as related schemes such as ABKS-SM [28] and FGTAC [10] to evaluate and compare their practical performance. This experiment is conducted on a personal computer with an Intel (R) Core(TM) i7-7500U, 2.9 GHZ CPU, and 64 bit Windows 10 OS, and it is supported by the JPBC-2.0.0 library. To attain the 80 bit security, the elliptic curve is instantiated by a supersingular curve y2=x3+x on the finite field Fp with the embedding degree of 2, where the prime degree of the field Fp is p=12qr−1, and the order of group G is the 160 bit Solinas prime q=2159+217+1, and then, there exists G=GT=128 bytes and Zp∗  = 20 bytes. Besides, we designate SHA-256 to be the hash function in the experiment. We implement our proposed Scheme 1, Scheme 2 as well as ABKS-SM [28] and FGTAC [10] on the Enron e-mail Dataset [45], which is a widely used dataset that consists of 1,227,255 emails with 493,384 attachments covering 151 custodians.The experimental results are pictorially described in Figure3. When evaluating computing performance, we set the number of attributes to increase from 10 to 100 at the interval of 10, and the number of attributes is set to increase from 10 to 50 with the interval of 10 while evaluating storage performance. It is worth noting that since each attribute contains multiple “attribute values” in ABKS-SM [28], for a fair comparison, we only consider the number of attribute values. Figure 3(a) illustrates the time consumption for task encryption of these four schemes, and their computational time costs grow linearly with the size of involved attributes, where our Scheme 1 and Scheme 2 show slight inferiority. However, they are acceptable since the requester is regarded as a powerful device, and even in our experiment platform, they generate a ciphertext within 5 seconds while the number of attributes reaches 100. This is because our schemes are constructed over the large-universe ABE scheme for attaining the scalable of attributes size in the mobile crowdsensing application; that is, it improves the usability at a few cost of efficiency. Figure 3(b) shows that for ciphertext keyword search, our Scheme 2 outperforms Scheme 1 and ABKS-SM [28] and is similar to FGTAC [10]; that is, the computational overhead is slight and constant. The time costs of FGTAC [10] and Scheme 2 are stable with the number of attributes, and those of the above four schemes, respectively, reach 1938.543 ms, 37.266 ms, 5045.127 ms, and 20.114 ms when the attributes number reaches 100. The excellent search performance of Scheme 2 is owed to our proposed lightweight search mechanism. For each ciphertext, we require the crowdsourcing platform to perform only one pairing operation involving the trapdoor, the index, and the key ciphertext component. We can observe from Figure 3(c) that the decryption time costs for the task performer in ABKS-SM [28], FGTAC [10], and Scheme 2 are constant even if the growth of the attributes number, but that of Scheme 2 is significantly less than ABKS-SM [28]. Specifically, the decryption time cost of Scheme 1 grows with the number of attributes (it attains 4972.268 ms when 100 attributes) while the remainders keep stable, which are within 70 ms and around 10 ms. This is due to the secure outsourcing and edge computing mechanism we implemented in Scheme 2 for the ciphertext decryption. In Figure 3(d), the trapdoor generation time consumption of Scheme 2 is slight and remains stable despite the attributes number increases, which is similar to that of FGTAC [10], and is far superior to ABKS-SM [28]. Specifically, the trapdoor generation time costs of both ABKS-SM [28] and Scheme 1 grow with the attributes number, and they are 2296.451 ms and 2207.195 ms, respectively, for 100 attributes setting. The time costs of FGTAC [10] and Scheme 2 are slight and nearly constant, and both of them are within 20 ms. This phenomenon also benefits from our lightweight keyword search mechanism that only requires a short and accessible trapdoor in Scheme 2 instead of embedding the queried trapdoor to each key component in Scheme 1. Figure 3(e) illustrates the comparison among these four schemes, and their ciphertext storage cost increases with the number of attributes. However, in fact, in Scheme 2, the task performer only needs to receive and store a constant size transformed ciphertext, which reduces the storage overhead of resource-constrained devices on the task performer side. In Figure 3(f), the trapdoor storage costs of FGTAC [10] and Scheme 2 are slight and constant size, which are friendly to the resource-constrained task performer side devices, despite that is growing with the number of attributes in ABKS-SM [28] and Scheme 1. This also benefits from our designed efficient ciphertext keyword search mechanism.Figure 3
Comparisons of time consumption in the publisher/subscriber side. (a) Encryption time cost. (b) Search time cost. (c) Decryption time cost. (d) Trapdoor generation time cost. (e) Ciphertext storage cost. (f) Trapdoor storage cost.
(a)(b)(c)(d)(e)(f)In a nutshell, our Scheme 1 uses ABE as the core to achieve task confidentiality and performer’s identity privacy protection. Functionally, compared with other related works on mobile crowdsourcing security task distribution, Scheme 1 hides the access policy, thus preventing the performer’s privacy leakage. And it allows the performer to flexibly search the encrypted tasks it is interested in without revealing any preferences by designing the ciphertext keyword retrieval mechanism. In terms of performance, on the basis of Scheme 1, Scheme 2 implements an efficient ciphertext search mechanism, which allows the performer and the crowdsensing platform to generate a trapdoor and search ciphertexts with a small and fixed computational and storage overhead, respectively. On this basis, a large number of decryption operations that originally belonged to the task performer were transferred to the edge device. Compared with other related works on mobile crowdsourcing security task distribution, it improves the computational and storage performance on the performer side and crowdsensing platform side as shown in the experiment.


## 6.1. Functionality and Complexity

Table1 shows the comparisons on functionality among related schemes, including ABKS-SM [28], FGTAC [10] as well as Scheme 1 and Scheme 2 proposed in this paper. As illustrated, all of these schemes provide the security proof of IND-CPA and IND-CKA. In comparison with ABKS-SM [28] and Scheme 1, FGTAC [10] and our Scheme 2 enable the AND-Gate access control, fast ciphertext keyword search, lightweight decryption, and policy hidden. However, lightweight decryption in FGTAC [10] relies on a fully trusted crowdsensing platform, which impairs its practicality. Our Scheme 2 is proposed to attain lightweight decryption for task performers under the semitrusted crowdsensing platform assumption.Table 1
Properties comparisons.
SchemesF1F2F3F4F5F6ABKS-SM [28]LSSS, AND-gateCPA, CKASemi××√FGTAC [10]AND-gateCPA, CKAFully√√√Scheme 1AND-gateCPA, CKASemi××√Scheme 2AND-gateCPA, CKASemi√√√Notations: F1: access structure; F2: security level; F3: security requirement of the crowdsensing platform; F4: fast search; F5: lightweight decryption; F6: policy hidden.Table2 describes the comparison of the above-mentioned schemes in terms of computational and storage complexity. In addition to the functional and practical advantages, our Scheme 2 is superior to ABKS-SM [28] and FGTAC [10] in storage cost. Our Scheme 2 is also well-performed in other indicators (including user secret key generation, trapdoor generation, search, and decryption) of computational cost except for encryption cost. Of course, we need not worry about the encryption cost since it is executed by the powerful task requester.Table 2
Complexity comparisons.
SchemesABKS-SM [28]FGTAC [10]Scheme 1Scheme 2F12n+d+3G4n+1G2n+3G2n+3GF22n+d+4eG+eGT5n+2eG3n+5eG3n+5eGF3∑i=1nni+d+n+2G+3GT3n+2G+GT2n+m+1G+GT2n+m+1G+GTF4∑i=1nni+2d+n+2eG+3eGT3n+2eG+eGT3n+2m+1eG+eGTP+3n+2m+1eG+2eGTF52n+1G2G2n+2GGTF62n+1eG2eG2n+2eGP+eGTF72n+1P+eGT2P3n+1PPF83P+deG+deGTeGT3n+1PeGTNotations: F1: size of the user secret key; F2: computational cost for user secret key generation; F3: size of the ciphertext; F4: computational cost for encryption; F5: size of the trapdoor; F6: computational cost for trapdoor generation; F7: computational cost for keyword search; F8: computational cost for decryption;n: number of attributes; ni: number of possible values for an attribute Ai; d: number of data owners; m: number of user’s attributes that satisfy the access policy; G: an element in group G; GT: an element in group GT; P: a pairing operation; eG: an exponential operation over the group G; eGT: an exponential operation over the group GT.


## 6.2. Experiment Results

We have experimented our proposed Scheme 1, Scheme 2 as well as related schemes such as ABKS-SM [28] and FGTAC [10] to evaluate and compare their practical performance. This experiment is conducted on a personal computer with an Intel (R) Core(TM) i7-7500U, 2.9 GHZ CPU, and 64 bit Windows 10 OS, and it is supported by the JPBC-2.0.0 library. To attain the 80 bit security, the elliptic curve is instantiated by a supersingular curve y2=x3+x on the finite field Fp with the embedding degree of 2, where the prime degree of the field Fp is p=12qr−1, and the order of group G is the 160 bit Solinas prime q=2159+217+1, and then, there exists G=GT=128 bytes and Zp∗  = 20 bytes. Besides, we designate SHA-256 to be the hash function in the experiment. We implement our proposed Scheme 1, Scheme 2 as well as ABKS-SM [28] and FGTAC [10] on the Enron e-mail Dataset [45], which is a widely used dataset that consists of 1,227,255 emails with 493,384 attachments covering 151 custodians.The experimental results are pictorially described in Figure3. When evaluating computing performance, we set the number of attributes to increase from 10 to 100 at the interval of 10, and the number of attributes is set to increase from 10 to 50 with the interval of 10 while evaluating storage performance. It is worth noting that since each attribute contains multiple “attribute values” in ABKS-SM [28], for a fair comparison, we only consider the number of attribute values. Figure 3(a) illustrates the time consumption for task encryption of these four schemes, and their computational time costs grow linearly with the size of involved attributes, where our Scheme 1 and Scheme 2 show slight inferiority. However, they are acceptable since the requester is regarded as a powerful device, and even in our experiment platform, they generate a ciphertext within 5 seconds while the number of attributes reaches 100. This is because our schemes are constructed over the large-universe ABE scheme for attaining the scalable of attributes size in the mobile crowdsensing application; that is, it improves the usability at a few cost of efficiency. Figure 3(b) shows that for ciphertext keyword search, our Scheme 2 outperforms Scheme 1 and ABKS-SM [28] and is similar to FGTAC [10]; that is, the computational overhead is slight and constant. The time costs of FGTAC [10] and Scheme 2 are stable with the number of attributes, and those of the above four schemes, respectively, reach 1938.543 ms, 37.266 ms, 5045.127 ms, and 20.114 ms when the attributes number reaches 100. The excellent search performance of Scheme 2 is owed to our proposed lightweight search mechanism. For each ciphertext, we require the crowdsourcing platform to perform only one pairing operation involving the trapdoor, the index, and the key ciphertext component. We can observe from Figure 3(c) that the decryption time costs for the task performer in ABKS-SM [28], FGTAC [10], and Scheme 2 are constant even if the growth of the attributes number, but that of Scheme 2 is significantly less than ABKS-SM [28]. Specifically, the decryption time cost of Scheme 1 grows with the number of attributes (it attains 4972.268 ms when 100 attributes) while the remainders keep stable, which are within 70 ms and around 10 ms. This is due to the secure outsourcing and edge computing mechanism we implemented in Scheme 2 for the ciphertext decryption. In Figure 3(d), the trapdoor generation time consumption of Scheme 2 is slight and remains stable despite the attributes number increases, which is similar to that of FGTAC [10], and is far superior to ABKS-SM [28]. Specifically, the trapdoor generation time costs of both ABKS-SM [28] and Scheme 1 grow with the attributes number, and they are 2296.451 ms and 2207.195 ms, respectively, for 100 attributes setting. The time costs of FGTAC [10] and Scheme 2 are slight and nearly constant, and both of them are within 20 ms. This phenomenon also benefits from our lightweight keyword search mechanism that only requires a short and accessible trapdoor in Scheme 2 instead of embedding the queried trapdoor to each key component in Scheme 1. Figure 3(e) illustrates the comparison among these four schemes, and their ciphertext storage cost increases with the number of attributes. However, in fact, in Scheme 2, the task performer only needs to receive and store a constant size transformed ciphertext, which reduces the storage overhead of resource-constrained devices on the task performer side. In Figure 3(f), the trapdoor storage costs of FGTAC [10] and Scheme 2 are slight and constant size, which are friendly to the resource-constrained task performer side devices, despite that is growing with the number of attributes in ABKS-SM [28] and Scheme 1. This also benefits from our designed efficient ciphertext keyword search mechanism.Figure 3
Comparisons of time consumption in the publisher/subscriber side. (a) Encryption time cost. (b) Search time cost. (c) Decryption time cost. (d) Trapdoor generation time cost. (e) Ciphertext storage cost. (f) Trapdoor storage cost.
(a)(b)(c)(d)(e)(f)In a nutshell, our Scheme 1 uses ABE as the core to achieve task confidentiality and performer’s identity privacy protection. Functionally, compared with other related works on mobile crowdsourcing security task distribution, Scheme 1 hides the access policy, thus preventing the performer’s privacy leakage. And it allows the performer to flexibly search the encrypted tasks it is interested in without revealing any preferences by designing the ciphertext keyword retrieval mechanism. In terms of performance, on the basis of Scheme 1, Scheme 2 implements an efficient ciphertext search mechanism, which allows the performer and the crowdsensing platform to generate a trapdoor and search ciphertexts with a small and fixed computational and storage overhead, respectively. On this basis, a large number of decryption operations that originally belonged to the task performer were transferred to the edge device. Compared with other related works on mobile crowdsourcing security task distribution, it improves the computational and storage performance on the performer side and crowdsensing platform side as shown in the experiment.


## 7. Conclusion

This paper designed the efficient and privacy-preserving task distribution mechanism for IoT-oriented mobile crowdsensing. We show our results by two practical cryptographic schemes. Scheme 1 realizes the fine-grained access control and access policy hidden by dividing the attribute into an attribute label and an attribute value, where the attribute value is publicly available, and the attribute label is hidden. We also design a keyword search mechanism over task ciphertexts that enables the task performer to conveniently generate the trapdoor. On this basis, Scheme 2 further improves the efficiency under the semitrusted crowdsensing platform assumption by delegating most operations to the crowdsensing platform and constructing a lightweight trapdoor. We then analyzed their security properties, provided the formalized security proof, and demonstrated their practicability and feasibility.We note that although our work prevents the sensitive information of task performers from exposure, it still falls under the category of “partial policy hiding.” The authors of [44] pointed out that some ABE schemes with partial policy hiding may still reveal the performer’s attribute privacy. We notice that the latest representative work has transformed the primitive of full policy-hidden ABE from the cumbersome theoretical scheme to an efficient practical solution by optimizing the algorithm structure and extending the usability [32]. Therefore, in future work, we intend to further explore the more efficient and flexible ABE schemes with full policy hiding. In addition, although we profoundly reduce the trapdoor generation overhead on the performer side and the search burden of the crowdsensing platform, it may still suffer from the performance bottleneck in the crowdsensing platform with massive storage. In future work, we would like to explore an efficient ciphertext keyword search mechanism for the above practical setting.



---

*Source: 6754744-2022-09-26.xml*