Verifiable privacy protection and personalized crowdsourcing task matching method and system assisted by blockchain
Through the blockchain-assisted hybrid storage method and encryption technology, the problem of privacy leakage and malicious matching of crowdsourcing service platforms during task matching is solved, and the personalized privacy protection matching and correctness verification of matching results between the task publisher and the task executor are achieved.
Patent Information
- Application Number
- CN202211200357.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-29
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2042-09-29
AI Technical Summary
The existing crowdsourcing service platform has problems of privacy leakage and malicious matching during the task matching process, and cannot meet the personalized matching needs of both the task publisher and the task executor.
Adopting a blockchain-assisted hybrid storage method, keys are generated through the key generation center, task publishers and task executors preprocess and encrypt their task requirements and attribute preference information, crowdsourcing platforms conduct privacy protection matching, and verify the correctness of the matching results through blockchain.
It realizes personalized privacy protection matching between the task publisher and the task executor, reduces the risk of malicious behavior on the platform, and ensures the correctness and verifiability of the matching results through the consensus mechanism of the blockchain.
Smart Images

Figure CN115694787B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to crowdsourcing service security technology, and specifically relates to a verifiable privacy protection and personalized crowdsourcing task matching method and system assisted by blockchain. Background Art
[0002] Crowdsourcing is a new task execution and data perception model that brings together the wisdom and strength of the masses to jointly complete diverse task requirements that are difficult for machines to complete. It is the main driving force for achieving flexible employment for the masses and promoting the development of a shared economy and society. Compared with the traditional outsourcing service model, the crowdsourcing task executors (i.e., task executors) are larger in scale, have low "hiring" costs, and are more flexible. The current crowdsourcing service model has received widespread attention and application, covering multiple industries such as logistics, catering, design, and e-commerce.
[0003] Task matching is a key stage in crowdsourcing services. It determines and establishes the service relationship between task publishers and task executors. Whether task matching takes into account the needs and preferences of both parties and whether it is correct is the main factor that determines the quality of task executors' participation in the later stage of crowdsourcing. However, crowdsourcing platforms, as third-party service agencies, are not completely trustworthy. They may spy on the tasks and preferences submitted by task publishers and task executors, including the time, location, type of task execution, the type of tasks that task executors are interested in, free time periods, etc. Based on this information, private information such as user behavior habits and home addresses can be further inferred; malicious platforms may ignore task requirements or task executor preferences for commercial interests, arbitrarily match tasks and task executors, destroy the correctness of task matching, and attempt to obtain more service fees from more matching volume.
[0004] Privacy-preserving crowdsourcing task matching or allocation is a hot research issue. In existing research, the privacy requirements of crowdsourcing task matching mainly depend on the task allocation model. Spatial crowdsourcing aims to protect the privacy of the location and location of the task performer. Existing location privacy protection methods include spatial anonymity, differential privacy, and cryptography. Some crowdsourcing task matching models are based on keyword retrieval on the task performer side. The task publisher extracts the task keywords, and the task performer matches the task based on the keyword search. They use searchable encryption technology to perform ciphertext keyword queries while protecting the privacy of keywords. Compared with matching based on a single attribute, matching based on multiple attributes makes task allocation more expressive and can also meet the personalized matching needs of the user side. Existing research takes task requirements as access strategies and uses attribute encryption to achieve multi-attribute privacy-preserving matching, ensuring that only task performers who meet the task attribute requirements can decrypt the task. However, traditional attribute encryption may leak user privacy through access strategies and only considers the unilateral matching needs of the task publisher.
[0005] In addition, the above studies all assume that the crowdsourcing platform is semi-honest and ignore the matching correctness problem under stronger malicious attack models.
[0006] In recent years, the birth and rapid development of blockchain technology has also injected new vitality into crowdsourcing. The advantages of blockchain such as decentralization and immutability have provided new opportunities for building decentralized crowdsourcing applications and dealing with malicious behaviors. Researchers have proposed a decentralized crowdsourcing framework and a privacy-preserving task allocation scheme based on blockchain. The basic idea is to replace the traditional crowdsourcing platform with smart contracts to provide the main service functions for crowdsourcing. The combination of blockchain and searchable encryption and attribute encryption is the main technical route for realizing secure task allocation based on blockchain. Since blockchain smart contracts provide the characteristics of trusted computing, they ensure the correct verifiability of service results, but there are also some problems: for example, the patent application with publication number CN110620772A discloses a multi-level location privacy protection method for spatial crowdsourcing based on blockchain, which does not consider the task privacy of the task publisher and only allocates tasks based on location information, which cannot meet the personalized matching needs of both parties; for example, the patent application with publication number CN113761555A discloses a safe and reliable vehicle network spatial crowdsourcing task matching method based on smart contracts, which ignores the privacy protection of the reputation information of the task executor, and the matching model only considers the location and reputation information, and does not support personalized matching; for example, the patent application with publication number CN113609224A discloses a crowdsourcing operation method and system for realizing privacy protection based on blockchain, and its task allocation process only considers the reputation information of the task executor, and the information and the task content of the task publisher are public, and only the privacy protection of the later task plan is realized through public key encryption. In summary, existing related technologies generally have large on-chain storage and computing overheads, especially when user matching needs are more complex. They completely rely on blockchain for crowdsourcing task allocation and do not support personalized matching. Summary of the invention
[0007] Purpose of the invention: The purpose of the present invention is to address the deficiencies in the prior art and to provide a method and system for verifiable privacy protection and personalized crowdsourcing task matching assisted by blockchain. The hybrid storage method of the blockchain-assisted platform is adopted to meet the personalized privacy protection matching needs of both users. At the same time, it can publicly verify the correctness of the platform matching results with low on-chain overhead and effectively identify malicious behavior of the platform.
[0008] Technical solution: A blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method of the present invention comprises the following steps:
[0009] Step (1), initializing the crowdsourcing service system;
[0010] The key generation center generates the system master key msk and selects a pseudo-random function key sk0 , the task publisher and task executor register at the key generation center, and the center calculates the corresponding key k for the i-th registered task publisher i =H 1 (msk||r i ), select the corresponding key for the jth registered task executor Then calculate the secret value where g is the generator of the multiplicative cyclic group G, is the additive group of integers modulo p, r i is a random number with a length equal to the security parameter λ, H 1 is a cryptographic hash function;
[0011] Step (2): The task publisher pre-processes the personalized task requirements Then the pre-processed tasks are encrypted to generate task ciphertext, and then the task requirements are accumulated and the task metadata is added. Finally, the obtained data is sent to the crowdsourcing platform and blockchain respectively; c T is the task type, and the horizontal and vertical coordinates of the task location are The task start time and task end time are respectively T The minimum reputation value of the task executors;
[0012] Step (3): The task executor first pre-processes its own attributes and task preference requirements Then, the preprocessed attributes and task preferences are encrypted to generate attribute and task preference ciphertexts, and then the attribute and task preference ciphertexts are accumulated with values and metadata, and finally the obtained data are sent to the crowdsourcing platform and blockchain respectively; C P is the set of task types that the task executor expects to participate in. is the maximum horizontal and vertical coordinates of the task execution area of interest; are the start and end time of the idle time period of the task executor to participate in the task, r P is the reputation value of the task executor. The above attribute values are mapped to the set {1,2,…,n}, where n is the system parameter;
[0013] Step (4), the crowdsourcing platform uses privacy protection methods to ciphertext match the publisher's task requirements with the task executor's attributes and task preferences, and then verifies the matching results to generate proof information. After verification, the proof information and the matching results are transmitted to the blockchain together;
[0014] Step (5), the task issuer and the task executor query the matching results and proof information of the blockchain and verify them. If the verification is successful, the verification results are submitted, and the blockchain consensus determines the final correct matching results;
[0015] Step (6), the task publisher sends the task encryption key ciphertext to the matching task executor through the blockchain according to the final matching result;
[0016] Step (7), after receiving the ciphertext, the task executor decrypts it to obtain the specific task information.
[0017] Furthermore, the specific process of step (2) is as follows:
[0018] Step (2.1), personalized task preprocessing
[0019] Given a task requirement six-tuple T, make The task publisher follows the following rules: Constructing the task attribute vector
[0020]
[0021] Among them, i∈{1,…,6},j∈{1,…,n}; σ i,j It refers to the i*jth element in the task attribute vector, i∈{1,…,6},j∈{1,…,n}, n is a system parameter, and all attribute values are mapped to the range of {1,2,…,n} through a hash function;
[0022] Step (2.2), task encryption
[0023] The task publisher generates a one-time task request encryption key Select two private keys K and K' in the key space and divide K into 6n random key shares, satisfying Then, hidden vector encryption and symmetric encryption are used to encrypt the task attribute vector And the specific content of the task M, c = Enc (K, Enc (K', M)), and finally get the task ciphertext
[0024]
[0025]
[0026]
[0027] where k = (i-1)n + j, c i,j,0 Refers to the non-* bits of the ciphertext in the task attribute vector, c i,j,1 Refers to the ciphertext of the task attribute vector, K k is the kth share of private key K; F 0 is a pseudo-random function, Enc is a symmetric encryption algorithm, T id is the task identifier;
[0028] Step (2.3), calculation of the cumulative value of the task requirement set
[0029] 6n-bit task attribute vector Take each n bits as an element to construct a task attribute set make |δ i |=n,i∈[1,6], the task publisher uses a random bilinear mapping accumulator to calculate the cumulative value for each attribute set according to the following formula:
[0030]
[0031] where s and is the key and random number in the random bilinear map accumulator; when i is 1, hour, F 1 is a pseudo-random function, the key is sk 0 , is the i-th attribute element δ i The extended set (in this case i∈[2,6]), μ j for The jth element in ;
[0032] Step (2.4), upload data to crowdsourcing platform and blockchain
[0033] The task publisher sets the task identifier T id , T id 、Task ciphertext gather and a set of random numbers Send to crowdsourcing platform; calculate task metadata H 0 (T id ||M) and H 0 (T id ||K), where H 0 is a cryptographic hash function, T id , metadata and accumulated values Send to blockchain.
[0034] Furthermore, the i-th attribute element δ in step (2.3) i An extended collection of The generation principle is: i Each time, only one bit with a value of 1 is retained, and the other bits are replaced with *. All possible replacement results are added to middle, Depends on δ i The number of 1 bits in the value.
[0035] Furthermore, the detailed process of step (3) is as follows:
[0036] Step (3.1), preprocessing of task performer attributes and preference information
[0037] Given the attributes of the task executor and the task preference 6-tuple P, make B 1 =C P And |B 1 |≥1, the task executor follows the following rules: Constructing predicate vectors
[0038]
[0039] where i∈{1,…,6},j∈{1,…,n}; B 1 =C P It refers to the set of task types that the task executor expects to participate in. It refers to the i*jth element in the predicate vector;
[0040] Step (3.2), task executor attributes and preferences encryption
[0041] The task executor obtains the secret value from the key generation center. and keys j Compute task-related keys Encrypt the predicate vector using the predicate vector token generation algorithm in hidden vector encryption Further calculation to obtain the ciphertext In the above formula,
[0042] where k=(i-1)n+j,i∈{1,…,6},j∈{1,…,n}, T id is the task identifier, d i,j refers to the ciphertext of the element corresponding to the i*jth position in the predicate vector; b i,j Used to mark whether the bit is *, if so, the bit is 1, if not, it is 0;
[0043] Step (3.3), calculation of the cumulative value of task executor attributes and preference sets
[0044] 6n-bit predicate vector Take each n bits as an element to construct the attribute preference set of the task executor make The task executor uses a random bilinear map accumulator to calculate the cumulative value for each attribute preference set according to the following formula:
[0045]
[0046] where s and is the key and random number in the random bilinear map accumulator; if i takes the value 1, then If i∈[2,6], then For the first attribute element The extended set of ν j for The jth element in ;
[0047] Step (3.4), upload data to crowdsourcing platform and blockchain
[0048] Task executor sets property preference identifier Will Preferred ciphertext gather and a set of random numbers Send to crowdsourcing platform; calculate preference metadata P id , metadata and accumulated values Send to blockchain.
[0049] Furthermore, the first attribute element in step (3.3) An extended collection of The generation principle is: The * bits in the binary digits are replaced with 0 and 1, but not all * bits are replaced with 0 at the same time. The other bit values remain unchanged. Add all possible replacement results middle, depending on The number of digits whose median value is *.
[0050] Furthermore, the specific process of step (4) is as follows:
[0051] Step (4.1), privacy-preserving task matching: After receiving the task ciphertext, the crowdsourcing platform and the task executor's preferred ciphertext Then, calculate the following results:
[0052]
[0053] Crowdsourcing platform calculates H 0 (T id ||K*) and the metadata H on the blockchain 0 (T id ||K) for comparison, if H 0 (T id ||K*)=H 0 (T id ||K), then task Tid Matching task executor attribute preference P id ; The crowdsourcing platform decrypts c with K*, obtains Enc(K',M) and returns it to the task executor.
[0054] Multi-attribute personalized matching meets the following constraints:
[0055]
[0056] Step (4.2), Proof Information Generation
[0057] Convert matching correctness verification to and The crowdsourcing platform uses the following formula to calculate the proof information
[0058]
[0059]
[0060] in represent Only when Only then can the correct accumulated value be calculated as proof information and pass the verification.
[0061] Step (4.3), the crowdsourcing platform will match the results and certification information Send to blockchain.
[0062] Furthermore, the correctness verification in step (5) needs to determine whether the following formula is established:
[0063]
[0064]
[0065] If all the above formulas are true, it means the matching result The task publisher and task executor vote on the result on the chain. When more than half of the participants vote in favor, the blockchain confirms the final correct result.
[0066] Furthermore, the on-chain key ciphertext in step (6) is the public key corresponding to the blockchain account address of the matching task executor. The encryption key K' is calculated, and the task publisher sends the key ciphertext to the task executor in the form of a transaction through the blockchain.
[0067] Furthermore, the task executor decryption in step (7) includes two decryptions, the first one using Decryption obtains the key K', and the second decryption Enc(K',M) is obtained by K' to obtain the plaintext of the task content. The task executor can calculate H 0 (T id ||M) and compare it with the hash value on the chain to verify the integrity of the task content.
[0068] The present invention also discloses a system for realizing verifiable privacy protection and personalized crowdsourcing task matching method assisted by blockchain, comprising five participating entities: a key generation center, a crowdsourcing platform, a task publisher, a task executor and a blockchain; the key generation center is responsible for crowdsourcing user registration and key distribution; the task publisher preprocesses its personalized task requirements and encrypts them, sends the task ciphertext to the crowdsourcing platform, and generates task metadata and accumulated values and sends them to the blockchain; the task executor preprocesses its attributes and personalized task preference information and encrypts them, sends the attribute and preference ciphertext to the crowdsourcing platform, and generates metadata and accumulated values and sends them to the blockchain; the crowdsourcing platform matches the personalized matching requirements of both the task publisher and the task executor in the ciphertext space, and uploads the matching results and correctness proof information to the chain; the blockchain records the matching results and evidence information, determines the final correct result, and transmits the task encryption key ciphertext on the chain.
[0069] Beneficial effects: Compared with the prior art, the present invention has the following advantages:
[0070] (1) The present invention provides personalized privacy-preserving task matching for both task requesters and task executors. Compared with existing single-attribute task matching, the present invention is more expressive and personalized, and protects privacy information more comprehensively.
[0071] (2) The present invention reduces multi-attribute personalized matching to a conjunction query that determines the equality, range, and subset relationship of the attributes of both parties, and uses symmetric hidden vector product encryption to achieve efficient ciphertext matching. Compared with the matching scheme based on attribute encryption, the matching efficiency of the present invention is higher under the same expressive ability.
[0072] (3) The present invention reduces the matching verification problem to a subset relationship proof problem and uses a random bilinear mapping accumulator to construct proof information. Compared with the traditional general verification method for complex queries, the verification of the present invention is simpler and more efficient.
[0073] (4) The present invention realizes the public verifiability of the matching results of the crowdsourcing platform and can resist stronger malicious attack models. The present invention adopts a hybrid storage method of on-chain and off-chain. Compared with the on-chain matching based on blockchain, the blockchain only stores the matching results, proof information and task key ciphertext. The matching calculation and task ciphertext storage are still concentrated on the crowdsourcing platform, and the on-chain overhead is smaller. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] Figure 1It is the overall system structure diagram of the present invention;
[0075] Figure 2 The second attribute element extension set of the task in the embodiment How to build it;
[0076] Figure 3 The first attribute element extension set for the working example The construction method. DETAILED DESCRIPTION
[0077] The technical solution of the present invention is described in detail below, but the protection scope of the present invention is not limited to the embodiments.
[0078] like Figure 1 As shown, the verifiable privacy protection and personalized crowdsourcing task matching system assisted by blockchain in this embodiment includes a key generation center, a crowdsourcing platform, several task publishers, several task executors and a public blockchain, such as Ethereum.
[0079] First, the task publisher and the task executor register as crowdsourcing users, and the key generation center issues keys to them; when the task publisher has a task requirement, it encrypts the task requirement and sends it to the crowdsourcing platform, and calculates the cumulative value and metadata corresponding to the task requirement set and uploads them to the blockchain; when the task executor wants to participate in the task, it encrypts the task attribute preference information and sends it to the crowdsourcing platform, and calculates the cumulative value and metadata corresponding to the task attribute preference set and uploads them to the blockchain; the crowdsourcing platform matches the personalized matching needs of both the task publisher and the task executor in the ciphertext space, and uploads the matching results and correctness proof information to the chain; the user queries the on-chain information to verify the platform matching results, and submits the verification results to the blockchain to determine the final matching results; the task publisher transmits the task encryption key ciphertext on the chain according to the final matching result, and finally, the task executor receives and decrypts it to obtain the task plaintext.
[0080] Embodiment 1:
[0081] The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method of this embodiment has the following specific implementation steps:
[0082] (1) System initialization, including the following steps:
[0083] (11) The key generation center sets the security parameter λ, such as |λ| = 256 bits, and the set size after each attribute mapping is n = 10; defines the cryptographic pseudo-random function F 0 :{0,1} λ ×{0,1} λ+logλ →{0,1} λ ,F 1 :{0,1}λ ×{0,1} n →{0,1} λ , cryptographic hash function H 0 :{0,1} * →{0,1} λ , H 2 :{0,1} * →G 1 , H 3 :G T →{0,1} λ , a symmetric hidden vector encryption algorithm; where is the additive group of integers modulo p, G 1 and G T are two multiplicative cyclic groups.
[0084] (12) The key generation center generates the system master key msk and selects a random number r i ←{0, 1} λ , is the registered task publisher R i Calculate the key k i =H 1 (msk||r i ), for the registered task executor W j Select Key Calculate secret value Select sk 0 ←{0,1} λ Sent to registered users.
[0085] (2) The task publisher generates the task ciphertext, the accumulated value of the task requirement set, and metadata, and sends them to the crowdsourcing platform and blockchain respectively, including the following steps:
[0086] (21) Task preprocessing: Given a task requirement Assume that T = (2,4,6,7,8,9), indicating that the task type is temperature perception (assuming that the result of mapping to the set [1,10] is 2), the task execution time is from 7 to 8 am, the location coordinates are (4, 6), and the reputation value of the task executors participating in the task must not be less than 9.
[0087] The task was issued by Constructing the task attribute vector
[0088]
[0089] (22) Task encryption: The task publisher generates a one-time task encryption key Select two private keys K and K' in the key space and divide K into 60 random key shares, satisfying The task attribute vector is encrypted using hidden vector encryption and symmetric encryption respectively. and the specific content of the task M, ciphertext in
[0090]
[0091] (23) Calculation of the cumulative value of the task requirement set: 60-bit task attribute vector Build a task attribute set with every 10 bits as an element
[0092]
[0093] make |δ i |=10,i∈[1,6], the task publisher is the i-th attribute element δ i ,i∈[2,6] constructs an extended set i∈[2,6]. Figure 2 As shown, with δ 2 =(0001111111) as an example,
[0094]
[0095] calculate where μ j for The random bilinear map accumulator is used to calculate the cumulative value for each attribute set according to the following formula:
[0096]
[0097] (24) Data upload to the platform and blockchain: The task publisher sets the task identifier T id ,Will Send to crowdsourcing platform; calculate task metadata H 0 (T id ||M) and H 0 (T id ||K), and compare it with Send to blockchain.
[0098] (3) The task executor generates attribute and task preference ciphertext, accumulated value and metadata, and sends them to the crowdsourcing platform and blockchain respectively, including the following steps:
[0099] (31) Preprocessing of task performer attributes and preference information: Given a task requirement Assume that P = ({1,2},5,7,8,6,9), indicating that the task executor prefers scoring and temperature perception (mapped to values 1 and 2 respectively), his reputation value is 9, he is idle between 6 am and 8 am, and the expected task execution area range is x∈[0,5],y∈[0,7]. The task was issued by Constructing preference predicate vector
[0100]
[0101] (32) Encryption of task performer attributes and preferences: Task performer calculation Encrypt the predicate vector using the predicate vector token generation algorithm in hidden vector encryption Get the ciphertext in
[0102]
[0103] (33) Calculation of the cumulative value of task executor attributes and preference sets: 60-bit preference predicate vector Build a task attribute set with every 10 bits as an element
[0104]
[0105] make
[0106] like Figure 3 As shown, the task executor is the first attribute element Building an extension collection The details are as follows:
[0107]
[0108] calculate ν j for The task executor uses a random bilinear map accumulator to calculate the cumulative value for each attribute preference set
[0109]
[0110] (34) Data upload to the platform and blockchain: Task executors set attribute preference identifiers Will Send to crowdsourcing platform; calculate preference metadata Combine it with Send to blockchain.
[0111] (4) The platform matches and generates certification information. The specific process is as follows:
[0112] (41) Privacy-preserving task matching: The crowdsourcing platform receives the task ciphertext and the task executor's preferred ciphertext Then, calculate the following results:
[0113]
[0114] In this example, the task requirement T matches the task performer preference P, so and The non-* elements are the same, because therefore Crowdsourcing platform calculates H 0 (T id ||K*) and the on-chain metadata H 0 (T id ||K) for comparison, if H 0 (T id ||K*)=H 0 (T id ||K), which means The platform decrypts c with K*, obtains Enc(K',M) and returns it to the task executor.
[0115] (42) Proof information generation: The platform calculates and obtains the following proof information
[0116]
[0117]
[0118] Only when Only when the correct proof information is satisfied can the correct proof information be calculated.
[0119]
[0120]
[0121] Take i=2 as an example
[0122]
[0123]
[0124] (43) Information on the chain: Crowdsourcing platform will match the results and certification information Send to blockchain.
[0125] (5) The task issuer and task executor query the matching results and proof information on the chain to verify whether the following formula is true:
[0126]
[0127]
[0128] In this example
[0129]
[0130]
[0131] therefore Similarly, it can be verified The task publisher and task executor vote on the matching result on the blockchain. Assuming 1 represents correct and 0 represents incorrect, if more than half of the users vote 1, the blockchain confirms that the final matching is correct.
[0132] (6) Based on the final matching result, the task publisher sends the task encryption key ciphertext to the matching task executor through the blockchain. If the public key corresponding to the matching task executor's blockchain account is The publisher uses Encrypt the key K' and send the ciphertext to the task executor through the transaction.
[0133] (7) Task executors Decryption obtains K', and further decrypts Enc(K',M) to obtain the task plaintext M. The task executor calculates H 0 (T id ||M) and compare it with the hash value on the blockchain. If the two are equal, it means that the task content has not been tampered with.
Claims
1. A blockchain-assisted verifiable privacy-preserving and personalized crowdsourcing task matching method, characterized by: The following steps are involved: Step (1), initializing the crowdsourcing service system; The key generation center generates the system master key msk, selects a pseudo-random function key sk0, and the task publisher and task executor register with the key generation center. The key generation center calculates the key k for the registered task publisher. i =H1(msk||r i ), the key generation center selects a key for the registered task executor Then calculate the secret value where g is the generator of the multiplicative cyclic group G, is the additive group of integers modulo p, r i is a random number with a length equal to the security parameter λ, and H1 is a cryptographic hash function; Step (2): The task publisher pre-processes the personalized task requirements Then the pre-processed tasks are encrypted to generate task ciphertext, and then the task requirements are accumulated and the task metadata is added. Finally, the obtained data is sent to the crowdsourcing platform and blockchain respectively; c T is the task type, and the horizontal and vertical coordinates of the task location are The task start time and task end time are respectively T The minimum reputation value of the task executors; Step (3): The task executor first pre-processes its own attributes and task preference requirements Then, the preprocessed attributes and task preferences are encrypted to generate attribute and task preference ciphertexts, and then the attribute and task preference ciphertexts are accumulated with values and metadata, and finally the obtained data are sent to the crowdsourcing platform and blockchain respectively; C P is the set of task types that the task executor expects to participate in. is the maximum horizontal and vertical coordinates of the task execution area of interest; are the start and end time of the idle time period of the task executor to participate in the task, r P is the reputation value of the task executor. The above attribute values are mapped to the set {1,2,…,n}, where n is the system parameter; Step (4), the crowdsourcing platform uses privacy protection methods to ciphertext match the publisher's task requirements with the task executor's attributes and task preferences, and then verifies the matching results to generate proof information. After verification, the proof information and the matching results are transmitted to the blockchain together; Step (5), the task issuer and the task executor query the matching results and proof information of the blockchain and verify them. If the verification is successful, the verification results are submitted, and the blockchain consensus determines the final correct matching results; Step (6), the task publisher sends the task encryption key ciphertext to the matching task executor through the blockchain according to the final matching result; Step (7), after receiving the ciphertext, the task executor decrypts it to obtain the specific task information.
2. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The specific process of step (2) is as follows: Step (2.1), personalized task preprocessing Given a task requirement six-tuple T, make The task publisher follows the following rules: Constructing the task attribute vector Among them, i∈{1,…,6},j∈{1,…,n},σ i,j It refers to the i*jth element in the task attribute vector; Step (2.2), task encryption The task publisher generates a one-time task request encryption key Select two private keys K and K' in the key space and divide K into 6n random key shares, satisfying K=K1⊕K2⊕…⊕K 6n ; Then, hidden vector encryption and symmetric encryption methods are used to encrypt the task attribute vector And the specific content of the task M, c = Enc (K, Enc (K', M)), and finally get the task ciphertext where k = (i-1)n + j, c i,j,0 Refers to the non-* bits of the ciphertext in the task attribute vector, c i,j,1 Refers to the ciphertext of the task attribute vector, K k is the kth share of the private key K; F0 is a pseudo-random function, Enc is a symmetric encryption algorithm, T id is the task identifier; Step (2.3), calculation of the cumulative value of the task requirement set 6n-bit task attribute vector Take each n bits as an element to construct a task attribute set make |δ i |=n,i∈[1,6], the task publisher uses a random bilinear mapping accumulator to calculate the cumulative value for each attribute set according to the following formula: s and is the key and random number in the random bilinear map accumulator; F1 is a pseudo-random function, the key is sk0, is the i-th attribute element δ i The extended set, μ j for The jth element in; when i is 1 in the above formula, hour, Step (2.4), upload data to crowdsourcing platform and blockchain The task publisher sets the task identifier T id , T id 、Task ciphertext gather and a set of random numbers Send to crowdsourcing platform; calculate task metadata H0(T id ||M) and H0(T id ||K), where H0 is a cryptographic hash function, and T id , metadata and accumulated values Send to blockchain.
3. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 2, characterized in that: The i-th attribute element δ in step (2.3) i An extended collection of The generation principle is: i Each time, only one bit with a value of 1 is retained, and the other bits are replaced with *. All possible replacement results are added to middle, Depends on δ i The number of 1 bits in the value.
4. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The detailed process of step (3) is as follows: Step (3.1), preprocessing of task performer attributes and preference information Given a task executor's attributes and task preference 6-tuple P, make B1=C P And |B1|≥1, the task executor follows the following rules: Constructing predicate vectors where i∈{1,…,6},j∈{1,…,n}, B1=C P It refers to the set of task types that the task executor expects to participate in. It refers to the i*jth element in the predicate vector; Step (3.2), task executor attributes and preferences encryption The task executor obtains the secret value from the key generation center. and keys j Compute task-related keys Encrypt the predicate vector using the predicate vector token generation algorithm in hidden vector encryption Further calculation to obtain the ciphertext In the above formula, where k=(i-1)n+j,i∈{1,…,6},j∈{1,…,n}, T id is the task identifier, d i,j refers to the ciphertext of the element corresponding to the i*jth position in the predicate vector; b i,j Used to mark whether the bit is *, if so, the bit is 1, if not, it is 0; Step (3.3), calculation of the cumulative value of task executor attributes and preference sets 6n-bit predicate vector Take each n bits as an element to construct the attribute preference set of the task executor make The task executor uses a random bilinear map accumulator to calculate the cumulative value for each attribute preference set according to the following formula: where s and is the key and random number in the random bilinear map accumulator; if i takes the value 1, then If i∈[2,6], then For the first attribute element The extended set of ν j for The jth element in ; Step (3.4), upload data to crowdsourcing platform and blockchain Task executor sets property preference identifier Will Preferred ciphertext gather and a set of random numbers Send to crowdsourcing platform; calculate preference metadata P id , metadata and accumulated values Send to blockchain.
5. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 4, characterized in that: The first attribute element in step (3.3) An extended collection of The generation principle of is: The * bits in the binary digits are replaced with 0 and 1, but not all * bits are replaced with 0 at the same time. The other bit values remain unchanged. Add all possible replacement results middle, depending on The number of digits whose median value is *.
6. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The specific process of step (4) is as follows: Step (4.1), privacy-preserving task matching The crowdsourcing platform receives the task ciphertext and the task executor's preferred ciphertext Then, calculate the following results: The crowdsourcing platform calculates H0(T id ||K*) and compare it with the metadata H0(T id ||K) for comparison, if H0(T id ||K*)=H0(T id ||K), then task T id Matching task executor attribute preference P id ; The platform decrypts c with K*, obtains Enc(K',M) and returns it to the task executor; The above multi-attribute personalized matching meets the following constraints: Step (4.2), Proof Information Generation Convert matching correctness verification to and The crowdsourcing platform uses the following formula to calculate the proof information in represent Only when Only when the correct accumulated value is calculated as the proof information can it pass the verification; Step (4.3), the crowdsourcing platform will match the results and certification information Send to blockchain.
7. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The correctness verification in step (5) needs to determine whether the following formula is true: If all the above formulas are true, it means the matching result is correct; The task publisher and task executor vote on the result on the chain. When more than half of the participants vote in favor, the blockchain confirms the final correct result.
8. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The on-chain key ciphertext in step (6) is the public key corresponding to the blockchain account address of the matching task executor. The encryption key K' is calculated, and the task publisher sends the key ciphertext to the task executor in the form of a transaction through the blockchain.
9. The blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method according to claim 1, characterized in that: The task executor decryption in step (7) includes two decryptions, the first one is using Decryption obtains the key K', and the second decryption Enc(K',M) is obtained by K' to obtain the plain text of the task content. The task executor can calculate H0(T id ||M) and compare it with the hash value on the chain to verify the integrity of the task content.
10. A system for implementing the blockchain-assisted verifiable privacy protection and personalized crowdsourcing task matching method as described in any one of claims 1 to 9, characterized in that: It includes five participating entities: key generation center, crowdsourcing platform, task publisher, task executor and blockchain; the key generation center is responsible for crowdsourcing user registration and key distribution; the task publisher pre-processes its personalized task requirements and encrypts them, sends the task ciphertext to the crowdsourcing platform, and generates task metadata and accumulated values and sends them to the blockchain; The task executor pre-processes and encrypts its attributes and personalized task preference information, sends the attribute and preference ciphertext to the crowdsourcing platform, and generates metadata and accumulated values and sends them to the blockchain; The crowdsourcing platform matches the personalized matching needs of both the task publisher and the task executor in the ciphertext space, and uploads the matching results and correctness proof information to the chain; the blockchain records the matching results and evidence information, reaches a consensus on the final correct matching results, and is further responsible for the on-chain transmission of the task encryption key ciphertext.
Citation Information
Patent Citations
Spatial crowdsourcing multistage position privacy protection method based on block chain
CN110620772A
Crowdsourcing operation method and system for realizing privacy protection based on block chain
CN113609224A
Safe and reliable car networking space crowdsourcing task matching method based on smart contract
CN113761555A