CN113905047A - Space crowdsourcing task allocation privacy protection method and system - Google Patents

Space crowdsourcing task allocation privacy protection method and system Download PDF

Info

Publication number
CN113905047A
CN113905047A CN202111121645.7A CN202111121645A CN113905047A CN 113905047 A CN113905047 A CN 113905047A CN 202111121645 A CN202111121645 A CN 202111121645A CN 113905047 A CN113905047 A CN 113905047A
Authority
CN
China
Prior art keywords
task
worker
ciphertext
terminal
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111121645.7A
Other languages
Chinese (zh)
Inventor
吴磊
徐子慧
李素
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Normal University
Original Assignee
Shandong Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Normal University filed Critical Shandong Normal University
Priority to CN202111121645.7A priority Critical patent/CN113905047A/en
Publication of CN113905047A publication Critical patent/CN113905047A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent

Abstract

The invention discloses a method and a system for protecting privacy of space crowdsourcing task allocation.A crowdsourcing server calculates the inner product of a task position conversion ciphertext and a worker position conversion ciphertext and the inner product of a task demand conversion ciphertext and a worker interest conversion ciphertext, screens a task message meeting conditions based on the inner products, encrypts and signs the task message, and forwards the encrypted task message to a worker terminal; a worker terminal obtains a worker position grid code set; a requester terminal obtains a task position grid code set; the crowdsourcing server performs intersection calculation on the worker position grid code set and the task position grid code set to obtain a distance, and distributes a task closest to the worker position grid code set to the worker terminal, so that the worker can obtain a closest task which is within a specified circular range and meets the interest of the worker, and task distribution can be achieved on the premise of protecting the user position and the privacy of interest data.

Description

Space crowdsourcing task allocation privacy protection method and system
Technical Field
The invention relates to the technical field of space crowdsourcing privacy protection, in particular to a method and a system for space crowdsourcing task allocation privacy protection.
Background
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
With the development of mobile devices and 5G technologies, the internet of things and the internet of vehicles are applied more and more widely and provide convenient services for users, such as road congestion condition detection, vehicle booking, interest search and the like. These applications facilitate people's lives but also correspondingly raise privacy concerns, such as exposing sensitive information about the user's real-time location, hobbies, etc. In space crowdsourcing applications, in order to improve communication efficiency and reduce computational burden while providing good service quality, a service platform generally uses plaintext data of a user's true location and interest directly to complete a query request for the user. Such an implementation, while directly effective, ignores server integrity, and the server may snoop the user's sensitive information or sell such sensitive data to third parties while executing the protocol, who then benefit from the data. This sensitive information can be used to identify an individual, infer health status, or track an individual's daily trajectory, which may lead to a user living in a transparent age without privacy. Therefore, it becomes a new challenge for the service platform to complete the task allocation operation while protecting the location and interest information of the user from being leaked.
The inventors have discovered that queries based on location and interest attributes are a common type of query approach in spatial crowd sourcing. In the position-based query, the circular range query has higher practicability, and a worker can query tasks within a circular range with the position of the worker as a circle center and the radius r. In the existing spatial crowdsourcing technology based on location query, differential privacy can protect location privacy, and the method needs to add noise to data to achieve the purpose of data indistinguishability, which undoubtedly increases the computational burden of users and may cause data to be unusable. The homomorphic privacy computation method can also protect the position information, but the method needs to interact the ciphertext information for many times between the entities to compute the position distance. This approach increases the level of privacy protection but increases communication and computational costs. Position information is protected by using a method of dividing grids, but the conventional grid method is difficult to realize circular range query. A common privacy protection method in querying for interest attributes is searchable encryption. Most of the existing methods use single-user symmetric searchable encryption, and due to single-user and symmetry, the methods cannot be well implemented in the aspects of key management, user revocation and accountability.
Therefore, it is difficult to implement task allocation on the premise of protecting user location and interest privacy in spatial crowd-sourcing applications.
Disclosure of Invention
In order to solve the defects of the prior art, the invention provides a method and a system for protecting the privacy of space crowdsourcing task allocation, which can realize task allocation on the premise of protecting the position of a user and the privacy of interest data, can simultaneously realize user revocation and pursuit, and can also realize the function of the maximum worker-task matching pair.
In a first aspect, the invention provides a method for protecting privacy of spatial crowdsourcing task allocation;
a privacy protection method for spatial crowdsourcing task allocation is applied to a requester terminal and comprises the following steps:
sending a registration request to a key issuing server, and receiving a task encryption key returned by the key issuing server;
encrypting the task message by using the task encryption key to obtain a task message ciphertext and submitting the task message ciphertext to the crowdsourcing server;
and receiving the radius message sent by the worker terminal, and uploading the task position grid code set and the radius trapdoor to a crowdsourcing server after verifying the validity of the radius message.
Further, the specific steps of encrypting the task message by using the task encryption key are as follows:
a requester terminal acquires a task message, wherein the task message comprises a task demand keyword, a task position and task content;
converting the task requirement keywords into positive integers by using a hash function in the task encryption key, and setting a task requirement vector and a task position vector;
dividing a task demand vector and a task position vector into two random vectors respectively;
and encrypting the random vector by using a private key in the task encryption key, and randomly selecting a symmetric key to encrypt task content to obtain a task message ciphertext, wherein the task message ciphertext comprises a task demand ciphertext, a task position ciphertext and a task content ciphertext.
Further, the method also comprises receiving task result information sent by the worker terminal, and sending tracing information to the crowdsourcing server, specifically:
calculating a real position distance according to the task position and the worker position in the task result information;
calculating the area of the real intersected circle based on the real position distance;
and comparing the area of the real intersecting circle with the approximate intersecting area, and if the area exceeds the approximate error, sending tracing information to a crowdsourcing server.
In a second aspect, the invention provides a method for protecting privacy of spatial crowdsourcing task allocation;
a privacy protection method for space crowdsourcing task allocation is applied to a worker terminal and comprises the following steps:
sending a registration request to a key issuing server, and receiving a worker encryption key returned by the key issuing server;
encrypting the worker message by using the worker encryption key to obtain a worker message ciphertext, and submitting the worker message ciphertext to a crowdsourcing server;
receiving a requester identity information ciphertext sent by a crowdsourcing server, uploading a task worker grid coding set and a radius ciphertext to the crowdsourcing server after verifying the validity of the requester identity information ciphertext, and sending a radius message to a requester terminal;
and receiving final task information sent by the crowdsourcing server.
Further, after receiving the final task information sent by the crowdsourcing server, the client may send responsibility information to the crowdsourcing server or send task result information to the requester terminal, specifically:
calculating the area of a real intersecting circle according to the position of the worker and the task position in the final task information;
comparing the area of the real intersecting circle with the approximate intersecting area, and if the area exceeds the approximate error, sending tracing information to a crowdsourcing server; otherwise, after receiving the final task information, decrypting the task and completing the task, and submitting the task result information to the requester terminal.
Further, the specific steps of encrypting the worker message by using the worker encryption key are as follows:
the method comprises the steps that a worker terminal acquires worker messages, wherein the worker messages comprise worker interest keywords and worker positions;
converting the worker interest keywords into positive integers by using a hash function in the worker encryption key, and constructing a polynomial function according to the converted worker interest keywords;
extracting coefficients of the polynomial function as worker interest vectors and setting worker position vectors;
dividing a worker interest vector and a worker position vector into two random vectors respectively;
and encrypting the random vector by using a worker encryption key to obtain a worker message ciphertext, wherein the worker message ciphertext comprises a worker interest ciphertext and a worker position ciphertext.
Further, the method also comprises the step of sending a revocation request to the key issuing server.
In a third aspect, the invention provides a method for protecting privacy of spatial crowdsourcing task allocation;
a privacy protection method for spatial crowdsourcing task allocation is applied to a crowdsourcing server and comprises the following steps:
receiving a task re-encryption key and a worker re-encryption key of a key issuing server, a task message ciphertext of a requester terminal and a worker message ciphertext of the worker terminal, obtaining requester identity information meeting the requirement of a worker through re-encryption and inner product calculation, and forwarding the requester identity information ciphertext obtained by encrypting and signing the requester identity information to the worker terminal;
and receiving a task position grid code set and a radius trap door of the requester terminal, and a worker grid code set and a radius ciphertext of the worker terminal, obtaining final task information after verification and intersection calculation, and sending the final task information to the worker terminal.
Furthermore, the method also comprises the step of receiving the tracing information sent by the requester terminal or the worker terminal.
Further, the method also comprises the steps of receiving a revocation notice of the key issuing center, and revoking the task re-encryption key of the requester terminal or the worker re-encryption key of the worker terminal from the database.
In a fourth aspect, the invention provides a method for protecting privacy of spatial crowdsourcing task allocation;
a privacy protection method for space crowdsourcing task allocation is applied to a key issuing server and comprises the following steps:
receiving a registration request of a requester terminal, and generating a task encryption key sent to the requester terminal and a task re-encryption key sent to a crowdsourcing server;
a registration request from a worker terminal is received, and a worker encryption key to be sent to the worker terminal and a worker re-encryption key to be sent to a crowdsourcing server are generated.
Further, the method also comprises the steps of receiving a revocation request sent by the requester terminal or the worker terminal, verifying the validity of the revocation request, and sending a revocation notification to the crowdsourcing server.
In a fifth aspect, the invention provides a method for protecting privacy of spatial crowdsourcing task allocation;
a privacy protection method for spatial crowdsourcing task allocation comprises the following steps:
the requester terminal and the worker terminal send registration requests to the key issuing server;
the key issuing server generates a task encryption key, a task re-encryption key, a worker encryption key and a worker re-encryption key;
the requester terminal receives the task encryption key, obtains and submits a task message ciphertext to the crowdsourcing server; the worker terminal receives the worker encryption key, obtains and submits a worker message ciphertext to the crowdsourcing server;
the crowdsourcing server obtains and forwards the requester identity information ciphertext to the worker terminal based on the inner product of the task message ciphertext and the worker message ciphertext;
the worker terminal obtains and uploads a task worker grid coding set and a radius ciphertext to a crowdsourcing server based on the requester identity information ciphertext, and simultaneously sends a radius message to the requester terminal; the requester terminal receives the radius message sent by the worker terminal and uploads the task position grid code set and the radius trap door to the crowdsourcing server;
and the crowdsourcing server obtains final task information based on the task position grid coding set, the radius trap door, the worker grid coding set and the radius ciphertext and sends the final task information to the worker terminal.
In a sixth aspect, the invention provides a spatial crowdsourcing task allocation privacy protection system;
a spatial crowdsourcing task allocation privacy protection system, comprising: at least one key issuance server, at least one crowdsourcing server, at least one worker terminal, and at least one requester terminal;
the requester terminal configured to: sending a registration request to a key issuing server, receiving a task encryption key returned by the key issuing server, and obtaining and submitting a task message ciphertext to a crowdsourcing server; receiving a radius message sent by a worker terminal, and uploading a task position grid code set and a radius trap door to a crowdsourcing server;
the worker terminal configured to: sending a registration request to a key issuing server, receiving a worker encryption key returned by the key issuing server, and obtaining and submitting a worker message ciphertext to a crowdsourcing server; receiving a requester identity information ciphertext sent by a crowdsourcing server, uploading a task worker grid coding set and a radius ciphertext to the crowdsourcing server, and sending a radius message to a requester terminal;
the crowdsourcing server configured to: based on the task re-encryption key, the worker re-encryption key, the task message ciphertext and the worker message ciphertext, obtaining and forwarding the requester identity information ciphertext to a worker terminal; based on the task position grid coding set, the radius trap door, the worker grid coding set and the radius ciphertext, obtaining final task information and sending the final task information to a worker terminal;
the key issuance server configured to: receiving a registration request of a requester terminal, and generating a task encryption key and a task re-encryption key; and receiving a registration request of a worker terminal, and generating a worker encryption key and a worker re-encryption key.
Compared with the prior art, the invention has the beneficial effects that:
according to the method for protecting the privacy of the space crowdsourcing task allocation, disclosed by the invention, the asymmetric inner product encryption is utilized, and the position and the requirement of the task can be effectively verified whether to meet the limiting conditions of workers or not under the condition that interest and position information are protected from being leaked.
According to the privacy protection method for distributing the spatial crowdsourcing tasks, the distance can be perceived by a crowdsourcing server under the condition that the radius range of a worker is not known by using a grid division and coding intersection method, and the task closest to the worker is distributed.
According to the method for protecting the space crowdsourcing task allocation privacy, the server re-encryption method can meet the requirement of multi-user searchable encryption, and user revocation can be effectively completed.
According to the space crowdsourcing task allocation privacy protection method, accountability can be effectively completed by using code intersection calculation, and in consideration of platform service efficiency, the system can implement a server allocation model and allocate tasks to workers nearest to the server allocation model.
According to the method for protecting the privacy of the spatial crowdsourcing task allocation, the worker can obtain the latest task which is within the specified circular range and meets the interest of the worker, and the task allocation can be realized on the premise of protecting the position of the user and the privacy of the interest data. Meanwhile, the user revocation and responsibility pursuit can be realized, and the maximum worker-task matching pair can be realized in consideration of the service efficiency.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this application, illustrate embodiments of the application and, together with the description, serve to explain the application and are not intended to limit the application.
FIG. 1 is a registration diagram of a method for distributing privacy protection for spatial crowdsourcing tasks;
FIG. 2 is a schematic diagram of tasks allocated by a spatial crowdsourcing task allocation privacy protection method;
fig. 3 is a schematic diagram of tasks with the closest distribution distance in a spatial crowdsourcing task distribution privacy protection method.
Detailed Description
It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the disclosure. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs.
It is noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments according to the present application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, and it should be understood that when the terms "comprises" and/or "comprising" are used in this specification, they specify the presence of stated features, steps, operations, devices, components, and/or combinations thereof, unless the context clearly indicates otherwise.
First embodiment, as shown in fig. 1 to 3, this embodiment provides a method for privacy protection of spatial crowdsourcing task allocation, which is applied to a requester terminal. The requester terminal sends a registration request to the key issuing server and receives a task encryption key returned by the key issuing server; encrypting the task message by using the task encryption key to obtain a task message ciphertext and submitting the task message ciphertext to the crowdsourcing server; receiving a radius message sent by a worker terminal (the worker can prove that the worker negotiates the radius with a requester through verifying a signature), and uploading a task position grid code set and a radius trap door to a crowdsourcing server after verifying the validity of the radius message; and receiving task result information sent by the worker terminal, and sending tracing information to the crowdsourcing server. The method specifically comprises an initialization stage, a registration stage, an encryption stage, an authentication stage, an encoding stage, a responsibility pursuit stage and a revocation stage, and the specific process is as follows:
(A) initialization phase
The requester needs to provide the key issuer server with the necessary personal identification information to complete the registration, specifically: the requester terminal acquires necessary personal identity information provided by a requester, namely requester identity information, and sends a registration request to the key issuing server, wherein the registration request of the requester terminal comprises the requester identity information.
(B) Registration phase
And after receiving the registration request sent by the requester terminal, the key issuing server returns the task encryption key to the requester terminal. The requester terminal receives the task encryption key sk returned by the key issuing serverj={Aj,1,Bj,1,S,hsThe task encryption key comprises: key-based hash function for converting task requirement keywords into positive integers
Figure BDA0003277237730000061
And a private key A for encrypting the task requirement keywords and the task location dataj,1、Bj,1
(C) Encryption phase
The requestor terminal may publish tasks on a spatial crowdsourcing platform. And the requester terminal encrypts the task message issued by the requester at the requester terminal by using the task encryption key to obtain a task message ciphertext and submits the task message ciphertext to the crowdsourcing server.
The method comprises the steps that a requester terminal obtains task information (comprising task requirement keywords, task positions and task contents) issued by a requester, the task requirement keywords are converted into positive integers by using a hash function in a task encryption key, task requirement vectors and task position vectors are set, the task requirement vectors and the task position vectors are divided into two random vectors respectively, the random vectors are encrypted by using a private key in the task encryption key, the task contents are encrypted by randomly selecting a symmetric key, and task information ciphertexts are obtained (the key for encrypting the task contents is selected by the requester terminal and is different from the key with the encryption attribute), wherein the task information ciphertexts comprise task requirement ciphertexts, task position ciphertexts and task content ciphertexts, and the task information ciphertexts are submitted to a crowdsourcing service platform to be matched with proper workers.
Specifically, the requester terminal converts each task requirement keyword into a positive integer by using a hash function in the encryption key, and sets a task requirement keyword vector
Figure BDA0003277237730000062
According to the task position (P) of the requester terminalx,Py) Setting task position vectors
Figure BDA0003277237730000063
If the length of the task demand keyword vector is less than n +1, adding a false keyword behind the vector, wherein the keyword has no relation with the task demand keyword, so that the matching result has no relation; if the length of the task position vector is less than n +1, adding a plurality of numbers 1 behind the vector, and after the processing is finished, obtaining a task demand vector and a task position vector as follows:
Figure BDA0003277237730000071
Figure BDA0003277237730000072
in the task position vector inner product, the crowdsourcing server can judge the task position relation only by obtaining the positive value and the negative value of the inner product, so in order to confuse the real inner product value, a positive integer delta' is randomly selected, and the task position vector is processed
Figure BDA0003277237730000073
Given a demand vector for each task
Figure BDA0003277237730000074
And task position vector
Figure BDA0003277237730000075
According to the binary vector S, k from 1 to n +1, the requester terminal divides the task demand vector and the task position vector into two random vectors respectively
Figure BDA0003277237730000076
And
Figure BDA0003277237730000077
the detailed decomposition method is as follows:
Figure BDA0003277237730000078
then, the requester terminals encrypt separately
Figure BDA0003277237730000079
And
Figure BDA00032772377300000710
interest ciphertext for a task
Figure BDA00032772377300000711
Task location ciphertext
Figure BDA00032772377300000712
Encrypting all task requirement vectors to obtain task requirement ciphertext
Figure BDA00032772377300000713
For task content DxThe requester terminal randomly selects the symmetric key Kx(encryption of task content, private key is randomly generated by requester, and each time the task content is encrypted, the private key can be selectedSelecting different keys to achieve safety, after the server successfully matches the task with the worker, partially decrypting the ciphertext, and then the worker can decrypt the task), wherein the content of the encrypted task is
Figure BDA00032772377300000714
Finally, the requester terminal submits a task position ciphertext, a task demand ciphertext and a task content ciphertext
Figure BDA00032772377300000715
To the crowdsourcing server.
And after receiving the task position, the requirement and the content ciphertext submitted by the requester terminal, the crowdsourcing server sends the task meeting the condition to the worker terminal.
(D) Verification phase
When the worker terminal receives the tasks which are distributed by the crowdsourcing server and meet the conditions, the worker terminal can continue to request the tasks which are closest to the worker terminal. After verifying the validity of the signature and the timestamp, the worker terminal encrypts and signs the information such as the radius r and the like to obtain
Figure BDA00032772377300000716
And
Figure BDA00032772377300000717
wherein sk is a key for hashing a message authentication code, and then forwarding a radius message
Figure BDA0003277237730000081
To the requester terminal.
The requester terminal receives and verifies the radius message sent by the worker terminal, wherein the radius message comprises a verification signature and a time stamp.
(E) Encoding stage
And after verifying the validity of the radius message, the requester terminal obtains a task position grid code set and uploads the task position grid code set to the crowdsourcing server. Namely, after verifying the validity of the timestamp and the signature, the requester terminal uploads the task position trellis code set to the crowdsourcing server. Specifically, the method comprises the following steps: after verification is successful, the requester obtains the radius r in the message and the key of the Hash message verification code and maps the position of the requester to the grid, the position of the requester is taken as the center of a circle, r is taken as the radius to make a circle, the grid in the circular range is subjected to Hash coding operation, and a coding set (task position grid coding set) is uploaded to the crowdsourcing server.
Specifically, the method comprises the following steps: the requester terminal maps the position of the requester terminal to the grid, takes the current position as the center and the radius r as a circle, and carries out Hash verification coding c on the grid contained in the circle rangei=(hmac(sk,gw,x)||hmac(sk,gw,y) In which g) ofw,x,gw,yThe center coordinates of the contained grids are obtained, and finally a task position grid coding set C is obtainedL=(c1,c2,...,cn) And uploaded to the crowdsourcing server.
(F) Stage of pursuit
(1) The requester terminal uploads the task position grid code set and simultaneously needs to upload a trapdoor related to the radius r to the crowdsourcing server, so that the requester terminal is prevented from uploading the task position grid code set beyond the radius r to complete subsequent responsibility tracing operation, and in the code uploading process, a user may upload position codes outside a circular range to obtain distribution rights. The key issuer server also has some information to provide to the user during the registration phase, which is described at this stage for ease of understanding the overall framework.
The key issuing server needs to generate two multiplication cycle groups G with the same prime order p in the registration phase1,G2G is G1G, defining a bilinear mapping e1×G1→G2And collision-resistant hash function H1:{0,1}*→G1Selecting a random number
Figure BDA0003277237730000082
Generating a secret polynomial function f (x) s0+a1x, public key PK ═ G1,G2,e,p,g,g1,g2,H1EK), wherein
Figure BDA0003277237730000083
Master key MSK ═(s)0,s1,a1,x0). The public key is transmitted to the requester terminal and the worker terminal, the main key is only stored by the key issuing server to register for the user to generate a user key, and the requester terminal and the worker terminal generate a radius ciphertext after obtaining the public key and the user key.
For each user idiRandom selection of key issuing server
Figure BDA0003277237730000091
Γi=x0∪xiThen calculates the user key SKi=(Di,Ei) Wherein, in the step (A),
Figure BDA0003277237730000092
and then forwards SKiTo user idiStoring a user-key mapping relationship K ═ K ″ (id ″), u ″ (id ″)i,xi,SKi)。
When a requester uploads a task position grid code set, a trapdoor is generated according to the radius r, and the specific operation is random selection
Figure BDA0003277237730000093
Calculating radius trapdoor T ═ T (T)1,T2,T3,T4,T5,T6).
Figure BDA0003277237730000094
Requester terminal submits task location trellis coded set and radius trapdoor (id)j,T,CL) To a crowdsourcing server. EjIs the private key SK of the requester terminali=(Di,Ei) R is radius information sent from the worker terminal to request the requester terminal to upload a position code for a range of radii r, r3Is a random number and is used for increasing the randomness of the ciphertext. The radius ciphertext may be used to verify whetherThe worker negotiates the radius with the requester and may also be used to follow the responsibility.
(2) And after receiving the task position grid code set and the radius trap door uploaded by the worker terminal, the crowdsourcing server verifies whether the radius is negotiated. Verification of equation e (C)1,T1)=e(C2,T2)e(C3,T3) And e (C)4,T4)=e(C5,T5)e(C6,T6) If this is true, then assign the task to the worker terminal according to the magnitude of the coefficient s, i.e. forward (id)j,s,t,c1,c2') give worker terminal idiAfter receiving the task distributed by the crowdsourcing server, the worker terminal decrypts the task, completes the task, and submits information such as a task result to the requester terminal, wherein the information comprises the position (x) of the worker terminali,yi)。
The requester terminal calculates a circular intersection area according to the received task result information (including the position of the worker), and if the approximation error is exceeded, the requester terminal provides information such as a key, a position, a radius and the like of the message verification code to the crowdsourcing server to pursue the responsibility. Specifically, the method comprises the following steps: the requester terminal bases on its task position (x)j,yj) And the location (x) of the worker's terminali,yi) Calculating the true position distance
Figure BDA0003277237730000095
Then, based on the real position distance, the area of the real intersected circle is calculated
Figure BDA0003277237730000096
Comparing approximate areas
Figure BDA0003277237730000097
And A, if the error exceeds the approximate error, the worker terminal may upload grid position codes which exceed the boundary of the circular range, and can submit a responsibility pursuing request. Requester terminal forwards responsibility tracing information (sk, id)i,idj,(xj,yj),(xi,yi),t3R) to a crowdsourcing server.
(G) Revocation phase
The stage is executed by a requester terminal, the requester terminal sends a revocation request to a key issuing server, and after the key issuing server verifies the identity of the requester terminal, the crowdsourcing server is informed to revoke the re-encryption key of the user from the database K, namely, the task re-encryption key of the requester terminal is revoked.
Second embodiment, as shown in fig. 1 to 3, this embodiment provides a method for privacy protection of space crowdsourcing task allocation, which is applied to a worker terminal. The worker terminal sends a registration request to the key issuing server and receives a worker encryption key returned by the key issuing server; encrypting the worker message by using the worker encryption key to obtain a worker message ciphertext, and submitting the worker message ciphertext to a crowdsourcing server; receiving a requester identity information ciphertext sent by a crowdsourcing server, and uploading a task worker grid coding set and a radius ciphertext to the crowdsourcing server after verifying the validity of the requester identity information ciphertext; and receiving final task information sent by the crowdsourcing server, and sending tracing information to the crowdsourcing server or sending task result information to the requester terminal. The method specifically comprises an initialization stage, a registration stage, an encryption stage, an authentication stage, an encoding stage, a responsibility pursuit stage and a revocation stage, and the specific process is as follows:
(A) initialization phase
The worker needs to provide the necessary personal identification information to the key issuing server, specifically: the worker terminal acquires necessary personal identity information provided by the worker, namely the worker identity information, and sends a registration request to the key issuance server to complete the registration, wherein the registration request of the worker terminal comprises the worker identity information.
(B) Registration phase
And after receiving the registration request sent by the worker terminal, the key issuing server returns the worker encryption key to the worker terminal.
The worker terminal receives a worker encryption key, the worker encryption key comprising: a key-based hash function that converts the worker interest keyword to a positive integer, and a private key that encrypts the worker interest keyword and the worker location data.
(C) Encryption phase
The worker terminal may issue a query task request on the spatial crowdsourcing platform. The worker terminal encrypts a worker message (comprising a worker interest keyword and a worker position) issued by the worker at the worker terminal by using the worker encryption key to obtain a worker message ciphertext (comprising the worker interest ciphertext and the worker position ciphertext), and submits the worker message ciphertext to the crowdsourcing platform.
The method comprises the steps that a worker terminal converts worker interest keywords into positive integers by using a Hash function based on a key in a worker encryption key, and a polynomial function is constructed according to the converted worker interest keywords, so that the worker interest keyword information is hidden in the polynomial function; the method comprises the steps that a worker terminal extracts coefficients of a polynomial function to serve as worker interest vectors, a worker interest threshold t is selected, a worker position vector is set, the worker interest vectors and the worker position vector are divided into two random vectors respectively, a worker encryption key is used for encrypting the random vectors to obtain worker message ciphertext, and the worker message ciphertext is submitted to a crowdsourcing platform to search for a proper task.
Specifically, the method comprises the following steps: the worker terminal submits a query task request to the crowdsourcing server and wants to query the tasks which meet the interests of the workers and are closest to the round range. The worker terminal selects a worker interest keyword vector q1,q2,...,qlWherein q isiFor a worker interest keyword, if the number of elements of the worker interest keyword vector is less than n, adding n-l false keywords { q }l+1,ql+2,...,qnUsing hsThe function converts each keyword into a positive integer, resulting in a converted worker interest keyword vector of
Figure BDA0003277237730000111
In order to hide the worker interest keyword data, the worker terminal constructs a polynomial function as follows:
f(x)=(x-hs(q1))×(x-hs(q2))×...×(x-hs(qn))
=b0+b1x+...+bnxn
then extracting coefficients of the polynomial function as worker interest query vectors
Figure BDA0003277237730000112
According to position (x)i,yi) And query radius r, with (x)i,yi) Making a circle with the circle center r as a radius, randomly selecting a diameter from the circle by the worker terminal, and selecting two end points (A) on the diameterx,Ay) And (B)x,By) Obtaining a worker position vector
Figure BDA0003277237730000113
For the length of the position vector of the worker being less than n +1, the worker terminal randomly selects aiWill (a)9,a10,...,an+1) Is added to
Figure BDA0003277237730000114
In, pay attention to
Figure BDA0003277237730000115
To randomize the true inner product value, a positive integer δ is randomly selected, resulting in
Figure BDA0003277237730000116
The worker interest vector and the worker location vector are then divided into random vectors
Figure BDA0003277237730000117
And
Figure BDA0003277237730000118
the specific partitioning operation is as follows:
Figure BDA0003277237730000119
then, respectively encrypt
Figure BDA00032772377300001110
And
Figure BDA00032772377300001111
for the worker interest ciphertext and the worker location ciphertext
Figure BDA00032772377300001112
Setting a worker interest threshold t, submitting
Figure BDA00032772377300001113
To a crowdsourcing server.
(D) Verification phase
And the crowdsourcing server finds out the task meeting the conditions of the worker according to the position and the interest attribute uploaded by the requester, encrypts and signs the requester identity information of the task, and forwards the encrypted and signed information to the worker terminal. When the worker terminal receives the requester identity information ciphertext which is distributed by the crowdsourcing server and meets the condition, the worker terminal continues to request the task closest to the worker terminal, and the worker terminal requests the requester terminal to submit the position code so as to complete further distribution.
The crowdsourcing server screens out tasks meeting the conditions through the inner product of the position vector and the interest vector, encrypts information (requester identity information) of a task requester and signs a ciphertext to obtain the requester identity information ciphertext
Figure BDA0003277237730000121
And
Figure BDA0003277237730000122
wherein, t is the current timestamp, H () is the SHA function, id represents the user's identity, pk is the user's communication public key, and the crowdsourcing server uses the public key of the worker end to encrypt the requester's identity and public key information, so that only the worker terminal can decrypt the message.
The worker terminal decrypts the requester identity information ciphertext sent by the crowdsourcing platform, and verifies the signature and information of the crowdsourcing server.
(E) Encoding stage
And after verifying the validity of the identity information ciphertext of the requester, the worker terminal obtains a worker position grid code set and uploads the worker position grid code set to the crowdsourcing server, and simultaneously, transmits a radius message to the requester terminal, wherein the step is to negotiate the radius and upload codes with the same radius.
After verifying the validity of the requester identity information ciphertext by the worker terminal, the worker terminal selects a radius r and a key of a message verification code, maps the position of the worker into a grid, uses the position of the worker as a center and the radius r as a radius to make a circle, uses the key of the message verification code to carry out Hash coding on the grid contained in the circular range to obtain a worker position grid coding set, and submits the Hash coding set (namely the worker position grid coding set) to a crowdsourcing platform to search for tasks meeting position conditions.
The worker terminal integrates the radius and the message authentication code key, encrypts and signs the message authentication code key, and forwards the encrypted and signed message authentication code key to the requester terminal. After verifying the validity of the signature and the timestamp, the worker terminal encrypts and signs the information such as the radius r and the like to obtain
Figure BDA0003277237730000123
And
Figure BDA0003277237730000124
wherein sk is a key for hashing a message authentication code, and then forwarding a radius message
Figure BDA0003277237730000125
To the requester terminal.
(G) Stage of pursuit
(1) The process is executed by a worker terminal, and the worker terminal needs to upload a ciphertext (radius ciphertext) related to the radius information to a crowdsourcing server while uploading the position code so as to prevent the worker from uploading the grid code beyond the radius r.
The registration phase here is consistent with the registration process of the requester terminal accountability phase, and is not described here again. Work byRandom selection of subscriber terminal
Figure BDA0003277237730000126
Calculating radius ciphertext C ═ (C)1,C2,C3,C4,C5,C6)。
Figure BDA0003277237730000127
The worker terminal then submits a worker trellis coded set and a radius ciphertext (id)i,C,CL) Forwarding radius messages to crowdsourcing servers
Figure BDA0003277237730000128
To the requester terminal.
(2) After the task allocation of the crowdsourcing server is completed, after the worker terminal receives the allocated final task information, the worker terminal receives the received final task information (id)j,s,t,c1,c2') where t is a task identity, c1Decrypting c for the ciphertext of the final task content1The final task can be obtained, and the final task can be decrypted by the worker terminal after the server part decrypts the final task. Calculating the area of the true intersection circle according to the position of the worker and the task position in the final task information (the specific calculation method is the same as that in the first embodiment); comparing the area of the true intersection circle with the approximate intersection area, and if the approximate intersection area exceeds the approximate error, sending responsibility tracing information (including information such as a key, a position and a radius of a message verification code) to a crowdsourcing server to trace responsibility; otherwise, after receiving the distributed task, the worker terminal decrypts the task, completes the task, and submits information such as a task result to the requester terminal, wherein the information comprises the position (x) of the worker terminali,yi)。
When the latest task is distributed to the worker terminal, the worker terminal decrypts the task to obtain the true position of the task, and can execute the tracing operation, which is symmetrical to the tracing process of the requester terminal and is not described herein again.
(H) Revocation phase
And the worker terminal sends a revocation request to the key issuing center to complete the user revocation operation.
Third embodiment, as shown in fig. 1 to 3, this embodiment provides a method for privacy protection of spatial crowdsourcing task allocation, which is applied to a crowdsourcing server. The crowdsourcing server receives a task re-encryption key and a worker re-encryption key of the key issuing server, a task message ciphertext of the requester terminal and a worker message ciphertext of the worker terminal, obtains requester identity information meeting the requirement of a worker through re-encryption and inner product calculation, and forwards the requester identity information ciphertext obtained by encrypting and signing the requester identity information to the worker terminal; and receiving a task position grid code set and a radius trap door of the requester terminal, and a worker grid code set and a radius ciphertext of the worker terminal, obtaining final task information after verification and intersection calculation, and sending the final task information to the worker terminal. And receiving the tracing information sent by the requester terminal or the worker terminal. And receiving a revocation notification of the key issuing center, and revoking the task re-encryption key of the requester terminal or the worker re-encryption key of the worker terminal from the database. The method specifically comprises a re-encryption stage, an inner product stage, a task allocation stage, a responsibility pursuit stage and a revocation stage, and the specific process is as follows:
(1) re-encryption phase
Key issuing server forwarding task re-encryption key rkj={Aj,2,Bj,2Sending the key to a crowdsourcing server, and receiving a task re-encryption key submitted by a requester terminal by the crowdsourcing server; and the key issuing server forwards the re-encryption key of the task worker to the crowdsourcing platform, and the crowdsourcing server receives the re-encryption key of the task worker submitted by the worker terminal.
Requester terminal submits task message cipher text
Figure BDA0003277237730000131
To the crowdsourcing server, the server is,
Figure BDA0003277237730000132
the method comprises task position ciphertext, task requirement ciphertext andthe crowdsourcing server receives a task position ciphertext, a task demand ciphertext and a task content ciphertext submitted by the requester terminal; the worker terminal submits a task worker interest ciphertext and a worker position ciphertext to the crowdsourcing platform, and the crowdsourcing server receives the ciphertext of the worker and the requester terminal and then re-encrypts the ciphertext.
This phase is performed by the crowdsourcing server in preparation for the compute inner product phase. And after receiving the interest and position vector ciphertext of the user, the crowdsourcing server converts the interest and position vector ciphertext by using the re-encryption key corresponding to the user. The re-encryption specifically comprises the following steps: after receiving a task requirement ciphertext, a task position ciphertext and a task content ciphertext of a requester terminal, the crowdsourcing server uses a task re-encryption key to convert the task requirement ciphertext, the task position ciphertext and the task content ciphertext to obtain a task requirement conversion ciphertext, a task position conversion ciphertext and a task content conversion ciphertext; and after receiving the worker interest ciphertext and the worker position ciphertext of the worker terminal, the crowdsourcing server converts the ciphertext by using the worker re-encryption key to obtain the worker interest conversion ciphertext and the worker position conversion ciphertext.
Specifically, the method comprises the following steps: task requirement ciphertext of given requester terminal
Figure BDA0003277237730000141
And task location ciphertext
Figure BDA0003277237730000142
The crowdsourcing server searches for a task re-encryption key of the requester terminal, re-encrypts a task requirement ciphertext and a task position ciphertext of the requester terminal as follows:
Figure BDA0003277237730000143
Figure BDA0003277237730000144
last crowdsourcing server switchThe business content ciphertext to obtain the task content conversion ciphertext
Figure BDA0003277237730000145
Worker interest ciphertext for a given worker terminal
Figure BDA0003277237730000146
And worker location ciphertext
Figure BDA0003277237730000147
The crowdsourcing server searches for a worker re-encryption key of the worker terminal, re-encrypts a worker interest ciphertext and a worker position ciphertext of the worker terminal as follows:
Figure BDA0003277237730000148
Figure BDA0003277237730000149
(2) inner product stage
The specific steps of inner product calculation are as follows: and the crowdsourcing server calculates the inner product of the task position conversion ciphertext and the worker position conversion ciphertext and the inner product of the task requirement conversion ciphertext and the worker interest conversion ciphertext, screens the task message which accords with the worker interest and the worker position based on the inner product, encrypts and signs the task message and forwards the encrypted task message to the worker terminal. Specifically, the method comprises the following steps: the crowdsourcing server firstly calculates the inner product of the task position conversion ciphertext and the worker position conversion ciphertext, and if the inner product meets the condition, the task position accords with the worker position (namely the task position is in the circular range of the worker); then calculating the inner product of the task requirement conversion ciphertext and the worker interest conversion ciphertext, and if the inner product meets the condition and the number of the task requirement ciphertexts meeting the condition is larger than a threshold value, enabling the task requirement to meet the worker interest; and the crowdsourcing server encrypts and signs the requester identity information which accords with the interest and the position of the worker, and forwards the ciphertext of the requester identity information to the worker terminal. And the worker end receives the identity information of the request end and then verifies the identity information, negotiates the radius r with the requester end to upload the position codes in the same radius circle range, and after the position codes are uploaded, the server distributes real task information.
This phase is performed by the crowdsourcing server and is used to determine whether the location of the task is within the circular range of the worker terminal query and whether the needs of the task meet the interests of the worker terminal query. To facilitate understanding of the process of this stage, the principles underlying this stage will first be described.
For the position attribute, the invention only needs to judge whether the position of the task is in the circular range selected by the worker terminal, and convert the problem into the position relation between the point and the circle, and the position of the task is assumed to be P ═ xj,yj) The terminal position of the worker is (x)i,yi) And the selected radius is r, the circular range of the worker terminal is Q, one diameter is selected from Q, and two end points A of the diameter are taken as (A)x,Ay) And B ═ B (B)x,By) The positional relationship between the point P and the circle Q can be determined by following the following principle:
Figure BDA0003277237730000151
Figure BDA0003277237730000152
to comply with inner product encryption and protect data privacy, partitioning
Figure BDA0003277237730000153
Is the inner product of two other vectors:
Figure BDA0003277237730000154
if the inner product of the two position vectors is less than or equal to 0, the task position is in the position range of the worker terminal. The worker terminal and the requester terminal only need to be nested in the asymmetric inner product encryption in the vector form.
For interest attributes, the number of the task demand keywords is judged to be the same as that of the interest keywords of the workers, and the interest keywords { q }1,q2,...,qnAnd hiding the keyword information into a polynomial function by the worker terminal, wherein the polynomial function comprises the following steps:
Figure BDA0003277237730000155
worker terminal extraction (b)0,b1,...,bn) As an interest vector, the requester terminal is given (1, x.,. x.)n) And constructing an interest vector in a form, nesting asymmetric inner product encryption by using the vector form, wherein if the inner product is 0, one keyword of the task is the same as one interest keyword of the worker, and if the number of the inner products is 0 is greater than a threshold value t, the task meets the interest of the worker terminal.
After the crowdsourcing server terminal obtains the task requirement conversion ciphertext, the task position conversion ciphertext, the worker interest conversion ciphertext and the worker position conversion ciphertext, calculating the inner product of the task position conversion ciphertext and the worker position conversion ciphertext and the inner product of the task requirement conversion ciphertext and the worker interest conversion ciphertext as follows:
Figure BDA0003277237730000161
Figure BDA0003277237730000162
at Yj={Yj,1,Yj,2,...,Yj,nIn the method, if the number of 0 s is larger than a threshold t, the task requirement meets the interest of the worker terminal, and if X is larger than the threshold t, the task requirement meets the interest of the worker terminali<0, then the task location is within the worker terminal.
Crowdsourcing server passScreening out tasks meeting the conditions by the inner product of the position vector and the interest vector, encrypting the identity information of the task requester by the crowdsourcing server and signing the ciphertext to obtain the identity information ciphertext of the requester
Figure BDA0003277237730000163
And
Figure BDA0003277237730000164
where t is the current timestamp and H () is the SHA function.
(3) Task allocation phase
And the crowdsourcing server receives the radius ciphertext and the trap gate and verifies the radius ciphertext and the trap gate, and performs intersection calculation on the grid codes after the verification is successful. The number of intersections can be used to sense the distance between the task location and the worker location, and then forward the task closest to the worker terminal. The intersection calculation specifically comprises: the crowdsourcing server is used for collecting C grid codes according to task positions submitted by the requester terminal and the worker terminalLAnd worker location trellis code set CRThe dice coefficient is calculated as follows:
Figure BDA0003277237730000165
s can be used to approximate the intersection area of two circles of the same radius
Figure BDA0003277237730000166
If in a plurality of circles with the same radius, the larger the intersection area of the two circles is, the closer the distance between the two circle centers is. This theorem can be used to screen the nearest task from within a circle. The crowdsourcing server selects the task t with the largest dice coefficient s, and then partially decrypts the converted task content ciphertext into
Figure BDA0003277237730000167
Forwarding final task information (id)j,s,t,c1,c2') give worker terminal idiThen, RD ═ id (id) is recordedi,idj,C,T,CL,CR,t2S), the worker terminal receives c1,c2' after, a decryption operation is performed
Figure BDA0003277237730000168
And
Figure BDA0003277237730000169
and finally, obtaining the real task content.
(4) Stage of pursuit
And the crowdsourcing server sends a verification request to the key issuing center according to the received tracing information, after the verification is successful, the crowdsourcing server calculates circular intersection area calculation, position coding and the like, and judges the user who is misbehaving by position coding and comparing approximate area and real area operation.
Specifically, taking the responsibility-following information sent by the requester terminal as an example:
requester terminal forwards responsibility tracing information (sk, id)i,idj,(xj,yj),(xi,yi),t3R) to a crowdsourcing server, which looks up the distribution record in the RD according to the identity matching pair and verifies t2And t3Is within an allowed threshold. After successful verification, the crowdsourcing server forwards the worker terminal information (id)iAnd C) to a key issuing server. The key issuing server looks up the database K', corresponding idiLooking up its key pair (D)i,Ei) Judging whether e (C) is present5,Di)=e(Ei,C6) And responding to the crowdsourcing server if the equation is established.
The crowdsourcing server then calculates whether the grid location code of the requester terminal is consistent with the submission, if so, the pursuit submitted by the requester terminal is legal, then calculates whether the grid location code of the worker terminal is consistent with the submission, and if not, pulls the worker terminal into a blacklist or gives a very low reputation, and meanwhile, the worker terminal also pays additional reimbursement.
(5) Revocation phase
And after receiving the revocation notification of the key issuing center, the crowdsourcing server deletes the corresponding re-encryption key of the user in the database.
Specifically, the method comprises the following steps: and receiving a revocation notification of the key issuing center, and revoking the task re-encryption key of the requester terminal or the worker re-encryption key of the worker terminal from the database.
Fourth embodiment, as shown in fig. 1 to 3, this embodiment provides a method for privacy protection of space crowdsourcing task allocation, which is applied to a key issuing server. The method comprises the steps that a key issuing server receives a registration request of a requester terminal, and generates a task encryption key sent to the requester terminal and a task re-encryption key sent to a crowdsourcing server; a registration request from a worker terminal is received, and a worker encryption key to be sent to the worker terminal and a worker re-encryption key to be sent to a crowdsourcing server are generated. The method also comprises the steps of receiving a revocation request sent by the requester terminal or the worker terminal, and sending a revocation notification to the crowdsourcing server after the validity of the revocation request is verified. The method specifically comprises an initialization stage, a registration stage, a responsibility pursuit stage and a revocation stage:
(1) initialization phase
The key issuing server receives a registration request uploaded by a requester terminal or a worker terminal; wherein the registration request of the worker terminal comprises worker identity information; the registration request of the requester terminal includes requester identity information.
The key issuing server randomly generates an n +1 bit binary vector S, two (n +1) × (n +1) invertible matrices { M }1,M2H, a hash function based on a secret key
Figure BDA0003277237730000171
The function of this function is to map any key to a positive integer, generating the master key msk ═ M1,M2,S,hs}。
(2) Registration phase
The registration stage is executed by a key issuing server, the key issuing server generates an encryption key and a re-encryption key for the terminal according to the identity information provided by the terminal, the encryption key is forwarded to the terminal, and the re-encryption key is forwarded to a crowdsourcing server. The method specifically comprises requester registration and worker registration:
(a) requester registration
The requester provides the necessary requester personal identity information to the key issuer to complete the registration; after the registration is successful, the requester terminal obtains a key-based hash function for converting the task requirement keyword into a positive integer and a key for encrypting the task requirement keyword and the position data. In other words, after the registration is successful, the requester terminal obtains a task encryption key, where the task encryption key includes: a key-based hash function that converts the task requirement keywords to positive integers, and a private key that encrypts the task requirement keywords and the task location data.
The key issuing server generates a task encryption key and a task re-encryption key according to requester identity information provided by a requester terminal, wherein the task encryption key is forwarded to the requester terminal, and the task re-encryption key is forwarded to the crowdsourcing server, specifically:
the key issuing server randomly selects two (n +1) × (n +1) invertible matrices { A }j,1,Bj,1And calculating a private key for encrypting the task demand keyword and the task position data
Figure BDA0003277237730000181
Setting a task encryption key skj={Aj,1,Bj,1,S,hsThe key rk and the task re-encryption key rkj={Aj,2,Bj,2};
Task encryption key skjIs sent to the sending requester identity idiThe requester terminal of (1), the task re-encrypting key rkiAnd requester identity idiIs sent to a crowdsourcing server which updates a requester user-re-encryption key mapping set K ═ K @ U (id @)i,rki) Wherein idjA requester identity in the identity information given to the requester user.
(b) The worker provides necessary worker personal identity information to the key issuer to complete the registration; after the registration is successful, the worker terminal obtains a key-based hash function for converting the interest keyword into a positive integer and a key for encrypting the interest keyword and the position data. In other words, after the registration is successful, the worker terminal obtains a worker encryption key, which includes: a key-based hash function that converts the worker interest keyword to a positive integer, and a private key that encrypts the worker interest keyword and the worker location data.
The key issuing server generates a worker encryption key and a worker re-encryption key according to the identity information provided by the worker terminal, wherein the worker encryption key is forwarded to the worker terminal, and the worker re-encryption key is forwarded to the crowdsourcing server.
And the generation modes of the worker encryption key and the worker re-encryption key are consistent with the generation modes of the task encryption key and the task re-encryption key.
(3) Stage of pursuit
And after the key issuing server receives the responsibility tracing message, the validity of the radius message provides further responsibility tracing response for the crowdsourcing server.
(4) Revocation phase
And receiving a revocation request sent by the requester terminal or the worker terminal, verifying the validity of the revocation request, and sending a revocation notification to the crowdsourcing server.
And after receiving the revocation message, the key issuing server verifies the user identity and the message validity and sends a revocation notice to the crowdsourcing server.
According to the method for protecting the privacy of the space crowdsourcing task allocation, the tasks which meet the circle center range of a worker terminal and meet the interest are quickly searched through an asymmetric inner product encryption method on the premise of protecting the position of a user and the privacy of interest data, the distance sensing efficiency is improved by using a method of approximate circle intersection area for the position in a grid, and the task which meets the interest and is closest to the worker terminal is further searched; the user revocation operation and the accountability operation can be implemented, and the safety and the usability of the system are further improved; in view of the effectiveness of assignment of tasks, a server assignment model can be implemented that assigns tasks to workers that are closest in distance.
An embodiment five provides a method for protecting privacy of spatial crowdsourcing task allocation, including:
the requester terminal and the worker terminal send registration requests to the key issuing server;
the key issuing server generates a task encryption key, a task re-encryption key, a worker encryption key and a worker re-encryption key;
the requester terminal receives the task encryption key, obtains and submits a task message ciphertext to the crowdsourcing server; the worker terminal receives the worker encryption key, obtains and submits a worker message ciphertext to the crowdsourcing server;
the crowdsourcing server obtains the inner product of the task message ciphertext and the worker message ciphertext based on the task re-encryption key, the worker re-encryption key, the task message ciphertext and the worker message ciphertext, and obtains and forwards the requester identity information ciphertext to the worker terminal based on the inner product of the task message ciphertext and the worker message ciphertext;
the worker terminal obtains and uploads a task worker grid coding set and a radius ciphertext to a crowdsourcing server based on the requester identity information ciphertext, and simultaneously sends a radius message to the requester terminal; the requester terminal receives the radius message sent by the worker terminal and uploads the task position grid code set and the radius trap door to the crowdsourcing server;
the crowdsourcing server obtains final task information based on the task position grid coding set, the radius trap door, the worker grid coding set and the radius ciphertext and sends the final task information to the worker terminal;
and the worker terminal receives the final task information sent by the crowdsourcing server. The detailed method is the same as the method provided in the first, second, third and fourth embodiments, and is not described herein again.
Sixth, the present embodiment provides a system for privacy protection of spatial crowdsourcing task allocation;
a spatial crowdsourcing task allocation privacy protection system, comprising: the system comprises at least one key issuing server, at least one crowdsourcing server, at least one worker terminal and at least one requester terminal, wherein the key issuing server, the crowdsourcing server, the worker terminal and the requester terminal are all in communication connection with one another.
A key issuance server configured to: generating a required key, a re-encryption key and a hash function based on the key for a user, specifically, receiving a registration request of a requester terminal, and generating a task encryption key and a task re-encryption key; receiving a registration request of a worker terminal, and generating a worker encryption key and a worker re-encryption key; and is responsible for the revocation and accountability operations of the user.
A crowdsourcing server configured to: the system is responsible for inquiring tasks meeting the position and interest information of a worker, specifically, after a task requirement ciphertext, a task position ciphertext, a worker interest ciphertext and a worker position ciphertext are obtained, the inner product of the task position conversion ciphertext and the worker position conversion ciphertext and the inner product of the task requirement conversion ciphertext and the worker interest conversion ciphertext are converted and calculated, task information conforming to the interest and the position of the worker is screened based on the inner products, and a requester identity information ciphertext obtained after requester identity information is encrypted and signed is forwarded to a worker terminal; further searching a nearest task from the tasks meeting the conditions, obtaining final task information based on the task position grid code set, the radius trap door, the worker grid code set and the radius ciphertext and sending the final task information to a worker terminal, specifically, performing intersection calculation on the worker position grid code set and the task position grid code set to obtain a distance between a task position and the worker position, and distributing the task closest to the task position to the worker terminal; and the server distribution model can be realized according to the requirement, and the method can be responsible for the revocation and accountability operations of the user.
A worker terminal configured to: uploading query task information and a circular range grid coding set, specifically, sending a registration request to a key issuing server, receiving a worker encryption key returned by the key issuing server, and obtaining and submitting a worker message ciphertext to a crowdsourcing server; receiving a requester identity information ciphertext sent by a crowdsourcing server, verifying the validity of the requester identity information ciphertext to obtain a worker position grid coding set and a radius ciphertext and uploading the worker position grid coding set and the radius ciphertext to the crowdsourcing server, sending a radius message to a requester terminal to obtain a task which meets an interest condition and is closest to a worker, and receiving final task information sent by the crowdsourcing server; verifying the illegal behavior of the requester according to the existing information to pursue the responsibility, and submitting a user revocation request according to the requirement to complete revocation.
A requester terminal configured to: uploading task information and a circular range grid coding set, specifically, sending a registration request to a key issuing server, receiving a task encryption key returned by the key issuing server, and obtaining and submitting a task message ciphertext to a crowdsourcing server; receiving a radius message sent by a worker terminal, verifying the validity of the radius message (after a ciphertext and a signature which contain the radius and the identity are sent by the worker terminal, decrypting by a requester, obtaining radius information, and then verifying the validity of the signature), obtaining a task position grid code set and a radius trap door, and uploading the task position grid code set and the radius trap door to a crowdsourcing server; to match the appropriate worker to complete the task. Verifying the illegal behavior of the worker according to the existing information to pursue the responsibility, and submitting a user revocation request according to the requirement to complete revocation.
The system can meet two requirements of the user, and the user can become a requester terminal for issuing the task and also can become a worker terminal for inquiring the task. The system can also be applied to task recommendation, and only the operations of the worker terminal and the requester terminal need to be interchanged.
The detailed flow of each component is described in the first, second, third, fourth and fifth embodiments, and only the specific content of the server distribution model is described here. Given a task that sets an acceptable maximum number of workers, given a worker that sets an acceptable maximum number of tasks, to improve the efficiency of task crowdsourcing, the task allocation for workers having a circular range of the same radius is optimized so that tasks can be completed at the shortest distance, also referred to as a server allocation model, which can improve the efficiency of task completion for requester terminals while relatively distant workers are at the same timeThe author costs less commission. For clear expression of the algorithm, set wiIndicating the worker, tiRepresenting tasks, for each worker wiIntegrating the task of satisfying its circular range into the worker wiIn an array, e.g. wi={t1,t2,...,tnThe tasks are arranged according to s from large to small, which means that the tasks are farther and farther away from the position of the workeri={w1,w2,...,wnThe ordering is the same as above, and the mapping relationship between the worker and the task is put into the binary Match
Figure BDA0003277237730000211
Row i represents worker i and column j represents the j task in order of distance from small to large. Specifically, the server retrieves each wiThen sequentially retrieving each wiThe tasks in (1) are distributed from near to far. For each task, the server checks whether the task can also assign workers, and if not, continues to check for a second task. If the task can accept the worker, the server searches the worker t of the taskiThe order in which the workers are also sorted far to near. The server checks whether the worker can receive the task, if not, checks the next worker, and if so, compares the worker with tiS' and w ofiAnd tiWhose s indicates that the closer the distance, the task is assigned to the closer worker. This operation is then performed recursively until all tasks are matched to the worker.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (10)

1. A privacy protection method for space crowdsourcing task allocation is characterized by being applied to a requester terminal and comprising the following steps:
sending a registration request to a key issuing server, and receiving a task encryption key returned by the key issuing server;
encrypting the task message by using the task encryption key to obtain a task message ciphertext and submitting the task message ciphertext to the crowdsourcing server;
and receiving the radius message sent by the worker terminal, and uploading the task position grid code set and the radius trapdoor to a crowdsourcing server after verifying the validity of the radius message.
2. The method according to claim 1, wherein the step of encrypting the task message by using the task encryption key comprises the following steps:
a requester terminal acquires a task message, wherein the task message comprises a task demand keyword, a task position and task content;
converting the task requirement keywords into positive integers by using a hash function in the task encryption key, and setting a task requirement vector and a task position vector;
dividing a task demand vector and a task position vector into two random vectors respectively;
and encrypting the random vector by using a private key in the task encryption key, and randomly selecting a symmetric key to encrypt task content to obtain a task message ciphertext, wherein the task message ciphertext comprises a task demand ciphertext, a task position ciphertext and a task content ciphertext.
3. The method according to claim 1, further comprising receiving task result information sent by the worker terminal, and sending pursuit information to the crowdsourcing server, specifically:
calculating a real position distance according to the task position and the worker position in the task result information;
calculating the area of the real intersected circle based on the real position distance;
and comparing the area of the real intersecting circle with the approximate intersecting area, and if the area exceeds the approximate error, sending tracing information to a crowdsourcing server.
4. A privacy protection method for space crowdsourcing task allocation is characterized by being applied to a worker terminal and comprising the following steps:
sending a registration request to a key issuing server, and receiving a worker encryption key returned by the key issuing server;
encrypting the worker message by using the worker encryption key to obtain a worker message ciphertext, and submitting the worker message ciphertext to a crowdsourcing server;
receiving a requester identity information ciphertext sent by a crowdsourcing server, uploading a task worker grid coding set and a radius ciphertext to the crowdsourcing server after verifying the validity of the requester identity information ciphertext, and sending a radius message to a requester terminal;
and receiving final task information sent by the crowdsourcing server.
5. The method according to claim 4, wherein after receiving the final task information sent by the crowdsourcing server, the method can send tracing information to the crowdsourcing server or send task result information to the requester terminal, specifically:
calculating the area of a real intersecting circle according to the position of the worker and the task position in the final task information;
comparing the area of the real intersecting circle with the approximate intersecting area, and if the area exceeds the approximate error, sending tracing information to a crowdsourcing server; otherwise, after receiving the final task information, decrypting the task and completing the task, and submitting the task result information to the requester terminal.
6. The method according to claim 4, wherein the step of encrypting the worker message by using the worker encryption key comprises:
the method comprises the steps that a worker terminal acquires worker messages, wherein the worker messages comprise worker interest keywords and worker positions;
converting the worker interest keywords into positive integers by using a hash function in the worker encryption key, and constructing a polynomial function according to the converted worker interest keywords;
extracting coefficients of the polynomial function as worker interest vectors and setting worker position vectors;
dividing a worker interest vector and a worker position vector into two random vectors respectively;
and encrypting the random vector by using a worker encryption key to obtain a worker message ciphertext, wherein the worker message ciphertext comprises a worker interest ciphertext and a worker position ciphertext.
7. A privacy protection method for spatial crowdsourcing task allocation is characterized by being applied to a crowdsourcing server and comprising the following steps:
receiving a task re-encryption key and a worker re-encryption key of a key issuing server, a task message ciphertext of a requester terminal and a worker message ciphertext of the worker terminal, obtaining requester identity information meeting the requirement of a worker through re-encryption and inner product calculation, and forwarding the requester identity information ciphertext obtained by encrypting and signing the requester identity information to the worker terminal;
and receiving a task position grid code set and a radius trap door of the requester terminal, and a worker grid code set and a radius ciphertext of the worker terminal, obtaining final task information after verification and intersection calculation, and sending the final task information to the worker terminal.
8. A privacy protection method for space crowdsourcing task allocation is characterized by being applied to a key issuing server and comprising the following steps:
receiving a registration request of a requester terminal, and generating a task encryption key sent to the requester terminal and a task re-encryption key sent to a crowdsourcing server;
a registration request from a worker terminal is received, and a worker encryption key to be sent to the worker terminal and a worker re-encryption key to be sent to a crowdsourcing server are generated.
9. A privacy protection method for spatial crowdsourcing task allocation is characterized by comprising the following steps:
the requester terminal and the worker terminal send registration requests to the key issuing server;
the key issuing server generates a task encryption key, a task re-encryption key, a worker encryption key and a worker re-encryption key;
the requester terminal receives the task encryption key, obtains and submits a task message ciphertext to the crowdsourcing server; the worker terminal receives the worker encryption key, obtains and submits a worker message ciphertext to the crowdsourcing server;
the crowdsourcing server obtains and forwards the requester identity information ciphertext to the worker terminal based on the inner product of the task message ciphertext and the worker message ciphertext;
the worker terminal obtains and uploads a task worker grid coding set and a radius ciphertext to a crowdsourcing server based on the requester identity information ciphertext, and simultaneously sends a radius message to the requester terminal; the requester terminal receives the radius message sent by the worker terminal and uploads the task position grid code set and the radius trap door to the crowdsourcing server;
and the crowdsourcing server obtains final task information based on the task position grid coding set, the radius trap door, the worker grid coding set and the radius ciphertext and sends the final task information to the worker terminal.
10. A privacy protection system for spatial crowdsourcing task allocation is characterized by comprising the following components: at least one key issuance server, at least one crowdsourcing server, at least one worker terminal, and at least one requester terminal;
the requester terminal configured to: sending a registration request to a key issuing server, receiving a task encryption key returned by the key issuing server, and obtaining and submitting a task message ciphertext to a crowdsourcing server; receiving a radius message sent by a worker terminal, and uploading a task position grid code set and a radius trap door to a crowdsourcing server;
the worker terminal configured to: sending a registration request to a key issuing server, receiving a worker encryption key returned by the key issuing server, and obtaining and submitting a worker message ciphertext to a crowdsourcing server; receiving a requester identity information ciphertext sent by a crowdsourcing server, uploading a task worker grid coding set and a radius ciphertext to the crowdsourcing server, and sending a radius message to a requester terminal;
the crowdsourcing server configured to: based on the task re-encryption key, the worker re-encryption key, the task message ciphertext and the worker message ciphertext, obtaining and forwarding the requester identity information ciphertext to a worker terminal; based on the task position grid coding set, the radius trap door, the worker grid coding set and the radius ciphertext, obtaining final task information and sending the final task information to a worker terminal;
the key issuance server configured to: receiving a registration request of a requester terminal, and generating a task encryption key and a task re-encryption key; and receiving a registration request of a worker terminal, and generating a worker encryption key and a worker re-encryption key.
CN202111121645.7A 2021-09-24 2021-09-24 Space crowdsourcing task allocation privacy protection method and system Pending CN113905047A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111121645.7A CN113905047A (en) 2021-09-24 2021-09-24 Space crowdsourcing task allocation privacy protection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111121645.7A CN113905047A (en) 2021-09-24 2021-09-24 Space crowdsourcing task allocation privacy protection method and system

Publications (1)

Publication Number Publication Date
CN113905047A true CN113905047A (en) 2022-01-07

Family

ID=79029279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111121645.7A Pending CN113905047A (en) 2021-09-24 2021-09-24 Space crowdsourcing task allocation privacy protection method and system

Country Status (1)

Country Link
CN (1) CN113905047A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884677A (en) * 2022-05-09 2022-08-09 重庆大学 Multi-user crowdsourcing task matching method and system based on block chain
CN114978492A (en) * 2022-05-11 2022-08-30 西安电子科技大学 Privacy protection method for centralized space crowdsourcing task allocation in spatial information network
CN114978530A (en) * 2022-05-11 2022-08-30 西安电子科技大学 Distance calculation and privacy protection method for distributed space crowdsourcing in spatial information network
CN115587716A (en) * 2022-12-12 2023-01-10 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy protection space crowdsourcing task allocation method and system
CN115879722A (en) * 2022-12-14 2023-03-31 南京捷崎信息科技有限公司 Space crowdsourcing task allocation method and system
CN115935439A (en) * 2023-02-27 2023-04-07 蓝象智联(杭州)科技有限公司 Geographic position verification method and device based on hiding intersection and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257381A (en) * 2017-07-03 2017-10-17 深圳大学 The task distribution system model and implementation method of a kind of secret protection space mass-rent
CN109033865A (en) * 2018-06-20 2018-12-18 苏州大学 The method for allocating tasks of secret protection in a kind of space crowdsourcing
CN110620774A (en) * 2019-09-20 2019-12-27 西安电子科技大学 Position strategy privacy protection method for block downlink space crowdsourcing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257381A (en) * 2017-07-03 2017-10-17 深圳大学 The task distribution system model and implementation method of a kind of secret protection space mass-rent
CN109033865A (en) * 2018-06-20 2018-12-18 苏州大学 The method for allocating tasks of secret protection in a kind of space crowdsourcing
CN110620774A (en) * 2019-09-20 2019-12-27 西安电子科技大学 Position strategy privacy protection method for block downlink space crowdsourcing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安莹;秦科;罗光春;: "空间众包中的位置隐私保护技术综述", 计算机应用研究, no. 08 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884677A (en) * 2022-05-09 2022-08-09 重庆大学 Multi-user crowdsourcing task matching method and system based on block chain
CN114884677B (en) * 2022-05-09 2023-04-25 重庆大学 Multi-user crowdsourcing task matching method and system based on block chain
CN114978492A (en) * 2022-05-11 2022-08-30 西安电子科技大学 Privacy protection method for centralized space crowdsourcing task allocation in spatial information network
CN114978530A (en) * 2022-05-11 2022-08-30 西安电子科技大学 Distance calculation and privacy protection method for distributed space crowdsourcing in spatial information network
CN114978530B (en) * 2022-05-11 2023-09-08 西安电子科技大学 Distance calculation and privacy protection method for distributed space crowdsourcing in space information network
CN115587716A (en) * 2022-12-12 2023-01-10 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy protection space crowdsourcing task allocation method and system
CN115587716B (en) * 2022-12-12 2023-03-14 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy protection space crowdsourcing task allocation method and system
CN115879722A (en) * 2022-12-14 2023-03-31 南京捷崎信息科技有限公司 Space crowdsourcing task allocation method and system
CN115879722B (en) * 2022-12-14 2023-09-22 南京捷崎信息科技有限公司 Space crowdsourcing task allocation method and system
CN115935439A (en) * 2023-02-27 2023-04-07 蓝象智联(杭州)科技有限公司 Geographic position verification method and device based on hiding intersection and storage medium

Similar Documents

Publication Publication Date Title
CN111835500B (en) Searchable encryption data secure sharing method based on homomorphic encryption and block chain
CN112019591B (en) Cloud data sharing method based on block chain
CN113905047A (en) Space crowdsourcing task allocation privacy protection method and system
CN101807991B (en) Ciphertext policy attribute-based encryption system and method
JP4981072B2 (en) Method and system for decryptable and searchable encryption
CN105323061B (en) It is a kind of can keyword search outsourcing key generate and decryption attribute based system and decryption method
CN111212084B (en) Attribute encryption access control method facing edge calculation
CN114730420A (en) System and method for generating signatures
CN104158827B (en) Ciphertext data sharing method, device, inquiry server and upload data client
CN103731432A (en) Multi-user supported searchable encryption system and method
CN104219245B (en) System and method for location based service-orientated user privacy protection
CN111447209B (en) Black box traceable ciphertext policy attribute-based encryption method
CN107248980B (en) Mobile application recommendation system and method with privacy protection function under cloud service
CN111797427A (en) Block chain user identity supervision method and system considering privacy protection
CN110933033A (en) Cross-domain access control method for multiple Internet of things domains in smart city environment
CN104967693A (en) Document similarity calculation method facing cloud storage based on fully homomorphic password technology
Jiang et al. P 2 AE: Preserving Privacy, Accuracy, and Efficiency in Location-Dependent Mobile Crowdsensing
CN105721146B (en) A kind of big data sharing method towards cloud storage based on SMC
Gao et al. LIP-PA: A logistics information privacy protection scheme with position and attribute-based access control on mobile devices
CN115396115B (en) Block chain data privacy protection method, device, equipment and readable storage medium
CN107767281A (en) A kind of friend-making matching method for secret protection and system based on two degree of human connections of mobile social networking
WO2021098152A1 (en) Blockchain-based data processing method, device, and computer apparatus
CN109740383B (en) Privacy protection control method for fog computing-oriented medical system
CN112215626B (en) Online taxi booking system and method supporting annular order verifiable
CN107395609B (en) Data encryption method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination