Next Article in Journal
A Hybrid Differential Symbiotic Organisms Search Algorithm for UAV Path Planning
Next Article in Special Issue
Ensuring Purpose Limitation in Large-Scale Infrastructures with Provenance-Enabled Access Control
Previous Article in Journal
A Systematic Review of EMG Applications for the Characterization of Forearm and Hand Muscle Activity during Activities of Daily Living: Results, Challenges, and Open Issues
Previous Article in Special Issue
A Smartcard-Based User-Controlled Single Sign-On for Privacy Preservation in 5G-IoT Telemedicine Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Privacy-Preserving Task-Matching and Multiple-Submissions Detection in Crowdsourcing

1
The School of Cyberspace Security, Beijing University of Posts and Telecommunications, Beijing 100876, China
2
The National Engineering Laboratory for Mobile Network Security, Beijing 100876, China
3
The School of Computer Science, Beijing University of Posts and Telecommunications, Beijing 100876, China
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(9), 3036; https://doi.org/10.3390/s21093036
Submission received: 30 March 2021 / Revised: 22 April 2021 / Accepted: 23 April 2021 / Published: 26 April 2021
(This article belongs to the Collection Security, Trust and Privacy in New Computing Environments)

Abstract

:
Crowdsourcing enables requesters to publish tasks to a platform and workers are rewarded for performing tasks of interest. It provides an efficient and low-cost way to aggregate data and solve problems that are difficult for computers but simple for humans. However, the privacy risks and challenges are still widespread. In the real world, the task content may be sensitive and only workers who meet specific requirements or possess certain skills are allowed to acquire and perform it. When these distributed workers submit their task answers, their identity or attribute privacy may also be exposed. If workers are allowed to submit anonymously, they may have the chance to repeat their answers so as to get more rewards. To address these issues, we develop a privacy-preserving task-matching and multiple-submissions detection scheme based on inner-product cryptography and proof of knowledge (PoK) protocol in crowdsourcing. In such a construction, multi-authority inner-product encryption is introduced to protect task confidentiality and achieve fine-grained task-matching based on the attributes of workers. The PoK protocol helps to restrict multiple submissions. For one task, a suitable worker could only submit once without revealing his/her identity. Moreover, different tasks for one worker are unlinkable. Furthermore, the implementation analysis shows that the scheme is effective and feasible.

1. Introduction

With the development of network technologies and the popularity of smartphones, crowdsourcing has become a popular distributed paradigm for problem-solving, which is applied to address problems that are too complex for computer programs or of high cost for an organization. An early typical example of crowdsourcing is captcha. ReCAPTCHA [1], a project initiated by Carnegie Mellon University, uses the wisdom of the masses to help the digitization of ancient books in the form of crowdsourcing. This project scans the text, which cannot be recognized by the optical character recognition technology accurately, and displays it in the captcha question, so that a human can recognize it when answering the captcha question.
In the era of big data, the amount of data is increasing, and the forms of data are more diversified, which leads to increasing demand for crowdsourcing and the increasing forms of tasks. Crowdsourcing platforms such as Amazon Mechanical Turk (AMT) [2], crowdflower and upwork of Amazon came into being. On these platforms, tens of millions of workers from more than 100 countries are involved in solving problems. It has inspired the collective imagination of researchers in numerous fields such as human–computer interaction, machine learning, artificial intelligence, information retrieval, database community, etc.
The openness and sharing of crowdsourcing make it more vulnerable to various attacks since it allows attackers to join crowdsourcing systems freely as requesters or workers. When task requesters have tasks to crowdsource, they need to set some parameters, including task pricing, answer time, task worker quality, etc. After that, they can publish tasks on the crowdsourcing platform, and then the tasks will be assigned to workers. When a task is answered by a worker, the requester can choose to accept or reject the answer. If the requester accepts the answer, he/she will pay the worker accordingly. In this process, combined with the task constraints, task content and worker authentication information, the attacker may infer the important private information of the participants, including identity, age, occupation, residence, and so on. If such kind of information cannot be properly kept, it will reduce the enthusiasm of users to participate in the task and further affect the completion of the task.
In the process of task release and matching, since different workers have their own specialties, unsuitable or malicious workers may randomly answer questions to get the reward, or deliberately submit wrong answers to distort the true value. To ensure the quality of answers, the requester should set up task constraints for different tasks so as to match appropriate workers. There are many ways of keyword matching. The flexibility of accurate matching is poor. The matching method that supports multiple policy expressions is more in line with diverse requirements, e.g., ((major = (art ∨ artificial intelligence)) ∧ (age ≥ 30)), etc. Under the premise of privacy protection, how to achieve flexible task-matching has become a thorny issue.
In most previous mutual privacy-preserving task allocation research, the homomorphism [3] is adopted to realize multiple types of ciphertext policy matching without revealing task constraints and workers’ private attributes, which cause the downgrade of efficiency. Moreover, content confidentiality is closely related to the privacy of participants. For the privacy of the task content, the proxy re-encryption algorithm or other technologies is needed. Then the computation and communication cost is further increased. However, based on inner-product encryption the relevant work [4] considered flexible matching of encrypted keywords and fine-grained access control of task content simultaneously. With the expansion of the network scale, it is difficult for a single authentication center to manage workers’ keys efficiently. The multi-authority model [5] could better adapt to a large-scale distributed network. However, at this time, there are not only collusion problems of workers but also collusion or damage problems of some attribute authorities in the system.
After the task is assigned, the worker will perform the task and submit task data. At this phase, we should first ensure that it is the right workers who meet the requirements submit the answers. However, similarly, the workers may not wish to be tracked by the server. Since the platform is not completely credible, it may expose the worker’s privacy because of interest-driven. Due to the flexible matching requirements set by the task requester, an attribute-based signature could be used. It allows signers to sign a message under policies that satisfying their attributes. In a crowdsourcing system, the worker obtains the attribute-based private key from the authority. When his/her attributes satisfy the constraint policy set by the requester, the signature can be verified to be valid. With anonymous attribute-based signature authentication, it is possible to prevent inappropriate workers from submitting, while avoiding the leakage of worker’s privacy. However, dishonest qualified workers may submit multiple answers to a task for more rewards. Moreover, if a greedy participant submits similar or identical results with different pseudonyms many times, it will also reduce the diversity and credibility of the data, and further produce bias to the results that should have been perceived by numerous participants. Actually, a privacy-preserving submission detection scheme is needed, which ensures that only qualified workers can participate in answering and cannot submit repeatedly, and the worker’s identity and history of participating in the task will not be disclosed.
In this paper, we first analyze the potential security threats to the privacy and quality assurance issues of crowdsourcing during the task allocation and task submission phase, and then propose a security and privacy protection model of the system. After that, a scheme based on multi-authority inner-product encryption (MIPE) and zero-knowledge proof protocol, called zk-MIPE, is designed. With MIPE, the scheme can realize secure sharing of task content and the flexible assignment of tasks based on encrypted task constraints and workers’ attributes. With the repeated submission detection algorithm constructed by zero-knowledge proof protocol, it ensures that the requester and platform can only verify that a worker who has submitted an answer about a task meets the corresponding task constraints but cannot judge his/her specific identity or attribute information. Also, if the worker performs multiple tasks, no one can link them. At the same time, when workers submit repeatedly for the same task, they can be identified by association. Under the premise of protecting the participants’ privacy, the scheme selects suitable workers to submit an answer honestly with more professional skills, thus further improve the quality of aggregated task data. In summary, the technical innovation of the proposed system is: we designed a novel MIPE scheme and a one-time anonymous inner-product authentication protocol based on zero-knowledge proof, and proved the confidentiality, one-time authentication, anonymity and unlinkability of the solution. In terms of application, we achieved the innovative features in function and security for crowdsourcing privacy protection: (1). it supports flexible task-matching based on inner-product with mutual privacy; (2). it supports anonymously inner-product-based authentication and duplicate submission detection without revealing identity and attributes privacy.

2. Related Work

Crowdsourcing Privacy
Presently, for a variety of data processing and analysis tasks, only relying on machine algorithms cannot achieve desired results. Fortunately, crowdsourcing provides an efficient and low-cost paradigm to solve this problem with the advantage of distributed mode. However, security and privacy issues are still thorny. In past research on privacy-preserving, some researchers analyzed the privacy threats of the whole crowdsourcing process to propose an overall security framework [6]. Meanwhile, blockchain is applied to deal with potential security issues (e.g., single point of failure, sensitive leakage) without a trusted third party, such as SecBCS [7], MCS-chain [8], CrowdBC [9]. Also, novel fog-based computing framework is proposed [10] for low latency vehicular crowdsensing networks.
Still, there are researchers in-depth discussing crowdsourcing security threats at each phase, and designing differentiated privacy protection schemes for specific security objectives using diversified technologies. Among them, location privacy is the first concern of researchers. The methods used to solve location privacy include k-anonymity [11], differential privacy [12,13], game theory [14], commitment [15], machine-learning-based obfuscation [16,17], encryption [18,19], etc. However, most of them focus on protecting the workers’ privacy. To provide mutual privacy for both requesters and workers, Liu [3] proposed a privacy-preserving protocol based on homomorphic encryption with a dual-server setting. After that, Shu [20] constructs a task-matching scheme over the encrypted location with a single server by applying searchable encryption. Actually, in the scenes they mainly concern, the privacy requirements of task content are not high, which are usually public to all participants. However, the need for content privacy protection still exists. For some sensitive task content involving address, occupation and purpose, it can help attackers to further infer participants’ privacy by combining other information. In the privacy-aware task assignment schemes proposed by Liu et al. [21] and Yuan et al. [22], attribute-based encryption is applied to protect content privacy and realize fine-grained access control. Extending to more complex multi-keyword crowdsourcing allocation scenario, our prior work [4] introduced inner-product encryption (IPE) to support flexible matching policies without disclosing task privacy and worker privacy. However, as the worker scale increases, centralized single authority mode has obvious disadvantages in efficiency and security.
Moreover, most of these schemes mainly discussed privacy protection in the task allocation phase. While in the data submission phase, the platform should verify the identity or attribute information of the participants to evaluate whether the appropriate workers have performed the task. At this time, if we do not provide effective privacy protection, the secure closed-loop still cannot be constructed. Based on signature and other technologies, Ni [23] and Shu [24] presented Sybil detection schemes respectively. Nevertheless, they are concerned about the deduplication of encrypted data content rather than the identity privacy of workers. Though Lu [25] proposed a blockchain-based private and anonymous repetition detection scheme for task submission, the introduction of zk-SNARK increases the computational overhead of the scheme. Compared with the previous scheme, we focus on the privacy protection of task releasing and task submission. In the task releasing stage, the scheme requires privacy of task content and constraint conditions, and should realize flexible ciphertext task-matching. In the task submission phase, workers could submit perceptual data anonymously and cannot submit it repeatedly.
Inner-Product Cryptosystems
In 1984, Shamir [26] proposed the concept of ID-based public key cryptography and constructed the first ID-based digital signature scheme based on the large integer decomposition problem. However, it was not until 2001 that Boneh and Franklin [27] presented the first secure and practical ID-based encryption scheme based on elliptic curve bilinear pairings. After that, Sahai and Waters [28] designed a fuzzy identity-based encryption scheme based on key sharing theory in 2005, and further proposed the concept of attribute-based encryption (ABE). Since then, research on ABE has covered privacy protection, richer access policy types, efficiency, security assumptions, attribute revocation, and other directions [29,30,31]. To implement policy hiding, Boneh and Waters [32] introduced a hidden vector encryption scheme supporting conjunctive, subset and range queries in 2007. Then Katz [33] raised the concept of IPE for the first time and proved its security under the standard model in 2008. The scheme allows conjunctive disjunction, polynomial and inner-product queries. However, the length of ciphertext increases linearly with the increase of vector dimension. Afterwards, Attrapadung and Libert [34] developed a scheme to reduce the length of ciphertext to a constant. Furthermore, Okamoto [35] realized a scheme with constant key length. On the other hand, to reduce the management cost of a single authentication server, Chase [5] presented an encryption scheme that enables the implementation of the AND access policy in a multi-authority environment. On this basis, to reduce the complexity of user decryption, Li [36] constructed a multi-authority outsourcing attribute encryption system based on linear secret-sharing schemes (LSSS). However, the IPE scheme in multi-authority environment still needs to be proposed. For anonymous authentication, Yuen [37] adopted k times attribute signature (k-ABS) to restrict access times. The data is still stored remotely in plaintext. Ning presented an outsourced σ -time attribute-based encryption ( σ -ABE) scheme [38], in which users apply attributes as identity without using real names. Although the server cannot know a user’s identity, it can associate a user’s previous and subsequent access through the proxy key. Moreover, due to the lack of association between the attribute-related private key and the validation tags for times, there is a risk that the attacker will steal the other’s validation tag, and then send his own attribute-related private key to access the data illegally. Inner-product cryptosystems enables the realization of flexible and diverse policies. Compared with cryptosystems supporting LSSS policy, it allows policy hiding. However, presently, neither the IPE encryption for multi-authority nor the k-time inner-product-based authentication scheme has been proposed. Therefore, in this article, we intend to solve this problem and apply the design scheme to crowdsourcing privacy protection.

3. Preliminary

3.1. System Assumption

As shown in Figure 1, the proposed crowdsourcing system contains the following entities: central authority C A , multiple attribute authorities A A , the crowdsourcing server C S , requesters and workers. As a trusted third party, C A initializes the system, generates global parameters and supervises each A A . Suppose there are m attribute authorities, denoted as A A 1 ,..., A A m . They are responsible for managing disjoint attribute sets. The requester is an enterprise or individual who publishes the task on the system platform. The worker is a user who performs tasks and submits perception data. C S verifies whether workers meet the requirements and submit repeatedly. Let the sets of vectors w = ( w 1 , . . . , w m ) Z q m n and z = ( z 1 , . . . , z m ) Z q m n be the task constraint and the worker’s attribute-based vector. Only if < z j , w j > = 0 holds for all j [ 1 , m ] , the worker could decrypt the corresponding task ciphertext.
For system security, we need at least one attribute authority is honest and secure in such a system. The requester is also considered to be honest. C S is considered to be honest-but-curious, i.e., it will honestly execute the protocol and screen out suitable workers, but it will also be curious about more information, such as task content and participant identity. The worker is considered to be honest but greedy, i.e., he will execute the protocol honestly but may submit data multiple times to get more rewards.
The specific security objectives of the zk-MIPE scheme are as follows.
(1) Content and constraints privacy. Task content and constraints should be released in the form of ciphertext. Only suitable workers could learn the corresponding task plaintext.
(2) One-time attribute-based authentication. If the worker’s attributes meet the task constraints, he/she can provide a valid proof to the CS. If not, he/she cannot forge a valid proof.
(3) Identity and attribute privacy. Although the CS enables the filtering out of suitable workers and the restriction of multiple submission, it cannot know the worker’s identity and attributes, or even associate the previous and subsequent tasks that a worker participates in.

3.2. Inner-Product Access Structure

The inner product is a generalization of the concept of point multiplication. In a vector space, it is a method of multiplying vectors, and the product is a scalar. For a real vector space, let x 1 , x 2 , x 3 be vectors and r be a scalar, then the inner product < · , · > satisfies the following properties.
(1) < x 1 + x 2 , x 3 > = < x 1 , x 3 > + < x 2 , x 3 > ;
(2) < r x 1 , x 2 > = r < x 1 , x 2 > = < x 1 , r x 2 > ;
(3) < x 1 , x 2 > = < x 2 , x 1 > ;
(4) < x 1 , x 1 > 0 , and only when x 1 = 0 the equal sign holds.

3.3. Bilinear Group

Definition 1.
Bilinear Map [27]: A group generator G takes a security parameter λ as input. It outputs a group G = ( G 1 , G T , e , q ) of prime order q, where G 1 is an additional group and G T is a multiplication group. Let g be a generator of G 1 . The bilinear map e has the following properties.
(1) Bilinearity: For random a , b Z q and x , y G 1 , we have e ( x a , y b ) = e ( x , y ) a b ;
(2) Nondegeneracy: e ( g , g ) 1 ;
(3) Computability: For random g , h G 1 , there exists an efficient algorithm to compute e ( g , h ) .
Definition 2.
Computational Diffie-Hellman (CDH) Problem: A challenger runs G ( λ ) to generate G = ( G 1 , G T , e , q ) . Then it chooses a random generator g and random a , b Z q . Given a tuple ( g , g a , g b ) as input, we say that the CDH assumption holds if there is no polynomial-time algorithm can compute the element g a b .
Definition 3.
Decisional Diffie-Hellman (DDH) Problem: A challenger runs G ( λ ) to generate G = ( G 1 , G T , e , q ) . Then it chooses a random generator g and random a , b Z q . Given a tuple ( g , g a , g b ) as input, we say that the DDH assumption holds if there is no polynomial-time algorithm can distinguish g a b from a random value with nonnegligible advantage in G 1 .
Definition 4.
q-Decisional Diffie-Hellman Inversion (DDHI) Problem: A challenger runs G ( λ ) to generate G = ( G 1 , G T , e , q ) . Then it chooses a random generator g and a random x Z q . Given a tuple ( g , g x , g x 2 , . . . , g x q ) as input, we say that the q-DDHI assumption holds if there is no polynomial-time algorithm can distinguish g 1 / x from a random value with nonnegligible advantage in G 1 .

3.4. Zero-Knowledge Proof Protocol

The zero-knowledge proof (ZKP) protocols have been applied to numerous fields, including both traditional secure multiparty computation and emerging privacy protection projects in distributed ledger and blockchain, such as Zcash [39], hawk [40], and so on.
A ZKP system is a protocol between a computationally bounded prover and a verifier. Let R be an NP relation. Set R ( x ) = { w : ( x , w ) R } and the language L = { x : w , st ( x , w ) R } . During the protocol, the verifier is convinced by the prover that x belongs to L, i.e., there exists a witness w such that ( x , w ) R for x. However, in proof of knowledge (PoK), the prover cannot only prove the exists of some witness but also be convinced that he/she indeed know a specific witness w.
The main properties of ZKP for a relation R are as follows.
Completeness: Given a witness ω that satisfies ( x , ω ) R , the prover could convince the verifier of his knowledge. i.e.,
Verify(Prove(x,w)) = accept.
Soundness: Given a witness ω that does not satisfy ( x , ω ) R , for any polynomial-time prover, the probability that the verification can be accepted is negligible. i.e.,
Pr[Verify(Prove(x,w)) = accept∧(x,w) ∉ R] ≤ neg (λ).
Zero knowledge: The interaction between a prover and a verifier is called a view. The zero-knowledge property could be captured by the existence of a simulator E that could access to the verifier’s input but not the prover’s: with the assumption x L , if the simulated view, i.e., the transcript, is indistinguishable from the original view between the honest prover and the verifier, whether honest or cheating. We say the ZKP scheme has the property of zero knowledge. Moreover, in PoK, there exists a knowledge extractor, which has rewindable access to the prover, and could extract the witness with nonnegligible probability.

4. Model of zk-MIPE

Definition 5.
A privacy-preserving task-matching and multi-submission detection scheme zk-MIPE is defined by a tuple of the following algorithms:
  • CA Setup ( λ , m ) . The algorithm is executed by the central authority C A . It takes a security parameter λ and several attribute authorities m as inputs. It then publishes a system public key P K and keeps a system master key S K secretly.
  • AA Setup ( λ , n ) . Run by the attribute authorities A A j , the algorithm takes a security parameter λ and several intra-domain attributes n as inputs. It then outputs a public key P K j and an attribute-related secret key S K j for each A A j .
  • Task Releasing ( M , P K , { P K j } j [ 1 , m ] , w ) . Executed by the requester, the algorithm takes the public key, a message and a constraint as inputs. Then it outputs an inner-product ciphertext C.
  • Registration ( S K , u , { S K j } j [ 1 , m ] , z ) . According to the identity u and attributes z , the secret key K u for the registrant is generated by C A and A A j .
  • Decryption ( C , K u ) . Executed by the worker u, the algorithm takes the ciphertext C and the private key K u as inputs. It then outputs the message M.
  • Matching and Multi-Submission Verification ( C , { P K j } j [ 1 , m ] , K u ) . Executed by C S and workers, this algorithm takes as inputs the public parameter P K j , the private key s k j and the ciphertext C. It then runs a zero-knowledge proof to verify the compliance of attributes and submission times between C S and the worker. It then outputs accept or reject.

5. zk-MIPE Scheme

Based on the difficult problems of bilinear pairings and a specific zero-knowledge proof protocol, we propose a zk-MIPE algorithm to deliver task-matching and multiple data submissions detection services in crowdsourcing. The scheme is roughly described in Figure 2.
For instance, suppose the task content is to collect some physical indicators, and the task constraint is: male, 48 years old, and suffering from hypertension or arthritis. Let Z 1 , Z 2 , Z 3 be three attributes, which represent gender, age and disease. Let z 1 , z 2 , z 3 be the specific attribute values for workers. We quantify gender and disease in task constraints, e.g., for attribute Z 1 , set male = 1 and female = 2, and for attribute Z 3 , set hypertension = 1, arthritis = 2, gastritis = 3. Then the restriction is { Z 1 = 1 Z 2 = 45 ( Z 3 = 1 Z 3 = 2 ) } which could be further denoted as r 1 ( Z 1 1 ) + r 2 ( Z 2 45 ) + r 3 ( Z 3 1 ) ( Z 3 2 ) = 0 for r 1 , r 2 , r 3 F q . The worker’s attribute vector z is defined as ( 1 , z 1 , z 2 , z 3 , z 3 2 ) . To make the equation r 1 ( z 1 1 ) + r 2 ( z 2 45 ) + r 3 ( z 3 1 ) ( z 3 2 ) = 0 hold if and only if the inner product < w , z > = 0 is zero, the vector w is defined as ( 45 r 1 r 2 + 2 r 3 , r 1 , r 2 , 3 r 3 , r 3 ) .
Given a task ciphertext encrypted with restriction w , if a worker’s attribute is: male, 45 years old, with hypertension, he will be able to decrypt the task ciphertext and be eligible to participate in the task. In the task submission stage, he could generate a proof in the form of zero-knowledge and sends it to the CS together with his collected data. In the process of verification, the CS can verify whether the worker meets the constraints and whether the submission is repeated, but cannot get the explicit attribute information of the worker. Each worker could select a random number ϕ as his identity-based private key. For each task, he sends the calculated S = e ( g , g ) 1 ϕ + H ( C t a s k ) , where H is a one-way hash function, and the proof of the attribute private key to the CS. Through a zero-knowledge proof protocol he will prove to the CS that it is the first time to submit, and he is a suitable worker without disclosing ϕ , z , and the private key of z . The value of S is unique for one task. If the CS detects the same S, it means duplicate submission. Moreover, if a worker chooses another random number ϕ as his identity-based private key, since the attribute private key, generated by the authorities, is bound with the information of ϕ , he will not be able to pass the verification of matching attributes and constraints.
Furthermore, a crowdsourcing task usually involves multiple workers. IPE just solves the problem of one to many. A ciphertext can be decrypted by many users, which is suitable for multi-user scenarios. Once the crowdsourcing requester encrypts a task, it can be decrypted by any worker who meets the requirements. For the crowdsourcing server with mighty computing power, it is also feasible to handle the task requests issued by multiple requesters in parallel. The introduction of multiple authorities further increases the scalability of the scheme.
Specifically, the scheme is as follows.
  • CA Setup ( λ , m ) . Executed by C A , the algorithm takes a security parameter λ as input and runs G ( λ ) to output a symmetric group G = ( G 1 , G T ) of prime order q. It picks a random generator g G 1 , a random t Z q and a one-way hash function H 1 : { 0 , 1 } * G 1 . Then it sets the public key as P K = { g , Y = g t , H 1 } and the system master key as S K = { t } .
  • AA Setup ( λ , n ) . The attribute authority A A j randomly picks α j , γ j 1 , . . . , γ j n Z q and computes h j i = g 1 γ j i as the public key for each attribute A t t j i belonging to A A j . Then A A j publishes P K j = { e ( g 1 , g 1 ) α j , h j 1 , . . . h j n } and sets S K j = { α j , γ j 1 , . . . γ j n } as its secret key.
  • Task Releasing ( M G T , P K , { P K j } j [ 1 , m ] , w = ( w 1 , . . . , w m ) Z q m n ) . The algorithm, executed by the requester, takes the public key P K , P K j (for j [ 1 , m ] ), description of constraints w = ( w 1 , . . . , w m ) Z q n m in which w j = ( w j i ) Z q n and the message M G T as input. It randomly chooses s 1 , s 2 , σ 1 , σ 2 Z p and computes
    C 0 = M · e ( g , g ) j = 1 m s 1 α j , C 1 = g s 1 , C 2 = Y s 1 , C 1 = g s 2 , C 2 = Y s 2 ,
    { C j i = h j i s 1 · g σ 1 w j i , C j i = h j i s 2 · g σ 2 w j i } i [ 1 , n ] , j [ 1 , m ] , C T = e ( g , g ) j = 1 m s 2 α j .
    Then it outputs the task ciphertext as
    C = ( C 0 , C 1 , C 2 , C 1 , C 2 , C 11 , C 11 , . . . , C m n , C m n , C T ) .
  • Registration ( S K , u , { S K j , z j = ( z j 1 , . . . , z j n ) Z q n } j [ 1 , m ] ) . Users can either register as requesters or workers. Both C A and A A j are responsible for generating private keys for registered users by calling the following algorithms.
(1)
If a user registers as a worker, he/she first selected a random ϕ Z q , computes U = g ϕ as the public key, and sends U to C A . Then C A randomly picks β u 1 , . . . , β u m Z q , sets β u = j = 1 m β u j and distributes β u j to A A j secretly. In particular, β u corresponds uniquely with the worker u. Then C A computes
C K u = g β u t , T u = ( U g ) t β u + t .
After that, C A sends ( C K u , T u ) to the worker. For each registered requester, C A sends the system public key to the requester.
(2)
After receiving β u j from C A , A A j chooses a random τ u j Z q and computes Q u j = g τ u j for the worker u. Then it creates the secret key about the attribute-based vector z j as
A K u j = g α j β u j · Q u j i = 1 n γ j i z j i .
The algorithm outputs the worker secret key as K u = ( C K u , T u , { A K u j , Q u j } j [ 1 , m ] ) .
  • Decryption ( C , K u ) . The algorithm, executed by the worker, takes the ciphertext C and the secret key K u as input. It first computes
    E 1 = e ( C K u , C 2 ) , E 2 = j = 1 m e ( A K u j , C 1 ) i = 1 n e ( Q u j z j i , C j i )
    .
    Then it could recover message M by computing M = C 0 E 1 · E 2 .
    When < w , z > = 0 , the computation is correct since
    E 1 = e ( C K u , C 2 ) = e ( g β u t , g t s 1 ) = e ( g , g ) β u s 1 ,
    E 2 = j = 1 m e ( A K u j , C 1 ) i = 1 n e ( Q u j z j i , C j i ) = j = 1 m e ( g α j β u j · Q u j i = 1 n γ j i z j i , g s 1 ) i = 1 n e ( Q u j z j i , h j i s 1 g σ 1 w j i ) = j = 1 m e ( g α j β u j , g s 1 ) · e ( Q u j i = 1 n γ j i z j i , g s 1 ) i = 1 n e ( Q u j z j i , h j i s 1 ) e ( Q u j z j i , g σ 1 w j i ) = e ( g , g ) j = 1 m ( α j β u j ) s 1 · j = 1 m e ( Q u j i = 1 n γ j i z j i , g s 1 ) e ( Q u j , g ) s 1 i = 1 n γ j i z j i e ( Q u j , g ) σ 1 < z j , w j > = e ( g , g ) j = 1 m α j s 1 · e ( g , g ) β u s 1 .
    Thus, C 0 E 1 · E 2 = C 0 e ( g , g ) j = 1 m s 1 α j = M .
  • Matching and Multi-Submission Verification ( C , { P K j } j [ 1 , m ] , K u ) . The algorithm tasks the system public, the worker secret key K u and the task ciphertext C as inputs. In the interaction protocol between the worker and the platform, if < w j , z j > = 0 for j = [ 1 , m ] , the worker u first computes S = e ( g , g ) 1 ϕ + H ( C 0 ) and sends S to C S . Then C S checks whether S has been used once. If used, C S rejects the request. If not, C S will allow u to run the following zero-knowledge proof of knowledge protocol P 0 with it to prove the knowledge of ( ϕ , K u ) :
    P 0 { ( ϕ , K u = ( C K u , T u , { A K u j , Q u j } j [ 1 , m ] ) ) : S = e ( g , g ) 1 ϕ + H ( C 0 ) e ( T u , g · C K u ) = e ( U g , g ) e ( C K u , C 2 ) · j = 1 m e ( A K u j , C 1 ) i = 1 n e ( Q u j z j i , C j i ) = C T } .
    To implement the protocol P 0 , u will calculate some auxiliary inputs and use some tricks to convert the protocol equivalently. Specifically, u interacts with C S as follows.
    (1) C S randomly picks two generators g ^ , h ^ G and sends them to u, where the discrete logarithm of h ^ with respect to g ^ is unknown to u. Then u picks random κ , δ , μ , ν 1 , . . . , ν m , ς 11 , . . . , ς m n Z q and computes
    π T = T u h ^ κ , χ T = h ^ δ g ^ κ , π C = C K u h ^ μ , { π A j = A K u j h ^ ν j } j [ 1 , m ] , { π Q j i = Q u j z j i h ^ ς j i } j [ 1 , m ] , i [ 1 , n ] , ρ 1 = κ μ , ρ 2 = δ μ .
    After that, u returns auxiliary values ( π T , χ T , π C , { π A j , π Q j i } j [ 1 , m ] , i [ 1 , n ] ) to C S . In this case, the protocol can be expressed as the following zero-knowledge proof of knowledge protocol P 1 to prove the knowledge of ( ϕ , κ , δ , μ , ν 1 , . . . , ν m , ς 11 , . . . , ς m n , ρ 1 , ρ 2 ) :
    P 1 { ( ϕ , κ , δ , μ , ν 1 , . . . , ν m , ς 11 , . . . , ς m n , ρ 1 , ρ 2 ) : χ T μ · h ^ ρ 2 · g ^ ρ 1 = 1 G S = e ( g , g ) 1 ϕ + H ( C 0 ) e ( π T , g π C ) = e ( π T , h ^ μ ) · e ( h ^ κ , g π C ) · e ( h ^ , h ^ ) ρ 1 · e ( U g , g ) e ( π C , C 2 ) · j = 1 m e ( π A j , C 1 ) i = 1 n e ( π Q j i , C j i ) = C T · e ( h ^ , C 2 ) μ · j = 1 m e ( h ^ , C 1 ) ν j i = 1 n e ( h ^ , C j i ) ς j i } .
    Assume that the auxiliary value calculated by u has been sent to C S . Next, we will describe the implementation details of the honest-verifier zero-knowledge protocol P 1 below.
    (1) Commitment. u picks random ξ ϕ , ξ κ , ξ δ , ξ μ , ξ ν 1 , . . . , ξ ν m , ξ ς 11 , . . . , ξ ς m n , ξ ρ 1 , ξ ρ 2 Z q and computes
    L 1 = h ^ ξ δ g ^ ξ κ , L 2 = χ T ξ μ · h ^ ξ ρ 2 g ^ ξ ρ 1 , L 3 = S ξ ϕ , L 4 = e ( π T , h ^ ) ξ μ · e ( h ^ , g π C ) ξ κ · e ( h ^ , h ^ ) ξ ρ 1 · e ( g , g ) · e ( g , g ) ξ ϕ , L 5 = C T · e ( h ^ , C 2 ) ξ μ · j = 1 m e ( h ^ , C 1 ) ξ ν j i = 1 n e ( h ^ , C j i ) ξ ς j i .
    Then the worker sends these auxiliary values L 1 , . . . , L 5 to C S .
    (2) Challenge. C S picks a random ε Z q and sends ε to the worker.
    (3) Response. the worker computes the following auxiliary value at first.
    z ϕ = ξ ϕ ε ϕ , z κ = ξ κ ε κ , z δ = ξ δ ε δ , z μ = ξ μ ε μ , z v 1 = ξ ν 1 ε ν 1 , . . . , z v m = ξ ν m ε ν m , z ς 11 = ξ ς 11 ε ς 11 , . . . , z ς m n = ξ ς m n ε ς m n , z ρ 1 = ξ ρ 1 ε ρ 1 , z ρ 2 = ξ ρ 2 ε ρ 2 .
    Then u sends the sets of ( z ϕ , z κ , z δ , z μ , z v 1 , . . . , z v m , z ς 11 , . . . , z ς m n , z ρ 1 , z ρ 2 ) to C S .
    (4) Verification. C S checks whether the following equation holds:
    L 1 = h ^ z δ χ T ε g ^ z κ , L 2 = χ T z μ h ^ z ρ 2 g ^ z ρ 1 , L 3 = S z ϕ ε H ( C 0 ) · e ( g , g ) ε , L 4 = e ( π T , h ^ ) ξ μ · e ( h ^ , g π C ) ξ κ · e ( h ^ , h ^ ) ξ ρ 1 · e ( g , g ) · e ( g , g ) ξ ϕ , L 5 = C T 1 ε · [ e ( π C , C 2 ) · j = 1 m e ( h ^ , C 1 ) i = 1 n e ( π Q j i , C j i ) ] ε · e ( h ^ , C 2 ) z μ · j = 1 m e ( h ^ , C 1 ) z ν j i = 1 n e ( h ^ , C j i ) z ς j i .
    Through the above interactive process, C S verifies whether the workers meet the constraints and submit repeatedly. If the verification is valid, CS returns the task answer submitted by the worker to the requester. As follows, we discuss the soundness of the protocol.
    Soundness of P 0 : P 1 is a 3-move protocol, where the prover sends the commitment, the verifier chooses a random challenge, and the prover response to the challenge based on elliptic curve discrete logs. It is straightforward to show that P 1 is of soundness, i.e., there exists an extractor E 1 , which is given rewindable black-box access to the prover, could output some witness ( ϕ , κ , δ , μ , ν 1 , . . . , ν m , ς 11 , . . . , ς m n , ρ 1 , ρ 2 ) or a halting symbol ⊥ to indicate "failure". By running P 1 and calling E 1 , we can construct an extractor E 0 . When E 1 outputs ⊥, E 0 outputs ⊥ and stops. If E 1 outputs the witness ( ϕ , κ , δ , μ , ν 1 , . . . , ν m , ς 11 , . . . , ς m n , ρ 1 , ρ 2 ) , the extractor could further output some valid witness ( ϕ , π T , π C , π A 1 , . . . , π A m , π Q 11 , . . . , π Q m n ) with the same probability. Based on the outputs of E 1 , E 0 computes
    π ^ T = π T h ^ κ , π ^ C = π C h ^ μ , { π ^ A j = π A j h ^ ν j } j [ 1 , m ] , { π ^ Q j i = π Q j i h ^ ς j i } j [ 1 , m ] , i [ 1 , n ] .
    We show how these values satisfy the equation relation of P 0 as follows.
    Due to soundness of P 1 ,
    e ( π T , g · π C ) = e ( π T , h ^ μ ) · e ( h ^ κ , g · π C ) · e ( h ^ , h ^ ) ρ 1 · e ( U g , g ) .
    Rearranging the terms, where ρ 1 = κ μ :
    e ( π T , g π C ) · e ( h ^ κ , g π C ) · e ( π T , h ^ μ ) · e ( h ^ , h ^ ) ρ 1 = e ( U g , g ) .
    That is
    e ( π T , g π C ) · e ( h ^ κ , g π C ) · e ( π T , h ^ μ ) · e ( h ^ , h ^ ) ρ 1 = e ( π T h ^ κ , g π C ) · e ( π T h ^ κ , h ^ μ ) · e ( h ^ κ , h ^ μ ) · e ( h ^ , h ^ ) κ μ = e ( π ^ T , g π ^ C ) = e ( U g , g ) .
    Due to soundness of P 1 ,
    e ( π C , C 2 ) · j = 1 m e ( π A j , C 1 ) i = 1 n e ( π Q j i , C j i ) = C T · e ( h ^ , C 2 ) μ · j = 1 m e ( h ^ , C 1 ) ν j i = 1 n e ( h ^ , C j i ) ς j i .
    Rearranging the terms:
    e ( π C , C 2 ) · j = 1 m e ( π A j , C 1 ) i = 1 n e ( π Q j i , C j i ) · e ( h ^ , C 2 ) μ · j = 1 m e ( h ^ , C 1 ) ν j i = 1 n e ( h ^ , C j i ) ς j i = C T .
    That is
    e ( π C , C 2 ) · j = 1 m e ( π A j , C 1 ) i = 1 n e ( π Q j i , C j i ) · e ( h ^ , C 2 ) μ · j = 1 m e ( h ^ , C 1 ) ν j i = 1 n e ( h ^ , C j i ) ς j i = e ( π C h ^ μ , C 2 ) · j = 1 m e ( π A j h ^ ν j , C 1 ) i = 1 n e ( π Q j i h ^ ς j i , C j i ) = e ( π ^ C , C 2 ) · j = 1 m e ( π ^ A j , C 1 ) i = 1 n e ( π ^ Q j i , C j i ) = C T .
    Then E 0 could output ( ϕ , π ^ T , π ^ C , π ^ A 1 , . . . , π ^ A m , π ^ Q 11 , . . . , π ^ Q m n ) as the witnesses satisfying P 0 . Therefore P 0 is of soundness.

6. Security Proof

In this section, we analyze the security of our scheme and show that it has the properties of task confidentiality, one-time authentication and anonymity.
Assume there exists a PPT adversary A that wins the following games in our scheme, we can construct a PPT simulator B that solves the CDH problem, DDH problem or the q-DDHI problem with nonnegligible advantage.
Theorem 1.
Assume the DDH assumption holds, then the proposed zk-MIPE scheme is IND-CPA secure.
Proof. 
Against an adversary who wants to learn task content, the security algorithms are designed as follows. □
Algorithm I
  • Init. The challenger sets G = ( G 1 , G T ) and randomly chooses ( g , g a , g b , g c ) G 1 . It flips a coin b ¯ outside of B 1 ’s view and sets T as follows:
    If b ¯ = 0 , it computes T = e ( g , g ) a b c ; otherwise, it chooses a random T G 2 . Then it sends ( g , g a , g b , g c , T ) to B 1 . After that, A 1 submits the challenge access structure w * = ( w 1 * , . . . , w m * ) to B 1 .
  • CA Setup. Given the secure parameter λ , B 1 randomly chooses t Z q and sets Y = g t . Then it gives the public key P K = { Y , H 1 } to A 1 .
  • AA Setup. B 1 randomly chooses { x j , η j i } j [ 1 , m ] , i [ 1 , n ] at first. Here, we suppose A A j ^ is one of the honest attribute authority.
(1)
For j j ^ , B 1 sets α j = x j , γ j i = η j i and lets S K j = { α j , γ j i } i [ 1 , n ] for A A j . Then it computes h j i = g η j i and sends the public key P K j = { e ( g , g ) α j , h j 1 , . . . , h j n } to A 1 .
(2)
For j = j ^ , B 1 sets α j ^ = a b + x j ^ , γ j i = w j ^ i * b + η j ^ i and lets S K j ^ = { α j ^ , γ j ^ i } i [ 1 , n ] for A A j ^ . Then it computes h j ^ i = g w j ^ i * b + η j ^ i and sends P K j ^ = { e ( g , g ) α j ^ , h j ^ 1 , . . . , h j ^ n } to A 1 .
  • Registration Queries I. A 1 repeatedly makes registration queries with respect to attribute key value z such that < w j ^ * , z j ^ > 0 . Notice that for any other honest A A j , B 1 will also respond the corresponding secret key even if < w j * , z j > = 0 .
    A 1 chooses a user u and sets U as his/her public key. It sends U to B 1 . Then B 1 chooses random β u 1 , . . . , β u m Z q , sets β u = j = 1 m β u j and computes C K u = g β u t , T u = ( U g ) t β u + t . After that B 1 computes the attribute related secret key as follows.
(1)
For j j ^ , B 1 chooses a random τ u j Z q and computes
Q u j = g τ u j , A K u j = g α j β u j · Q i = 1 n γ j i z j i .
(2)
For j = j ^ , B 1 randomly chooses a τ u j ^ Z q and computes
Q u j ^ = g a < w j ^ * , z j ^ > + τ u j ^ , A K u j ^ = g α j ^ β u j ^ · Q u j ^ i = 1 n γ j ^ i z j ^ i = g x j ^ β u j ^ + a < η j ^ , z j ^ > < w j ^ * , z j ^ > b τ u j ^ < w j ^ * , z j ^ > + τ u j ^ < η j ^ , z j ^ > .
  • Challenge. A 1 submits two challenge messages M 0 , M 1 G T to B 1 . B 1 flips a coin b { 0 , 1 } and computes the ciphertext as follows.
    B 1 chooses a random ( φ , s 2 ) Z q , sets s 1 = c + φ and computes
    C 0 * = M b · e ( g , g ) j = 1 m s 1 α j = M b · T · e ( g , g ) j = 1 m ( c + φ ) x j + a b φ , C 1 * = g s 1 = g c + φ , C 2 * = Y s 1 = Y c + φ , C 1 * = g s 2 , C 2 * = Y s 2 , C j i * = h j i s 2 g σ 2 w j i * = g η j i s 2 + σ 2 w j i * , C T * = e ( g , g ) j = 1 m s 2 α j .
    Then B 1 computes C j i * as follows.
(1)
For j j ^ , B 1 chooses a random θ Z q , sets σ 1 = θ and computes
C j i * = h j i s 1 · g σ 1 w j i * = g η j i ( c + φ ) + θ w j i * .
(2)
For j = j ^ , B 1 chooses a random θ Z q , sets σ 1 = b c + θ and computes
C j ^ i * = h j ^ i s 1 · g σ 1 w j ^ i * = g w j ^ i * b φ + η j ^ i ( c + φ ) + θ w j ^ i * .
  • Registration Queries II. A 1 submits a polynomially bounded number of registration queries with respect to attribute sets z 1 , . . . , z q . B 1 responds as it did in Registration Queries I.
  • Guess. A 1 outputs a guess b of b. If b = b , B 1 will guess T is a DDH tuple, i.e., b ¯ = 0 ; otherwise, it guesses T is a random tuple, i.e., b ¯ = 1 . It indicates that if the adversary wins this game with nonnegligible advantage, then the simulator will have obviously advantage in the DDH game.
Theorem 2.
Assume the CDH assumption holds, then the proposed zk-MIPE scheme is one-time authenticate.
Proof. 
Against an adversary who wants to forge a valid proof for the attributes he/she does not possess, the security algorithms are designed as follows.
In our scheme, for each task, the value of a tag S = e ( g , g ) 1 ϕ + H ( C 0 ) submitted by a user u is different and unique fixed. If submitting a tag twice will be forbidden. Thus, as follows, we show that it is difficult for unsuitable workers to forge a valid authentication message based on the CDH assumption. □
Algorithm II
  • Init. The challenger sets G = ( G 1 , G T ) and randomly chooses ( g , g a , g b ) G 1 . Then it sends g , g a , g b to B 2 . After that, A 2 submits the challenge access structure and message ( w * , M * ) .
  • CA Setup. Running the CA setup algorithm, B 2 does as in Algorithm I.
  • AA Setup. Running the AA setup algorithm, B 2 does as in Algorithm I.
  • Registration Queries I. Running the registration algorithm, B 2 does as in Algorithm I.
  • Verification Queries I. A 2 submits a series of queries about ( M k , w k , z k ) to B 2 . It requires that w k w * , < w k , z k > = 0 and < w * , z k > 0 , and if not, it aborts. B 2 runs matching and detection verification algorithm, interacts with A 2 , and generates proof transcript for ( M k , w k , z k ) .
  • Forgery. For the specified ( M * , w * ) , A 2 chooses a worker public key U * and an attribute vector z * such that < w * , z * > = 0 . In this algorithm, we will not consider the privacy of w * . Based on w * , B 2 computes ciphertext about message M * . Then A 2 interacts with B 2 to generate a transaction of the protocol P 0 , proving that it has the private key about a suitable vector. If A 2 outputs a valid forged proof and the protocol is sound, B 2 could then obtain g a b from the forgery.
Theorem 3.
Suppose that the q-DDHI assumption holds and the protocol P 0 is zero-knowledge, then the proposed scheme is private and unlinkable.
Proof. 
To prove the privacy of the scheme, we first summarize the zero-knowledge of P 0 .
Zero-knowledgeness of P 0 . For the implementation of P 0 , we introduced some auxiliary inputs ( π T , χ T , π C , { π A j , π Q j i } j [ 1 , m ] , i [ 1 , n ] ) and protocol P 1 . Based on the Logarithm assumption and the DDH assumption, the zero-knowledge property of P 1 is guaranteed for honest verifier, i.e., there exists a simulator S on imputing a random challenge ε , the simulator could output a transcript for ( L 1 , . . . , L 5 , z ϕ , z κ , z δ , z μ , z v 1 ,..., z v m , z ς 11 ,..., z ς m n , z ρ 1 , z ρ 2 ) . For any adversary, the distribution of the output is indistinguishable. By invoking S the simulator of protocol P 1 , protocol P 0 could further prove its zero-knowledge property. □
Then we define the game between an adversary A 3 and a simulator B 3 which is given a q-DDHI instance as follows.
Algorithm III
  • Init. The challenger sets G = ( G 1 , G T ) and randomly chooses g , g x , g x 2 , . . . , g x q G 1 . It flips a coin b ¯ . If b ¯ = 0 , it computes T = e ( g , g ) 1 x ; otherwise, it chooses a random T G T . After that, A 3 submits two challenge users u 0 , u 1 with attribute vector z 0 , z 1 to B 3 .
  • CA Setup. Given the secure parameter λ , B 3 chooses a random t Z p and sets Y = g t . Then it gives the public key P K = { Y , H 1 } to A 3 .
  • AA Setup. B 3 randomly chooses { x j , η j i } j [ 1 , m ] , i [ 1 , n ] , sets α j = x j , γ j i = η j i and lets S K j = { α j , γ j i } i [ 1 , n ] for A A j . Then it computes h j i = g η j i and sends the public key P K j = { e ( g , g ) α j , h j 1 , . . . , h j n } to A 3 .
  • Registration Queries I. B 3 sets C K u * = g x for a user u * and receives the value T u * , which may equal to g 1 x + 1 or a random element in G 1 , from the challenger initially. A 3 issues registration queries repeatedly. B 3 generates the secret key honestly except for u * . If u i = u * , it aborts. Moreover, it is required that A 3 does not make secret key queries for both u 0 and u 1 .
  • Challenge. Without loss of generality, B 3 assumes u 0 = u * . It flips a coin b { 0 , 1 } and runs registration queries to obtain the corresponding K u b . Then, B 3 operates Task Releasing with an attribute vector w * (with restrictions that < w * , z 0 > = 0 and < w * , z 1 > = 0 ) to acquire the ciphertext C * . After receiving C * , A 3 issues Verification and receives a valid proof from B 3 by applying the zero-knowledge protocol P 0 .
  • Registration Queries II. A 3 submits a polynomially bounded number of registration queries repeatedly. B 3 responds as it did in Registration Queries I.
  • Guess. A 3 outputs a guess b of b. If b = b , B 3 will guess T is a q-DDHI tuple, i.e., b ¯ = 0 ; otherwise, it guesses T is a random tuple, i.e., b ¯ = 1 . Observe that if H is a one-way pseudo-random hash function and the q-DDHI assumption holds, the adversary will know nothing about β u . By the zero-knowledge property of protocol P 0 , the information about the identity U, the policy w and the attribute z will not be leaked. Thus, the algorithm could protect identity privacy and submission unlinkability.

7. Performance Evaluation

In reality, we implement the ZK-MIPE scheme on a Linux desktop with 6-core Intel(R) Xeon(R) Platinum 8369HC CPU 3.40 GHz processor and 32 GB of RAM. We use the PBC library to simulate the group operations. The symmetric elliptic curve SS512 is chosen with embedding degree 2 and a 512-bit base field.
Table 1 and Table 2 show the comparison between our scheme and other solutions in terms of functionality and security. Compared with [24], zk-MIPE supports more flexible matching poly and supports worker identity privacy. Compared with [23,25], zk-MIPE provides privacy for task constraints and worker attributes. As follows, we analyze the computational complexity of each participant in our scheme and test the running time to demonstrate scheme’s effectiveness. The notations applied in the proposed scheme are summarized in Table 3. Ignoring the operations of equality comparison, hash and multiplication, the communication and computation comparison of the schemes is shown in Table 4 and Table 5.
In our scheme, the main overhead on C A and A A j are from system setup and user registration. In C A setup, the computation complexity of C A is E 1 . In A A setup, the computation complexity of A A j is n E 1 + P . In user registration, the computation complexity of C A and A A j are 2 k E 1 and 3 k E 1 , respectively. The total communication complexity of the authorities for distributing a key to a registered user is m ( Z q + 3 | G 1 | ) .
The main overhead on the requester is from task releasing. In this step, the requester expresses the task requirements with vector w and encrypt the task based on w such that only the suitable worker could decrypt the task content. Meanwhile, the requester is required to blind the vector w for the C S to perform matching verification in the matching and submission verification phase. The computation complexity of the requester is ( 4 + 4 n m ) E 1 + 2 E T . The total communication complexity of the requester for task releasing is ( 5 + 2 n m ) | G 1 | + | G 2 | . To test the time cost of the requester, we set the number of attribute authorities as m = 5 , and vary the number of attributes n in Figure 3a. In Figure 3b, we set n = 20 and vary the number of attribute authorities m.
The main overhead on the worker is from registration, decryption and verification. As shown in Figure 4a, we set m = 5 , and vary the number of attributes to test the time cost on the worker. In Figure 4b, we set n = 20 and vary the number of attribute authorities. In user registration and decryption, the computation complexity of the worker is E 1 + n m E 1 + ( m + n + 1 ) P . Although in decryption algorithm, the computing cost for the worker increases linearly with the number of attributes, most of the computing overhead can be transferred to the C S by outsourcing computing. In this case, the worker only needs to carry out a small amount of calculation.
In the stage of submission and verification, the worker and C S achieve privacy-preserving matching and multi-submission verification through a zero-knowledge proof protocol. The interactive proof protocol consists of 3 rounds. The total computation and communication complexity of the worker are ( 9 + m + n m ) E 1 + ( 6 + m + n ) E T + ( 4 + n + m ) P and 5 | G T | + ( 7 + m + n m ) ( | z q | + | G 1 | ) respectively. In Figure 5, we take m = 5 , and vary n as well as the number of workers k to test the time cost of verification for C S . The total computation and communication complexity of C S are 5 E 1 + ( 10 + m + n m ) E T + ( 5 + 2 m + 2 n m ) P and 2 | G 1 | + | z q | , respectively.

8. Conclusions

In this paper, we present a novel multi-authorities inner-product encryption and one-time anonymous authentication scheme to realize privacy-preserving task-matching and multi-submission detection. In the system, both the user attributes and the number of submissions will be applied as authorization factors. By combining zero-knowledge proof technology and our anti-collusion multi-authorities inner-product encryption, the task confidentiality, worker attribute and unlinkability between different tasks participated by the same worker are guaranteed simultaneously. Moreover, the security of the scheme is proved based on bilinear difficulty assumptions and zero-knowledge of the protocol. For the sake of completeness, we finally analyze the function and efficiency of the scheme and show that it is practical for crowdsourcing environments. In addition to crowdsourcing privacy protection, our method could also play its role in the fields of searchable encryption, nearest neighbor search, fine-grained access control, electronic voting, electronic payment, and anonymous authentication.
In future work, we will continue to improve the algorithm itself and try to construct privacy protection schemes in a distributed crowdsourcing scenario without a trusted third party. Furthermore, we will study the integration of cryptography and other technologies, such as machine learning technology, to further improve the flexibility and efficiency of the solution.

Author Contributions

Conceptualization, J.X. and Z.L.; methodology, J.X.; validation, J.W.; formal analysis, J.X.; writing—original draft preparation, J.X. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the National Natural Science Foundation of China (Grant No. 61802025), the Beijing Talents Foundation, China (Grant No. 2017000020124G062) and the Natural Science Foundation of Jiangsu Province, China (Grant No. BK20170802).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Von Ahn, L.; Maurer, B.; McMillen, C.; Abraham, D.; Blum, M. Recaptcha: Human-based character recognition via Web security measures. Science 2008, 321, 1465–1468. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. McInnis, B.; Cosley, D.; Nam, C.; Leshed, G. Taking a HIT: Designing around rejection, mistrust, risk, and workers’ experiences in Amazon Mechanical Turk. In Proceedings of the CHI ’16: Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, San Jose, CA, USA, 7–12 May 2016; pp. 2271–2282. [Google Scholar]
  3. Liu, A.; Wang, W.; Shang, S.; Li, Q.; Zhang, X. Efficient task assignment in spatial crowdsourcing with worker and task privacy protection. Geoinformatica 2018, 22, 335–362. [Google Scholar] [CrossRef] [Green Version]
  4. Xu, J.; Cui, B.; Shi, R.; Feng, Q. Outsourced privacy-aware task allocation with flexible expressions in crowdsourcing. Future Gener. Comput. Syst. 2020, 112, 383–393. [Google Scholar] [CrossRef]
  5. Chase, M.; Chow, S.S.M. Improving privacy and security in multi-authority attribute-based encryption. In Proceedings of the CCS ’09: 16th ACM Conference on Computer and Communications Security, Chicago, IL, USA, 9–13 November 2009; pp. 121–130. [Google Scholar]
  6. Xiong, J.; Ma, R.; Chen, L.; Tian, Y.; Li, Q.; Liu, X.; Yao, Z. A personalized privacy protection framework for mobile crowdsensing in IIoT. IEEE Trans. Ind. Inform. 2020, 16, 4231–4241. [Google Scholar] [CrossRef]
  7. Lin, C.; He, D.; Zeadally, S.; Kumar, N.; Choo, K.R. SecBCS: A secure and privacy-preserving blockchain-based crowdsourcing system. Sci. China Inf. Sci. 2020, 63, 130102:1–130102:14. [Google Scholar] [CrossRef] [Green Version]
  8. Feng, W.; Yan, Z. MCS-chain: Decentralized and trustworthy mobile crowdsourcing based on blockchain. Future Gener. Comput. Syst. 2019, 95, 649–666. [Google Scholar] [CrossRef]
  9. Li, M.; Weng, J.; Yang, A.; Lu, W.; Zhang, Y.; Hou, L.; Deng, R.H. CrowdBC: A blockchain-based decentralized framework for crowdsourcing. IEEE Trans. Parallel Distrib. Syst. 2019, 30, 1251–1266. [Google Scholar] [CrossRef]
  10. Wei, J.; Wang, X.; Li, N.; Yang, G.; Mu, Y. A Privacy-preserving fog computing framework for vehicular crowdsensing networks. IEEE Access 2018, 6, 43776–43784. [Google Scholar] [CrossRef]
  11. Vu, K.; Zheng, R.; Gao, J. Efficient algorithms for k-anonymous location privacy in participatory sensing. In Proceedings of the 2012 Proceedings IEEE INFOCOM, Orlando, FL, USA, 25–30 March 2012; pp. 2399–2407. [Google Scholar]
  12. Andrés, M.E.; Bordenabe, N.E.; Chatzikokolakis, K.; Palamidessi, C. Geoindistinguishability: Differential privacy for location-based systems. In Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security CCS’13, Berlin, Germany, 4–8 November 2013; pp. 901–914. [Google Scholar]
  13. Wei, J.; Lin, Y.; Yao, X.; Zhang, J. Differential privacy-based location protection in spatial crowdsourcing. IEEE Trans. Services Comput. 2019, 16, 934–949. [Google Scholar] [CrossRef]
  14. Xiao, L.; Li, Y.; Han, G.; Dai, H.; Poor, H.V. A secure mobile crowdsensing game with deep reinforcement learning. IEEE Trans. Inf. Forensics Secur. 2018, 13, 35–47. [Google Scholar] [CrossRef]
  15. Knirsch, F.; Unterweger, A.; Engle, D. Privacy-preserving blockchain-based electric vehicle charging with dynamic tariff decisions. Comput. Sci. Res. Dev. 2018, 33, 71–79. [Google Scholar] [CrossRef] [Green Version]
  16. Yang, D.; Qu, B.; Cudré-Mauroux, P. Privacy-preserving social media data publishing for personalized ranking-based recommendation. IEEE Trans. Konwl. Data Eng. 2019, 31, 507–520. [Google Scholar] [CrossRef] [Green Version]
  17. Rantos, K.; Drosatos, F.; Demertzis, K.; Ilioudis, D.; Papanikolaou, A. ADvoCATE: A consent management platform for personal data processing in the IoT using blockchain technology. In Proceedings of the SECITC 2018: Innovative Security Solutions for Information Technology and Communications, Bucharest, Romania, 8–9 November 2018; pp. 300–313. [Google Scholar]
  18. Yi, X.; Paulet, R.; Bertino, E.; Varadharajan, V. Practical approximate k nearest neighbor queries with location and query privacy. IEEE Trans. Knowl. Data Eng. 2016, 28, 1546–1559. [Google Scholar] [CrossRef]
  19. Agir, B.; Papaioannou, T.G.; Narendula, R.; Jean-pierre, K.A. User-side adaptive protection of location privacy in participatory sensing. Geoinformatica 2014, 18, 165–191. [Google Scholar] [CrossRef]
  20. Shu, J.; Jia, X.; Yang, K.; Wang, H. Privacy-preserving task recommendation services for crowdsourcing. IEEE Trans. Services Comp. 2021, 14, 235–247. [Google Scholar] [CrossRef]
  21. Liu, S.S.; Liu, A.; Yan, Z.; Feng, W. Efficient LBS queries with mutual privacy preservation in IoV. Veh. Commun. 2019, 16, 62–71. [Google Scholar] [CrossRef]
  22. Yuan, D.; Li, Q.; Li, G.; Wang, Q.; Ren, K. PriRadar: A privacy-preserving framework for spatial crowdsourcing. IEEE Trans. Inform. Forensics Secur. 2020, 15, 299–314. [Google Scholar] [CrossRef]
  23. Ni, J.; Zhang, K.; Yu, Y.; Lin, X.; Shen, X.S. Providing task allocation and secure deduplication for mobile crowdsensing via fog computing. IEEE Trans. Dependable Secur. Comput. 2020, 17, 581–594. [Google Scholar] [CrossRef] [Green Version]
  24. Shu, J.; Liu, X.; Yang, K.; Zhang, Y.; Jia, X.; Deng, R.H. SybSub: Privacy-preserving expressive task subscription with sybil detection in crowdsourcing. IEEE Internet Things J. 2019, 6, 3003–3013. [Google Scholar] [CrossRef]
  25. Lu, Y.; Tang, Q.; Wang, G. ZebraLancer: Private and anonymous crowdsourcing system atop open blockchain. In Proceedings of the 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), Vienna, Austria, 2–6 July 2018; pp. 853–865. [Google Scholar]
  26. Shamir, A. Identity-based cryptosystems and signature schemes. In Cryptology Proceedings of CRYPTO 84; Springer: Berlin/Heidelberg, Germany, 1985; pp. 47–53. [Google Scholar]
  27. Boneh, D.; Franklin, M. Identity-based encryption from the Weil pairing. In Proceedings of the CRYPTO 2001—21st Annual International Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2001; pp. 213–229. [Google Scholar]
  28. Sahai, A.; Waters, B. Fuzzy identity-based encryption. In Proceedings of the EUROCRYPT 2005—24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, 22–26 May 2005; pp. 457–473. [Google Scholar]
  29. Han, J.; Susilo, W.; Mu, Y.; Yan, J. Privacy-preserving decentralized key-policy attribute-based encryption. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 2150–2162. [Google Scholar] [CrossRef]
  30. Jung, T.; Li, X.Y.; Wan, Z.; Wan, M. Privacy preserving cloud data access with multi-authorities. In Proceedings of the 2013 Proceedings IEEE INFOCOM, Turin, Italy, 14–19 April 2013; pp. 2625–2633. [Google Scholar]
  31. Jung, T.; Li, X.Y.; Wan, Z.; Wan, M. Control cloud data access privilege and anonymity with fully anonymous attribute-based encryption. IEEE Trans. Inform. Forensics Secur. 2015, 10, 190–199. [Google Scholar] [CrossRef] [Green Version]
  32. Boneh, D.; Waters, B. Conjunctive, subset, and range queries on encrypted Data. In Proceedings of the 4th Theory of Cryptography Conference, TCC, Amsterdam, The Netherlands, 21–24 February 2007; pp. 535–554. [Google Scholar]
  33. Katz, J.; Sahai, A.; Waters, B. Predicate encryption supporting disjunctions, polynomial equations, and inner products. In Proceedings of the EUROCRYPT 2008—Annual International Conference on the Theory and Applications of Cryptographic Techniques, Istanbul, Turkey, 13–17 April 2008; pp. 146–162. [Google Scholar]
  34. Attrapadung, N.; Libert, B. Functional encryption for inner product: Achieving constant-size ciphertexts with adaptive security or support for negation. In Proceedings of the PKC 2010—13th International Conference on Practice and Theory in Public Key Cryptography, Paris, France, 26–28 May 2010; pp. 384–402. [Google Scholar]
  35. Okamoto, T.; Takashima, K. Achieving short ciphertexts or short secret-keys for adaptively secure general inner-product encryption. Des. Codes Cryptogr. 2015, 77, 725–771. [Google Scholar] [CrossRef] [Green Version]
  36. Li, J.; Chen, X.; Li, J.; Jia, C.; Ma, J.; Lou, W. Fine-grained access control system based on outsourced attribute-based encryption. In Proceedings of the ESORICS 2013—18th European Symposium on Research in Computer Security, Egham, UK, 9–13 September 2013; pp. 592–609. [Google Scholar]
  37. Yuen, T.H.; Liu, J.K.; Au, M.H.; Huang, X.; Susilo, W.; Zhou, J. k-times attribute-based anonymous access control for cloud computing. IEEE Trans. Comput. 2015, 64, 2595–2607. [Google Scholar] [CrossRef] [Green Version]
  38. Ning, J.; Cao, Z.; Dong, X.; Liang, K.; Ma, H.; Wei, L. Auditable σ-time outsourced attribute-based encryption for access control in cloud computing. IEEE Trans. Inform. Forensics Secur. 2018, 13, 94–105. [Google Scholar] [CrossRef]
  39. Zcash. Available online: https://z.cash (accessed on 30 March 2021).
  40. Kosba, A.; Miller, A.; Shi, E.; Wen, Z.; Papamanthou, C. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In Proceedings of the IEEE Symposium on Secur. and Privacy (SP), San Jose, CA, USA, 22–26 May 2016; pp. 839–858. [Google Scholar]
Figure 1. Framework of the zk-MIPE system.
Figure 1. Framework of the zk-MIPE system.
Sensors 21 03036 g001
Figure 2. Overview of the zk-MIPE Scheme.
Figure 2. Overview of the zk-MIPE Scheme.
Sensors 21 03036 g002
Figure 3. Time cost on the requester (a) under different values of n where m = 5 ; (b) under different values of m where n = 20 .
Figure 3. Time cost on the requester (a) under different values of n where m = 5 ; (b) under different values of m where n = 20 .
Sensors 21 03036 g003
Figure 4. Time cost on the worker (a) under different values of n where m = 5 ; (b) under different values of m where n = 20 .
Figure 4. Time cost on the worker (a) under different values of n where m = 5 ; (b) under different values of m where n = 20 .
Sensors 21 03036 g004
Figure 5. Time cost on C S (a) under different values of n where m = 5 and k = 1 ; (b) under different values of k where m = 5 and n = 20 .
Figure 5. Time cost on C S (a) under different values of n where m = 5 and k = 1 ; (b) under different values of k where m = 5 and n = 20 .
Sensors 21 03036 g005
Table 1. Functional comparison.
Table 1. Functional comparison.
SchemeAuthorityMatching PolicyRepetition DetectionMulti-Keyword
Fo-SDDSingleUnlimited××
SybSubSingleRange××
ZebraLancerDistributeUnlimited××
zk-MIPEMultipleInner-Product××
Table 2. Security comparison.
Table 2. Security comparison.
SchemeTask Content PrivacyTask Constraint PrivacyIdentity PrivacyAttribute Privacy
Fo-SDD×××
SybSub××
ZebraLancer×××
zk-MIPE
Table 3. Notations in Fo-SDD, SybSub, ZebraLancer and zk-MIPE.
Table 3. Notations in Fo-SDD, SybSub, ZebraLancer and zk-MIPE.
NotationsDescription
E 1 , E T Exponentiation on G 1 and G T respectively
E 2 Exponentiation in Paillier encryption
PPairing on ( G 1 , G 1 ) G T
C ˜ s , C ˜ a Ciphertext based on AES and public key encryption, respectively
C s c Coding a task into a smart contract
E ˜ s , E ˜ a , E ˜ P Symmetric encryption, asymmetric encryption and Paillier encryption
D ˜ s , D ˜ a , D ˜ P Symmetric decryption, asymmetric decryption and Paillier decryption
l 1 , l 2 , l 3 Bit length of task, attribute and smart contract, respectively
MNP machine used to prove membership of an instance x in a given NP language L
t M , s M Operations and computation space of M for the instance x
polyUniversal polynomial
λ Security parameter
NProduct of two primes
mNumber of attribute authorities
nDimension of the attribute-based vector
lNumber of attributes managed by each authority
kNumber of suitable workers
Table 4. Communication cost.
Table 4. Communication cost.
SchemeRequester/PublisherCS/ContractWorker/SubscriberFog Node
Fo-SDD | G 1 | + | G 2 | + | C ˜ s | + l 1 k ( | Z q | + | G 2 | + | C ˜ s | + l 1 ) 2 | Z q | + 4 | G 1 | + 2 | C ˜ s | k ( | Z q | + 4 | G 1 | + | C ˜ s | + l 1 )
SybSub l 2 + | Z N 2 | l 1 2 | G 1 | + l 2 + | Z N 2 | -
ZebraLancer l 3 k | C ˜ a | | C ˜ a | + s M poly ( λ ) -
zk-MIPE ( 5 + 2 n m ) | G 1 | + | G 2 | 2 k | G 1 | + k | Z q | 5 | G T | + ( 7 + m + n m ) ( | Z q | + | G 1 | ) -
Table 5. Computation cost.
Table 5. Computation cost.
SchemeRequester/PublisherCS/ContractWorkerFog Node
Fo-SDD 2 E 1 + E ˜ s k ( E 1 + E 2 + P + D ˜ s ) 6 E 1 + 2 E T + 2 P + D ˜ s E T + D ˜ s + k ( 3 E 1 + E ˜ s )
SybSub l E 2 + 2 l E ˜ P k l ( E 1 + D ˜ P ) + l ( k + 1 ) P 3 l E 1 + 2 l E ˜ P + l E 2 -
ZebraLancer E 1 + C s c + t M poly ( λ ) k poly ( λ ) E ˜ a + t M poly ( λ ) -
zk-MIPE ( 4 + 4 n m ) E 1 + 2 E T 5 k E 1 + ( 10 + m + n m ) k E T + ( 5 + 2 m + 2 n m ) k P ( 9 + m + n m ) E 1 + ( 4 + n + m ) ( E T + P ) + 2 E T -
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Xu, J.; Lin, Z.; Wu, J. Privacy-Preserving Task-Matching and Multiple-Submissions Detection in Crowdsourcing. Sensors 2021, 21, 3036. https://doi.org/10.3390/s21093036

AMA Style

Xu J, Lin Z, Wu J. Privacy-Preserving Task-Matching and Multiple-Submissions Detection in Crowdsourcing. Sensors. 2021; 21(9):3036. https://doi.org/10.3390/s21093036

Chicago/Turabian Style

Xu, Jie, Zhaowen Lin, and Jun Wu. 2021. "Privacy-Preserving Task-Matching and Multiple-Submissions Detection in Crowdsourcing" Sensors 21, no. 9: 3036. https://doi.org/10.3390/s21093036

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