A safe and reliable multi-satellite task coordination matching method based on a blockchain
By combining blockchain and RSA accumulator, the problems of privacy leakage and untrusted results in satellite mission scheduling are solved, achieving privacy protection and efficient multi-satellite mission collaborative matching, thereby improving the success rate of mission allocation and system efficiency.
Patent Information
- Application Number
- CN202511472937.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-15
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2045-10-15
AI Technical Summary
Traditional centralized server-based satellite mission scheduling methods are difficult to meet the comprehensive requirements of public verifiability, privacy protection, and tamper resistance in satellite mission crowdsourcing or collaborative execution scenarios, especially in the case of privacy leaks and unreliable results during mission matching.
A secure and reliable multi-satellite mission collaborative matching method based on blockchain is adopted. Global parameters and key pairs are generated through ground base stations. An attribute obfuscation encoding encryption strategy is used to encrypt satellite missions and worker preferences. An RSA accumulator is used to generate verifiable cumulative values. Combined with blockchain, multi-attribute ciphertext matching and verification are performed to ensure the privacy and correctness of mission matching.
It achieves precise matching of complex and multi-dimensional scheduling needs while protecting privacy, improves task allocation success rate and resource utilization, and reduces storage overhead and computing resource consumption of blockchain nodes, thereby improving system scalability and operating efficiency.
Smart Images

Figure CN120934761B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of multi-satellite task coordination matching, and relates to a safe and reliable multi-satellite task coordination matching method based on a block chain. BACKGROUND
[0002] In recent years, with the rapid development of space technology and the continuous promotion of low-orbit satellite commercialization, the number of low-orbit satellites has rapidly increased, and a satellite network covering the globe has been constructed. This new type of space infrastructure not only continuously plays a role in traditional fields such as environmental monitoring, disaster warning, agricultural production, city management, and national security, but also provides unprecedented convenience for communication blind areas, emergency support, and remote services in civil scenarios through complementary relationship with the ground Internet. This trend promotes the evolution of satellites from single function to multi-task coordination execution, and provides more diversified space data and task services for various users. With the continuous growth of commercial satellite task demand, the number of satellite tasks has rapidly increased, and the types have become increasingly complex. Tasks often have strong spatio-temporal constraints, resource consumption limitations, and involve sensitive information interaction processes, and therefore an efficient, safe, and reliable task allocation mechanism is urgently needed to ensure the timeliness and reliability of task execution. Against this background, satellite tasks and their execution data are gradually regarded as digital assets with potential commercial value.
[0003] However, in the satellite task crowdsourcing or coordinated execution scenario, there are still significant challenges in the matching process between task demand and satellite workers. On the one hand, task matching involves multi-dimensional attributes such as satellite task type, orbit position, execution time window, resource capability, and reputation level, and needs to meet complex comparison, subset, and range constraint logic; on the other hand, the relationship between task requesters and satellite workers is usually not fully trusted, and the task matching result needs to be verifiable to prevent tampering or fraud. At the same time, the preferences of satellite tasks and workers often contain sensitive information, and public disclosure may cause privacy leakage risk. Traditional task scheduling methods based on centralized servers cannot meet the comprehensive requirements of public verifiability, privacy protection, and tamper resistance, and therefore new technologies need to be used for system reconstruction. SUMMARY
[0004] The purpose of the present application is to solve the technical problem in the prior art that in the satellite task crowdsourcing or coordinated execution scenario, the traditional task scheduling method based on a centralized server cannot meet the comprehensive requirements of public verifiability, privacy protection, and tamper resistance, and to provide a safe and reliable multi-satellite task coordination matching method based on a block chain.
[0005] In order to achieve the above purpose, the following technical solution is adopted:
[0006] In a first aspect, this invention discloses a secure and reliable multi-star task collaborative matching method based on blockchain, comprising:
[0007] Ground base stations generate globally common parameters and key pairs, assign identity identifiers to requesters and workers, and distribute keys.
[0008] The requester completes local identity verification using the identity identifier and key it holds; the requester obtains the request hash value and request encrypted task index of the requester's satellite mission description based on the attribute obfuscation encoding encryption strategy; the requester generates the request accumulation value of the request encrypted task index based on the RSA accumulator; the requester sends the request encrypted task index to the task allocation node and uploads the request accumulation value and request hash value to the blockchain.
[0009] Workers complete local identity verification using their own identity identifier and key; workers obtain the work hash value and work preference token of the worker satellite mission description based on the attribute obfuscation encoding encryption strategy; workers generate the work accumulation value of the work preference token based on the RSA accumulator; workers send the work preference token to the task allocation node and upload the work accumulation value and work hash value to the blockchain;
[0010] The task allocation node performs multi-attribute ciphertext matching based on the requested encrypted task index and work preference token, generates a verification object containing matching proof, and uploads it to the blockchain;
[0011] Participants verify the correctness of the matching results based on the request accumulation value, request hash value, work hash value, work accumulation value, and verification object on the blockchain.
[0012] Further improvements are made in the following aspects:
[0013] The ground base station generates global public parameters and key pairs, assigns identity identifiers to requesters and workers, and distributes keys, including:
[0014] For the requester, the ground base station calculates the requester's key. The request is then sent to the requester; workers submit a set of satellite missions of interest to the ground base station, which generates a key for each worker interested in the satellite missions published by the requester. Then through Calculate the corresponding authorization key ,in It is the requester's key. It is a generator; the authorization key This is used to calculate the task-specific key; afterwards, the ground base station will transmit the keys of each worker. and the corresponding authorization key Send to all workers; Before the key pair is distributed, the ground base station authenticates the identity of the requester and the worker.
[0015] The ground base station generates global public parameters and a key pair, and establishes a standard matching mechanism between the worker and the requester after the identity of the requester and the worker is allocated and the key is distributed.
[0016] First, the satellite task type, the satellite task location, the satellite task start time, the satellite task end time and the worker reputation value are selected as the key indicators for matching the satellite task and the worker; the standard matching mechanism is a mapping of the worker to the satellite task.
[0017] The satellite task description of the requester is represented by , which includes the satellite task type , the satellite task location , the satellite task start time , the satellite task end time and the minimum reputation value requirement for the worker to execute the satellite task ; the worker executes the satellite task at any time between the satellite task start time and the satellite task end time .
[0018] The satellite task description of the worker is represented by , which includes the satellite task type set that the worker is interested in , the satellite task execution area , the available time period for executing the satellite task and the worker reputation value .
[0019] The standard matching mechanism is realized through a multi-level mixed constraint condition: the satellite task type belongs to the satellite task type set that the worker is interested in; the worker satellite task execution area falls within the satellite task location ; the available time period for executing the satellite task is between the satellite task start time and the satellite task end time ; the worker reputation value is not lower than the minimum reputation value requirement ; the multi-level mixed constraint condition is simplified as follows:
[0020]
[0021] wherein, is the satellite task type; is the satellite task type set that the worker is interested in; is the satellite task location; and is the satellite task execution area; is the satellite task start and end time; is the available time period for executing the satellite task; is the minimum reputation value requirement for the worker to execute the satellite task; is the worker reputation value;
[0022] When the multi-level hybrid constraint condition is established, it means that the satellite task and the worker match, and the satellite task is assigned to the worker;
[0023] The satellite task description of the satellite task and the worker is encrypted before matching and submitted to the task assignment node, and the task assignment node assigns a unique satellite task identifier to the requester after verifying the identity successfully , a unique worker identifier is assigned to the worker ; combined with a cryptographic hash function, dynamic key generation on the requester and worker side is realized.
[0024] The dynamic key generation on the requester and worker side is implemented as follows:
[0025] For the requester side, the satellite task identifier is used to generate a task-specific key to ensure uniqueness; to prevent replay attacks, the requester key is embedded in the calculation process of the key as follows:
[0026]
[0027] wherein, is the satellite task-specific key; is a hash function ; is a multiplicative group on a finite field; is a function mapping; denotes the set of all binary strings of length ; is a hash function ; is a generator of a cyclic group; is a randomly generated requester key; is the satellite task identifier;
[0028] For the worker side, when the worker is interested in a certain satellite task, the worker's interest in the satellite task identifier is combined with the worker's key pair to calculate the worker's task-specific key , which is used to encrypt the worker's preference description and support matching operations in the ciphertext state;
[0029]
[0030] wherein is a hash function; is a satellite task identifier; is a worker's key; is a worker's authorization key.
[0031] The attribute obfuscated encoding encryption strategy is specifically:
[0032] The requester's attribute obfuscated encoding is:
[0033] A predefined satellite task category universe is denoted by a set .
[0034] Standardizing the satellite task attribute value domain: each attribute value in the satellite task and worker satellite task description is strictly limited to a discrete integer interval , wherein is a preset upper limit of the global value domain; a satellite task is described as , and the value range of each attribute is an integer between .
[0035] Each attribute value is converted into its corresponding fixed-length binary string to construct an encryption vector, and the number of bits in the binary representation of the length determines the length of the binary vector; each type of attribute is uniformly mapped to a fixed-length binary vector, and complex multi-type matching is converted into standardized bit operations; the binary encoding value corresponding to each attribute value is taken as an element, and the attribute encryption vector is .
[0036] After obtaining the set of attribute encryption vectors, the participants will construct an encrypted index for the satellite task and the worker satellite task description based on encryption technology; the attribute block encoding encryption mechanism designs a secondary encoding rule, breaks the original statistical characteristics through block obfuscated encoding, and calculates the encrypted index from the secondary encoding value, which is specifically:
[0037] 1) For the first attribute, at this time , the matching type is subset matching, and the pseudo-random function is directly called to calculate .
[0038] 2) For the second to sixth attributes, at this time , it is a comparison and equality matching, and block obfuscated encoding is performed; for each attribute value , is an encrypted attribute value obtained by binary conversion of the original attribute value, and the following operations are performed for secondary encoding to construct the index:
[0039] When Shift the attribute value ;
[0040] Decompose the attribute value into sub-blocks , , Encrypt the bit width of the attribute value in binary form, for each sub-block, first perform prefix confusion, then perform suffix negation, and finally embed the comparison relation symbol to construct the confusion encoding value :
[0041]
[0042] Wherein, is the character value of the first bit of ; is the value obtained by bitwise negation of the character value corresponding to the sub-block; is a comparison function; is a string concatenation operation; the return value is as follows:
[0043]
[0044] Wherein, and are two positive integers;
[0045] By the block confusion encoding, the attribute value is divided into mutually unrelated sub-blocks, and the data relationship information of the original attribute is retained in the sub-blocks;
[0046] 3) Encryption index generation: get the confusion encoding value After that, call the pseudo-random function to calculate the connection value ciphertext and aggregate the result to the encrypted index set , after calculating all the encrypted index sets, get the encrypted task , which realizes the preservation of the data relationship in the plaintext domain while guaranteeing the confidentiality of the task attribute;
[0047] 4) Task matching based on encrypted index
[0048] Based on the calculated encrypted tasks and tokens of the satellite and the worker, perform multi-dimensional attribute ciphertext intersection verification, and judge the intersection of each attribute's encrypted index value in turn:
[0049] For the first attribute, at this time , extract the index value of the first attribute of the encrypted satellite task , judge whether it belongs to the encrypted value of the first attribute of the token , if If the condition is not met, it means the worker and the satellite mission are not a match, and the matching process will terminate immediately; for attributes 2 through 6, at this time... Calculate the intersection of the encrypted attributes of the encrypted satellite mission and the token. If the intersection is not empty, it means that the attributes match; if all attributes match successfully, it means that the satellite mission and the worker match.
[0050] The worker's attribute obfuscation encoding is as follows:
[0051] Researchers sequentially performed binary conversion, secondary encoding, and hash calculation of the obfuscated code value on the satellite mission description file to obtain its encrypted satellite mission index. The encoding rules are as follows:
[0052] 1) For the first attribute, at this time According to the definition of preference description, the first attribute corresponds to at least one attribute value, so here we calculate the hash value of the attribute code value for each task category in turn. Store in a collection ;
[0053] 2) For the 2nd to 6th attributes, at this time... For each attribute value , The encrypted attribute value is obtained by converting the original attribute value into binary. When calculating the block obfuscation code value, prefix obfuscation is performed first, suffix inversion is not performed, and finally a comparison identifier is embedded, that is:
[0054] when The obfuscated code value is obtained in the following way:
[0055]
[0056] when First, offset the attribute value. Then, the obfuscated encoded value is constructed, and the processing method is as follows: where... The for The former The character value of a bit;
[0057]
[0058] Based on the above, workers generate job preference tokens.
[0059] The non-interactive verification mechanism of the RSA accumulator is as follows:
[0060] 1) Generation of Authenticable Data Structures and On-Chain Anchoring
[0061] During the encryption phase, requesters and workers calculate the block hash for all blocks using a cryptographic hash function. Store into the set Each encrypted index is mapped to a unique prime number, ensuring the uniqueness and irreversibility of the generated request cumulative value and work cumulative value, completing the attribute prime mapping;
[0062] Get the set After the set As a set of cumulative values generated by calculating each attribute, call Generate cumulative values and store them in the stage cumulative value set; After the operation, 6 cumulative values will be obtained, the request cumulative value and the work cumulative value will be used as the on-chain verification anchor point of the attribute, and will be used as the proof of subsequent task matching;
[0063] 2) Member proof generation
[0064] In the satellite task encryption and publishing stage, the requester and the worker respectively generate cumulative values of their encrypted task indexes based on the RSA accumulator verification protocol. If a satellite task and a worker match in some attribute, it needs to declare that a certain attribute belongs to both the satellite task demand set and the worker preference set, and has not been tampered with;
[0065] If the attribute match is true, a double member proof based on the RAS accumulator will be generated according to the following formula, and the triple will be stored in the verification object after the proof is generated;
[0066]
[0067] Among them, is the public element of the requester and worker satellite task description ciphertext, respectively belonging to two encrypted index sets; is the prime set corresponding to the requester satellite task description ciphertext; is the prime set corresponding to the worker satellite task description ciphertext; is the generation existence proof protocol of RSA accumulator; and is the existence proof;
[0068] 3) Matching result verification based on member proof verification
[0069] The satellite task encryption and publishing and worker token generation stage is responsible for aggregating all attribute values into a mathematical cumulative value by the requester and the worker; In the multi-satellite task collaborative matching stage, the task allocation node is responsible for generating a member proof and storing it in the verification object, which realizes the binding of the worker satellite task description and the requester satellite task description. As long as the correctness of the member proof is verified, it is ensured that the worker satellite task description belongs to the encrypted set of the requester satellite task description; If any attribute is tampered with, resulting in a change in the cumulative value, it cannot be verified; If there is a false match, a false proof is forged, which cannot be verified either;
[0070] Participants from each attribute corresponding to the verification object Extract the triple ( , ), and the cumulative value of the request and the cumulative value of the work obtained on the blockchain to check whether the specific condition is true, that is, the correctness of the proof of verification; if any of the following conditions is true, the verification fails, the attribute does not match, and the verification is terminated; otherwise, continue to the next attribute verification; if all attribute verifications are passed, return "verification success" to confirm that the matching result is correct.
[0071]
[0072] Among them, is the public element of the requester and the worker satellite task description ciphertext; is the RSA cumulative value set corresponding to the requester satellite task description ciphertext; is the cumulative value set corresponding to the worker token; is the verification existence proof protocol of the RSA accumulator; and is the existence proof;
[0073] Through the non-interactive verification mechanism of the RSA accumulator, the correctness of the multi-satellite task cooperation matching result only needs to verify the existence of the intersection without revealing the set content.
[0074] The requester obtains the request hash value and the request encrypted task index of the requester satellite task description based on the attribute obfuscated encoding encryption strategy, which is specifically:
[0075] Before encrypting the satellite task, the requester uses the task identifier and the key to generate a satellite task exclusive key , and uses the satellite task exclusive key to encrypt the satellite task; at the same time, the original satellite task content is encrypted using the symmetric key , so that unauthorized entities have no knowledge of the specific content of the satellite task. The requester submits the encrypted satellite task to the task allocation node for subsequent worker decryption and execution.
[0076] Given a satellite task description , the description is , and the value range of each attribute is an integer between and ; the worker uses the attribute obfuscated encoding encryption strategy to perform binary conversion, block obfuscated encoding, and hash calculation of the obfuscated encoding value on the requester satellite task description in turn to obtain the encrypted satellite task index ;
[0077] The requestor generates a request accumulation value for requesting an encrypted task index based on an RSA accumulator, specifically:
[0078] The requestor calculates a prime number set for constructing an accumulation value according to a non-interactive verification mechanism of the RSA accumulator , and obtains the accumulation value , which will be used as chain-attestable data structure for subsequent multi-star task coordination matching;
[0079] The requestor completes the encryption of the satellite task by running the attribute obfuscation encoding encryption strategy. To ensure the integrity of the data on the chain, the requestor calculates two integrity hashes based on the satellite task identifier and Hash is used by the worker to verify the authenticity and integrity of the decrypted satellite task, and hash is used as the on-chain integrity commitment for generating an encrypted index;
[0080] The blockchain and the task allocation node are a collaborative storage architecture, with metadata stored on the chain and encrypted data stored off-chain. According to the hierarchical storage model, the requestor's task identifier , encrypted message , encrypted index , and hash set are hosted by the task allocation node. The blockchain is responsible for storing key metadata and attestable data structures, including integrity hashes and , and accumulation values .
[0081] The worker obtains a work hash value and a work preference token for the worker satellite task description based on the attribute obfuscation encoding encryption strategy, specifically:
[0082] The task allocation node assigns a unique worker identifier to the worker after verifying the validity of the worker's identity ; then the worker uses a dynamic key distribution method to calculate a satellite task-specific key based on the worker's interest in the satellite task identifier and the key pair
[0083] The worker constructs an attribute vector based on the satellite task preference, i.e. , where ; when the worker is interested in multiple satellite tasks, contains multiple task categories that the worker is interested in, i.e. ; at this point, the worker has completed the generation of the work preference token;
[0084] The worker generates a work accumulation value of a work preference token based on an RSA accumulator, specifically:
[0085] The worker generates a non-interactive verification mechanism based on an RSA accumulator and a set of accumulation values ; finally, the worker calculates a hash value of the work preference token as an integrity commitment on the blockchain for generating the work preference token based on the worker identifier ; the worker identifier, the token and the hash set will be stored to the task allocation node, and the integrity hash , the set of accumulation values will be anchored to the blockchain satellite node.
[0086] The task allocation node performs multi-attribute ciphertext matching based on the encrypted task index and the work preference token according to the request, generates a verification object containing a matching proof and uploads it to the blockchain, specifically:
[0087] According to the intersection of the encrypted task index and the work preference token according to the request, it is judged whether the satellite task worker meets the task requirements:
[0088] 1) For the first attribute, at this time , the attribute index value of the encrypted satellite task is extracted , it is judged whether the attribute index value belongs to the encrypted value of the first attribute of the token , if not, it means that the worker and the satellite task do not match, and the matching is exited; if it is true, a double membership proof based on the RSA accumulator is generated according to the following formula; after the proof is generated, the triple is stored in the verification object ;
[0089]
[0090] Among them, is a hash function; is the public element of the requester and the worker satellite task description ciphertext, respectively belonging to two encrypted index sets; is the prime set corresponding to the first attribute ciphertext in the worker satellite task description; is the generation existence proof protocol of the RSA accumulator; and are existence proofs;
[0091] 2) For the second to sixth attributes , calculate the encrypted attribute intersection of the encrypted task and the token , if the intersection is not empty, continue to generate the proof according to the following formula, and update the verification object Otherwise, it means that the match fails;
[0092]
[0093] wherein, is the public element of the requester and worker satellite task description ciphertexts; is the prime set corresponding to the requester satellite task description ciphertext; is the prime set corresponding to the worker satellite task description ciphertext; is the generation proof of existence protocol of the RSA accumulator; and is the proof of existence;
[0094] The multi-attribute matching judgment is split into independent verification steps, and invalid verification is terminated in advance; if all attribute matches pass, the task allocation node sends the encrypted satellite task content to the matched worker for subsequent decryption and execution; in addition, the task allocation node submits the matching result and the verification object to the blockchain satellite node, anchoring the encrypted matching value of each attribute and the RSA membership proof .
[0095] The participant verifies the correctness of the matching result based on the request accumulation value, request hash value, work hash value, work accumulation value and verification object on the blockchain, and the specific process is as follows:
[0096] Based on the matching result, the requester and the worker verify the correctness of the matching proof according to the non-interactive verification mechanism of the RSA accumulator, according to the verification object corresponding to each attribute, the request accumulation value and the work accumulation value obtained from the blockchain, and check whether a specific condition is true or not;
[0097] 1) For the first attribute, at this time , the data type is a set, and the verifier extracts from , if any one of the following conditions is true, the verification fails, and the process is terminated, otherwise the next attribute verification is continued;
[0098]
[0099] wherein, is a hash function; is the public element of the requester and worker satellite task description ciphertexts; is the first element of the RSA accumulation value set corresponding to the requester satellite task description ciphertext; is the first element of the accumulation value set corresponding to the worker token; is a verification existence proof protocol of RSA accumulator; and is an existence proof;
[0100] 2) for the 2nd to the 6th attribute, at this time , the verification algorithm of the accumulator is invoked according to the triple and the cumulative value set to check whether belongs to the satellite task or the worker encrypted index set, and whether the attribute matches is verified according to the following formula;
[0101]
[0102] wherein, is the public element of the requester and worker satellite task description ciphertext; is the RSA cumulative value set corresponding to the requester satellite task description ciphertext; is the cumulative value set corresponding to the worker token; is a verification existence proof protocol of RSA accumulator; and is an existence proof;
[0103] The requester and the worker need to reach a consensus on the matching verification result, and based on the basic assumption that the majority of the blockchain satellite nodes are honest, when a certain match obtains more than a set threshold of verification passed responses, the matching result is considered to be valid; the requester publishing the satellite task uses the public key of the matched worker to asymmetrically encrypt the encryption key and upload it to the blockchain satellite node, and the matched worker obtains the ciphertext with the worker's private key to obtain the decryption key, and performs a symmetric decryption operation to restore the original satellite task content;
[0104] If a certain attribute does not meet the condition, the matching result is considered to be invalid, and the participants performing the verification will cast a vote against, and more than a set threshold of votes against will consider the matching result to be invalid; at this time, the deposit of the requester and the worker will be returned, and the deposit of the dishonest task allocation node will be deducted.
[0105] Compared with the prior art, the present application has the following beneficial effects:
[0106] The application discloses a safe and reliable multi-satellite task cooperative matching method based on a blockchain. BRIEF DESCRIPTION OF DRAWINGS
[0107] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. It should be understood that the following drawings only show some of the embodiments of the present application, and therefore should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0108] Figure 1 The flow chart of the safe and reliable multi-satellite task cooperative matching method based on a blockchain in the embodiments of the present application;
[0109] Figure 2 The system model diagram of the safe and reliable multi-satellite task cooperative matching method based on a blockchain in the embodiments of the present application;
[0110] Figure 3 For the initialization flow chart in the safety and reliability of a multi-satellite task collaborative matching method based on blockchain in an embodiment of the application;
[0111] Figure 4 For the satellite task encryption and release flow chart in the safety and reliability of a multi-satellite task collaborative matching method based on blockchain in an embodiment of the application;
[0112] Figure 5 For the worker preference token generation flow chart in the safety and reliability of a multi-satellite task collaborative matching method based on blockchain in an embodiment of the application;
[0113] Figure 6 For the satellite task matching flow chart in the safety and reliability of a multi-satellite task collaborative matching method based on blockchain in an embodiment of the application;
[0114] Figure 7 For the matching correctness verification stage flow chart in the safety and reliability of a multi-satellite task collaborative matching method based on blockchain in an embodiment of the application;
[0115] Figure 8 For the safety and reliability of a multi-satellite task collaborative matching system based on blockchain in an embodiment of the application. DETAILED DESCRIPTION
[0116] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings can be arranged and designed in various different configurations.
[0117] Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed present application, but only represents selected embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative labor are within the scope of protection of the present application.
[0118] It should be noted that: similar numbers and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.
[0119] The present application will be described in further detail below with reference to the drawings:
[0120] Term explanation:
[0121] 1. RSA Accumulator: The RSA Accumulator is an accumulator data structure built based on the Rivest–Shamir–Adleman algorithm. It is used to efficiently "accumulate" multiple elements into a short value and supports efficient proof of membership of a single element. It is often used in scenarios such as blockchain and privacy proof.
[0122] 2. BSRSMatch: A secure and reliable multi-star task collaborative matching solution based on blockchain.
[0123] 3. Gas Consumption: In blockchain (such as Ethereum), gas consumption is the unit of computational cost required to execute a smart contract or transaction. Gas represents a measure of computing resources, and gas consumption is the total gas used during execution, usually related to transaction fees.
[0124] 4. Requester: R (Requester).
[0125] 5. Worker: W (Worker), worker.
[0126] 6. Task Assignment Node: AS, Assignment Serve, task assignment node.
[0127] 7. Ground base station: GS, Ground Station.
[0128] 8. Blockchain Platform: BC, Blockchain Platform.
[0129] 9. Semi-honest;
[0130] 10. PRF: Pseudorandom Function;
[0131] 11. SKE: Symmetric-Key Encryption, a symmetric encryption algorithm
[0132] 12. AES-GCM: Advanced Encryption Standard - Galois / Counter Mode, a working mode of the AES advanced encryption standard (Galois / Counter Mode), combines the high performance of counter mode with the Galois domain authentication mechanism. It can encrypt data and provide integrity verification, and is often used for secure communication (such as TLS, IPsec, etc.).
[0133] 13、RSA member: RSA Member, in the set proof based on RSA accumulator, refers to a specific element in the set. Through membership proof, it can be verified whether the element belongs to the set represented by the accumulator without exposing other elements in the set.
[0134] Main symbol table:
[0135]
[0136] See Figure 1 The embodiments of the application disclose a secure and reliable multi-satellite task coordination matching method based on a blockchain, comprising:
[0137] S1, the ground base station generates a global public parameter and a key pair, and distributes an identity to the requester and the worker and distributes a key;
[0138] S2, the requester completes local identity verification through the identity and the key held by itself; the requester obtains a request hash value of the requester satellite task description and a request encrypted task index based on an attribute confusion encoding encryption strategy, and the requester generates a request cumulative value of the request encrypted task index based on an RSA accumulator; the requester sends the request encrypted task index to a task allocation node, and uploads the request cumulative value and the request hash value to a blockchain;
[0139] S3, the worker completes local identity verification through the identity and the key held by itself; the worker obtains a work hash value of the worker satellite task description and a work preference token based on an attribute confusion encoding encryption strategy, and the worker generates a work cumulative value of the work preference token based on an RSA accumulator; the worker sends the work preference token to the task allocation node, and uploads the work cumulative value and the work hash value to the blockchain;
[0140] S4, the task allocation node performs multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generates a verification object containing a matching proof, and uploads the verification object to the blockchain;
[0141] S5, the participants verify the correctness of the matching result based on the request cumulative value, the request hash value, the work hash value, the work cumulative value and the verification object on the blockchain.
[0142] The application discloses a safe and reliable multi-satellite task cooperative matching method based on a block chain. First, the satellite task description and worker preference are encrypted by an attribute confusion encoding encryption strategy. In the encryption process, an attribute confusion mechanism is introduced, so that the original task attribute and preference information are represented in a blurred manner. A third party cannot directly reverse the original data through the ciphertext, thereby realizing privacy protection. At the same time, the request accumulation value and the work accumulation value generated based on the RSA accumulator have verifiability. The task allocation node generates a verification object containing a matching proof through off-chain matching and uploads it to the chain. Participants can verify the matching result through zero-knowledge proof or accumulator verification algorithm based on the accumulation value, hash value and verification object published on the chain, thereby solving the technical contradiction between privacy leakage and untrusted results in traditional centralized systems. Secondly, a unified attribute encoding and matching expression model is constructed to convert multi-dimensional attribute constraints such as subset judgment (such as task type inclusion relationship), range constraint (such as time window overlap detection), and equality judgment (such as resource demand matching) into a calculable encoding form, and to realize the mixed expression of multi-attribute logic based on the attribute confusion encoding strategy. The model allows the combination verification of various constraint conditions in the encrypted domain, avoiding the limitations of traditional single-attribute matching methods that require step-by-step processing, thereby realizing precise matching of complex multi-dimensional scheduling requirements under the premise of protecting privacy and improving task allocation success rate and resource utilization. Finally, a chain-on-chain cooperative architecture design is adopted to deploy the calculation-intensive operations such as task encryption index generation, preference token encryption and multi-attribute ciphertext matching on the off-chain task allocation node, and only store the key verification information such as request accumulation value, work accumulation value, hash value and verification object on the chain. Compared with the full-chain execution mode, this design avoids the direct processing of massive encrypted data by the smart contract, reduces the storage overhead of the block chain node, and reduces the consumption of computing resources and Gas fees in the smart contract execution process, thereby improving the overall scalability and running efficiency of the system.
[0143] The content of the application will be described in detail in combination with specific embodiments:
[0144] Firstly, the design target of the application is to provide a verifiable and privacy-protecting task matching method for a multi-satellite task cooperative matching system, which realizes personalized matching through multi-dimensional judgment of satellite task workers on the task allocation node. The following are the goals that the scheme should achieve:
[0145] (1) Privacy: The satellite task content and requirements and the worker's preference for executing the task are the privacy of the requester and the worker, and they interact in the form of ciphertext. Only when the attributes of the two parties are completely matched can the decryption be authorized. The task allocation node, as an intermediate third party, only knows the matching relationship and cannot infer the details of the specific satellite task content or preference.
[0146] (2) Correctness: The task allocation node should complete the correct multi-satellite task collaborative matching behavior, so that the requirements of the requester to publish the satellite task are consistent with the attributes of the matched workers; on the other hand, the verification result obtained by the verifier according to the matching result should also be correct.
[0147] (3) Public verifiability and transaction fairness: The correctness of the multi-satellite task collaborative matching result executed by the task allocation node can be publicly verified by any third party. In addition, the verification process needs to meet the following requirements: transparency, the matching logic and the verification evidence are publicly available, ensuring that the verification process is traceable; no trust dependence, the verifier does not need to know the plaintext content of the satellite task or preference to complete the verification, in order to prevent privacy leakage; tamper resistance, the verification evidence needs to be anchored to the blockchain, ensuring that it cannot be tampered with and is long-term searchable. Honest matching or verification behavior will obtain service fees or incentives, while the deposit will be refunded, otherwise the deposit will be deducted.
[0148] (4) Low computational overhead: The computational time of each key operation of the scheme should be lower than that of existing methods.
[0149] (5) Low communication overhead: The number of bytes transmitted between different entities of the scheme should be lower than that of existing methods.
[0150] (6) Low storage overhead at the task allocation node: The size of the storage data of the scheme at the task allocation node should be lower than that of existing methods.
[0151] (7) Low gas consumption: Gas consumption is a unit of measuring the computing resources required for transaction or smart contract execution in a blockchain network (such as Ethereum), which directly affects the transaction fee. Therefore, the gas consumption of the scheme executing the smart contract should be lower than that of existing methods.
[0152] Referring to Figure 2 , the embodiment of the application discloses a system for a secure and reliable multi-satellite task collaborative matching method based on a blockchain, which is composed of five types of entities, namely, task requesters, task workers, task allocation nodes, ground base stations and blockchains.
[0153] The overall process is as follows: the requester publishes the encrypted satellite task with specific requirements to the task allocation node. The worker searches for the satellite task according to his own interest and completes the matching of the satellite task and the worker by the task allocation node and generates a matching proof. After the matching is completed, the participants can verify the correctness of the matching result through the chain of authenticatable data structures and proofs. The detailed description of each entity is as follows:
[0154] (1) Requester (R) is the entity that publishes satellite tasks (satellite nodes), responsible for defining satellite task content, formulating satellite task execution requirements, and encrypting the original satellite task to protect the privacy of participants' data. The satellite task content and task requirements are uploaded to the task allocation node and the blockchain after encryption, waiting for the subsequent matching process;
[0155] (2) Worker (W) is the entity that executes satellite tasks (such as remote sensing satellites, communication satellites, etc.). Workers can choose matching satellite tasks based on their interests and execute them. After completing the task, the requester will pay the worker a reward. In addition, the requester and the worker need to pay a certain service fee to the task allocation node for the matching service they enjoy.
[0156] (3) Task allocation node (AS) is the hub connecting the requester and the worker, and undertakes the core function of satellite task matching. The task allocation node associates satellite task requirements with worker preferences, selects a set of workers that meet the conditions, and earns service fees from them.
[0157] (4) Ground station (GS) is responsible for initialization and key management.
[0158] (5) Blockchain platform (BC) is introduced as the underlying trust infrastructure (including all satellite nodes in the satellite network) to achieve the openness and verifiability of the satellite task matching process. All task matching evidence is stored on-chain in a verifiable data structure, and participants can audit the correctness of the matching results. In addition, smart contracts automatically execute reward payments and service fee settlements, effectively preventing potential fraudulent behavior.
[0159] To ensure the security of the scheme, the unsafe behaviors that internal participants and potential external attackers may implement need to be analyzed, so as to clarify the security goals of the scheme and develop targeted defense mechanisms. This subsection constructs a detailed threat model for the five main entities in the scheme, as shown in Table 1:
[0160] Table 1: Analysis of Adversaries in Verifiable Data Trading Algorithm
[0161]
[0162] (1) The ground station, as a trusted third party, is assumed to be completely honest and will not engage in malicious behavior. It always maintains a trusted behavior in key generation, distribution, and key lifecycle management, and will not actively leak or tamper with key information.
[0163] (2) The blockchain node is a semi-honest (Semi-Honest) entity that will follow the protocol rules to perform tasks, but at the same time will try to infer sensitive information in encrypted tasks, tokens, and matching results through on-chain data analysis, and needs to resist privacy leakage attacks through encryption mechanisms.
[0164] (3) Privacy leakage risk mainly exists in the multi-party collaboration link. Workers may try to pry unauthorized satellite task content, and task allocation nodes may infer satellite task content or worker's task execution preference through data analysis.
[0165] (4) Requesters and workers may upload incorrect or fake encrypted indexes to gain benefits. In addition, malicious requesters may deny the validity of the service after the satellite task is successfully matched to evade payment, and workers may submit false matching results to cheat compensation.
[0166] (5) In addition, the task allocation node is considered a malicious entity. It may want to obtain service fees without seriously performing the matching duties, may intentionally provide low-quality matching to reduce costs, or may be bribed by third parties to manipulate the matching results. These behaviors undermine the fairness of transactions between entities.
[0167] Referring to Figure 3 , the initialization is the foundation stage of the entire privacy protection multi-satellite task collaborative matching scheme, which is realized based on the cryptography mechanism and distributed identity system, and is completed by the ground base station. The specific implementation steps are as follows:
[0168] The ground base station (GS) is responsible for generating global public parameters and performing secure key distribution. After generating the public parameters, the blockchain account system allocates a unique blockchain account for each requester, worker, and cloud server, ensuring the anonymity of the identities of the parties involved. The ground base station GS generates a public-private key pair for the participants. Second, PRF defines a pseudo-random function , an encryption hash function, and a symmetric key encryption algorithm SKE. Among them, PRF (Pseudorandom Function) is used to generate unpredictable random sequences to ensure content security; the hash function is used to ensure privacy and verify data integrity. The symmetric key encryption algorithm SKE uses standardized protocols such as AES-GCM to achieve efficient encryption of task content.
[0169] For requesters , the ground base station GS calculates the key and sends it to the requester. The worker submits the satellite task set of interest to the ground base station GS, and the ground base station GS generates a random number for each worker interested in the satellite task published by the requester . The ground base station GS calculates a series of keys through , which will be used to calculate task-specific keys, The key pair is sent to Before the key distribution, the ground station (GS) will authenticate the identity information of the requester and the worker to prevent malicious nodes from injecting. Through the above steps, the scheme completes the configuration of the initial parameters of cryptography, the anonymization of identity, and the secure distribution of keys through cryptographic mechanisms, providing a privacy-protected operating environment for the subsequent stage.
[0170] Referring to Figure 4 , the encrypted satellite task is published
[0171] After the initialization is completed, the requester encrypts the task and submits the satellite task. This stage realizes the structured packaging and evidence of satellite task data. The requester needs to coordinate the task allocation node and the blockchain platform to complete the privacy processing, secure submission, and trusted evidence of the satellite task.
[0172] Before encrypting the satellite task, the cloud server will assign a unique satellite task identifier to the requester . Then, the requester will generate a satellite task-specific key based on the dynamic key derivation mechanism using the task identifier and the key , and encrypt the satellite task using the key, where is a hash function. At the same time, the original satellite task content is encrypted using a symmetric key to obtain ciphertext , so that unauthorized entities have no knowledge of the specific content of the satellite task, where is a symmetric encryption function. The requester will submit the ciphertext to the task allocation node for subsequent decryption and execution by the matching worker.
[0173] Given a satellite task description , the description is , and the value range of each attribute is an integer between 0 and 100. The worker will encrypt its satellite task description file according to the attribute block confusion encoding encryption mechanism designed in the previous section, and perform binary conversion, block confusion encoding, and hash calculation of the confusion encoding value in sequence to obtain its encrypted satellite task index .
[0174] wherein the first element of , the 2nd, 3rd, 4th, and 6th elements of , the 5th element of .
[0175] Then, the requester will calculate the prime number set to construct the accumulation value based on the accumulator-based verification protocol.
[0176] wherein, the first element of 2, 3, 4, 6 elements of , 5 elements of . Finally, the cumulative value is obtained. Wherein, the first element of , the remaining elements of . The cumulative value will be used as the on-chain authenticatable data structure for the proof of subsequent multi-star task coordination matching.
[0177] The requester runs the attribute block encoding confidential mechanism to complete the encryption of the satellite task. In order to protect the integrity of the data on the chain, the requester will calculate two integrity hashes and , , for the worker to be able to verify the authenticity and integrity of the decrypted satellite task, as the on-chain integrity commitment of the encrypted index.
[0178] Finally, in order to balance privacy and efficiency, the scheme designs a blockchain task allocation node collaborative storage architecture, on-chain storage of metadata and off-chain storage of encrypted data. According to the hierarchical storage model, the task identifier of the requester , the encrypted message , the encrypted index and the hash set will be hosted by the task allocation node, while the blockchain is responsible for storing the key metadata and authenticatable data structure, including the integrity hashes and , the cumulative value set, ensuring that the data is tamper-proof.
[0179] Referring to Figure 5 , the worker token is generated
[0180] After the satellite task is encrypted and submitted, the worker will generate a token and submit it. In this phase, the worker constructs an encrypted token based on its own preferences and submits it to the blockchain satellite node and the task allocation node.
[0181] Similar to the requester, the task allocation node assigns a unique worker identifier to the worker after verifying the validity of its identity. Then the worker uses the dynamic key distribution method to calculate the satellite task-specific key based on its interested satellite task identifier and the key pair.
[0182] Worker builds attribute vector based on satellite task preference, i.e. , where . Considering that the worker can be interested in multiple satellite tasks, contains multiple task categories that he is interested in, i.e. . For example, indicates that the worker is interested in remote sensing shooting tasks and infrared detection. The remaining dimensions correspond to other satellite task attributes in turn. According to the above description, a worker with a reputation value of 10 is more inclined to perform satellite tasks in the area near the coordinates (5, 7) during 6-8 o'clock. The satellite task preference of the worker is described as , and further the encrypted preference vector set of the worker can be obtained . Based on this, the satellite task preference of the worker is constructed as a multi-dimensional discrete attribute value.
[0183] Worker based on the attribute block confusion encoding encryption mechanism described above, sequentially converts the satellite task description file into binary, twice encodes and calculates the hash of the confusion encoding value to obtain the encrypted satellite task index . Due to the differences in data types and data relationships, the encoding rules are different from those of the requester, and the specific rules are as follows:
[0184] 1) For the 1st attribute , according to the definition of preference description, the 1st attribute corresponds to at least one attribute value, so here the hash value of each task category attribute encoding value is calculated in turn , and stored in the set .
[0185] 2) For the 2nd to 6th attributes , for each attribute value ( is the encrypted attribute value obtained by converting the binary of the original attribute value), when calculating the block confusion encoding value, first perform prefix confusion, do not perform suffix inversion, and finally embed the comparison identifier, i.e.
[0186] When , the way to get the confusion encoding value is shown in equation (8).
[0187] (8)
[0188] When , the attribute value needs to be offset first, and then the confusion encoding value is constructed, the processing method is shown in equation (9), where is the front character value of the
[0189] (9)
[0190] in the form of vector representation The encrypted character set of the second attribute of the worker is .
[0191] Based on the above mechanism, the worker completes the generation of the preference token, and generates and the cumulative value set according to the accumulator-based verification protocol. Finally, the worker calculates the hash value of the token based on the worker identifier as the on-chain integrity commitment of the generated token. The worker identifier, token and the hash set will be stored to the task allocation node, and the integrity hash , the cumulative value set will be anchored to the blockchain satellite node.
[0192] Referring to Figure 6 , the task matching
[0193] After receiving the encrypted satellite task from the requester and the token from the worker, the task allocation node performs multi-attribute intersection verification to determine whether the satellite task worker matches, and generates a verifiable matching proof.
[0194] To store the cryptographic evidence of each attribute match, the task allocation node uses the verification object set and initializes it According to the satellite task worker matching rule implemented based on the attribute-blurring encryption mechanism, based on these cryptographic evidence, the scheme can determine whether the satellite task worker meets the task requirements according to the intersection of the encrypted satellite task and the token:
[0195] 1) For the first attribute , extract the attribute index value of the encrypted satellite task, and determine whether belongs to the encrypted value of the token's first attribute, if not, it means that the worker and the satellite task do not match, and the matching is directly exited; if it is true, then according to formula (9), a double membership proof based on RSA accumulator is generated, which shows that the element belongs to two encrypted index sets respectively. After the proof is generated, the triple is stored in the verification object .
[0196] (10)
[0197] where, is a hash function, is the public element of the requester and worker satellite task description ciphertext, is the prime set corresponding to the first attribute ciphertext in the worker satellite task description, is the generation proof of existence protocol of RSA accumulator, and is the proof of existence;
[0198] 2) For the 2nd to 6th attributes , calculate the encrypted attribute intersection of the encrypted task and the token , if the intersection is not empty , continue to generate the proof according to formula (6), and update the verification object , otherwise, it means that the matching fails.
[0199] The algorithm splits the multi-attribute matching judgment into independent verification steps, which can terminate invalid verification in advance and save computing resources in subsequent links. If all attribute matching passes, the task allocation node will send the encrypted satellite task content to the matched worker for subsequent decryption and execution. In addition, the task allocation node will submit the matching result and the verification object to the blockchain satellite node, anchoring the encrypted matching value of each attribute and the RSA membership proof .
[0200] Referring to Figure 7 , the matching verification
[0201] After the satellite task matching is completed by the task allocation node, the matching result will be verified by other entities. Since all proofs are recorded on the chain, any user can freely verify the correctness of the matching result. The specific process is as follows.
[0202] Based on the matching result, the requester and the worker follow the accumulator-based verification protocol in the verification phase, according to the verification object corresponding to each attribute, and the cumulative value obtained from the chain to check whether the specific conditions are met to verify the correctness of the matching proof.
[0203] 1) For the 1st attribute , the data type is a set, and the verifier extracts from , if any of the following formulas is true, the verification fails and the process is terminated, otherwise continue to the next attribute verification.
[0204] (11)
[0205] where, is a hash function, is a public element of the requester and worker satellite task description ciphertext, is the first element of the RSA cumulative value set corresponding to the requester satellite task description ciphertext; is the first element of the cumulative value set corresponding to the worker token, is the verification existence proof protocol of the RSA accumulator, and is the existence proof;
[0206] 2) For the 2nd to 6th properties , according to the triple and the cumulative value set, the verification algorithm of the accumulator is called to check whether it belongs to the satellite task or the worker encrypted index set, and the property is verified according to formula (7).
[0207] The requester and the worker need to reach a consensus on the matching verification result. Based on the basic assumption of the honesty of the majority of the blockchain satellite nodes, when a certain match obtains more than a certain threshold (such as 50%) of the verification passed responses, the matching result is considered to be valid. The requester who publishes the satellite task uses the public key of the matched worker to asymmetrically encrypt the encryption key and upload it to the blockchain satellite node, and the matched worker obtains the ciphertext with its private key to obtain the decryption key, and performs symmetric decryption operation to restore the original satellite task content.
[0208] If a certain property does not meet the condition, the matching result is considered to be invalid matching, and the participants who perform the verification will vote against, and more than a certain threshold of the votes against will consider the matching result to be invalid. In this case, the deposit of the requester and the worker will be returned, and the deposit of the dishonest task allocation node will be deducted.
[0209] The working principle of the present application is as follows:
[0210] I. Task worker matching mechanism based on attribute encoding encryption strategy
[0211] 1) Standardized modeling of satellite task worker matching mode
[0212] For satellite tasks, the spatial and temporal constraints of task execution are usually the key factors. Workers are interested in specific types of tasks according to their interests and expertise. In addition, to ensure the quality of the task execution result, the requester may specify the quality of the worker when publishing the satellite task, usually using the worker reputation value to evaluate the quality. Therefore, the satellite task type, satellite task location, satellite task start and end time and worker reputation value are selected as the key indicators of the matching of satellite tasks and workers. In order to realize the hybrid matching of satellite task workers in the encrypted domain, the matching mode of the task / worker is standardized modeling, and the hybrid constraints of satellite tasks and workers are formulated, and the matching mode is the mapping of workers to satellite tasks:
[0213] (1) Use to represent the satellite task requirements of the requester, which specifies the characteristics and requirements of the satellite task, including the satellite task type, the satellite task location, the satellite task start time and the end time, and the minimum reputation value requirement for executing the satellite task. The worker can execute the satellite task at any time between the start time and the end time.
[0214] (2) Use to represent the skills and interests of the worker in executing the task, which specifies the satellite task type set that the worker is interested in, the satellite task execution area, and the available time period for executing the satellite task and the worker reputation value.
[0215] The matching verification logic is implemented through multi-level hybrid constraints: the satellite task type label needs to belong to the worker skill set; the current location of the worker must fall within the satellite task geographic fence; there is an overlapping interval between the time windows of both parties; and the worker reputation value is not lower than the minimum threshold set by the task. This composite condition mechanism converts complex matching decisions into subset constraints, range constraints and equality constraints, which not only guarantees the filtering accuracy but also facilitates efficient calculation in the ciphertext state. The above hybrid constraint conditions can be simplified as follows:
[0216] (1)
[0217] Wherein, is the satellite task type, is the satellite task type set that the worker is interested in, is the satellite task location, is the satellite task execution area, is the satellite task start and end time, is the available time period for executing the satellite task, is the minimum reputation value requirement for the worker to execute the satellite task, is the worker reputation value.
[0218] Only when the above constraints are met, the satellite task and the worker match, the satellite task is assigned to the worker.
[0219] As described above, the worker and the requester use a multi-dimensional vector to describe the satellite task of their interest and the requirements of the task, respectively. By the operation of the inequalities in the constraints, the complex matching logic of the satellite task and the worker is simplified to subset judgment (containment relationship of task type labels), equality judgment and comparison judgment (boundary value judgment of other attribute labels).
[0220] 2) Dynamic key derivation mechanism
[0221] To protect the privacy of participants, the satellite task and the worker description files will be encrypted and submitted to the task allocation node before matching. To ensure the independence and anti-leakage ability of the encryption key, the dynamic key generation on the requester and worker side is realized by combining the cryptographic hash function, realizing the fine-grained control of "one task one key". The specific design is as follows:
[0222] For the requester side, the satellite task identifier is combined with the requester key to generate a task-specific key to ensure uniqueness. To prevent replay attacks, the requester key is embedded in the key, and the calculation process is as follows:
[0223] , (2)
[0224] wherein, is the generator of the cyclic group, is a randomly generated requester key. is the satellite task-specific key; is a hash function , is a multiplication group on a finite field, is a function mapping, represents the set of all binary strings of length ; is a hash function ; is the generator of the cyclic group; is a randomly generated requester key; is the satellite task identifier;
[0225] For the worker side, when the worker is interested in a satellite task, the satellite task identifier of the worker's interest is combined with the worker key pair to calculate the worker's task-specific key , see equation (3), which is used to encrypt the worker's preference description and support matching operations in ciphertext state.
[0226] (3)
[0227] where, is a hash function, is a satellite task identifier, is a worker's secret key, is a worker's authorized key.
[0228] The satellite task related key will be used as a seed of a pseudo-random function for the encryption of subsequent satellite task attributes and worker preference descriptions. Different satellite task keys are computationally indistinguishable, ensuring the independence and security of the keys.
[0229] 3) Attribute obfuscated encoding encryption strategy
[0230] In order to realize the matching of satellite task and worker attributes in the encrypted domain, the present application designs an attribute obfuscated encoding encryption strategy, which encodes the satellite task attributes in blocks to resist ciphertext inference attacks, while not destroying the data relationship in the description file. The subsequent link can verify the equality, comparison and subset judgment of the satellite task and the encrypted worker preference description file through the intersection of multiple attributes.
[0231] In order to realize efficient satellite task worker matching, the task category universe is predefined, denoted by set In order to enable the multi-satellite task collaborative matching scheme to be compared and matched, the satellite task attribute value domain is standardized: each attribute value in the satellite task and worker preference description is strictly limited to a discrete integer interval , where is the upper limit of the preset global value domain (such as = 200). Then, a satellite task is described as , and the value range of each attribute is an integer between The design maps unstructured attributes (such as skill category, worker reputation) to a standardized mathematical space, providing a computable basis for subsequent ciphertext matching schemes.
[0232] The present application converts each attribute value into its corresponding fixed-length binary string to construct an encrypted vector, the length of which is determined by the number of binary representation bits of By uniformly mapping various attributes to fixed-length binary vectors, complex multi-type matching (such as subset inclusion, range comparison) can be converted into standardized bit operations, laying the foundation for unified computation in the encrypted domain, while compressing the computational time complexity. The binary encoding value corresponding to each attribute value is taken as an element, and thus the attribute encryption vector is obtained as An example is given here, assuming, This vector indicates that this is a remote sensing photography task that needs to be completed at position (4, 6) between 7:00 and 8:00, and the qualified worker's reputation score must be greater than or equal to 10. Accordingly, the set of encrypted attributes for this task can be obtained as follows: The attribute coding method for workers is similar.
[0233] After obtaining the set of encrypted attributes, participants will construct encrypted indexes for satellite mission and worker attributes based on encryption technology. Directly using a single-encoded binary vector might expose data distribution characteristics (such as the high frequency of certain attribute values), allowing attackers to infer sensitive information through frequency analysis. Therefore, the attribute block-encoding encryption mechanism designs the following secondary encoding rule: it breaks the original statistical characteristics through block-based obfuscation encoding and calculates the encrypted index from the secondary encoded values:
[0234] (1) For the first attribute, the matching type is subset matching, so the pseudo-random function is called directly. calculate .
[0235] (2) For the 2nd to 6th attributes To facilitate comparison and equality matching, block-based obfuscation encoding is performed. For each attribute value... ( (This is the encrypted attribute value obtained by converting the original attribute value to binary). The following operations are performed for secondary encoding to build the index:
[0236] a) Special handling: When When, offset the attribute value. ;
[0237] b) Block encoding: ... Decomposed into Sub-block , here This refers to the bit width of the binary encrypted attribute value mentioned earlier. For each sub-block, prefix obfuscation is performed first, followed by suffix inversion, and finally, a comparison relation is embedded to construct the obfuscated encoded value. :
[0238] (4)
[0239] for The former The character value of a bit. The value obtained by bitwise inversion of the character value corresponding to this sub-block. It is a comparison function. For string concatenation operations, the return value is shown in formula (5):
[0240] (5)
[0241] wherein, and are two positive integers.
[0242] Through the design of the obfuscated encoding rule, the attribute value is cut into sub-blocks that are not related to each other, but the data relationship information of the original attribute is still retained in the sub-blocks, so that even if the attacker obtains part of the sub-blocks, the complete attribute cannot be restored, ensuring the indistinguishability of the encrypted index generated subsequently.
[0243] In the form of a vector representation , for the second attribute of the task, the encrypted character set obtained according to the block encoding rule is:
[0244] { }.
[0245] (3) Generation of encrypted index: obtain the obfuscated encoding value , call the pseudo-random function to calculate the connection value ciphertext and aggregate the result to the encrypted index set , and obtain the encrypted task after calculating all the encrypted index sets, which realizes the preservation of the data relationship in the plaintext domain while ensuring the confidentiality of the task attribute. For the worker, generate the token .
[0246] 4) Task matching based on encrypted index
[0247] Based on the encrypted tasks and tokens of the satellite and the worker calculated in the foregoing, perform multi-dimensional attribute ciphertext intersection verification, and judge the intersection of the encrypted index values of each attribute in turn:
[0248] For the first attribute , extract the index value of the first attribute of the encrypted satellite task , and judge whether it belongs to the encrypted value of the first attribute of the token . If is not true, it means that the worker and the satellite task are not matched, and the matching is directly exited. For the second to sixth attributes , calculate the encrypted attribute intersection of the encrypted satellite task and the token, and if the intersection is not empty , it means that the attribute is matched. If all the attributes are matched successfully, it means that the satellite task and the worker are matched.
[0249] Take the satellite task represented in the form of and the worker as an example. For the second attribute of the satellite task and the worker, according to the block encoding rule corresponding to the attribute, the encrypted character set obtained after encoding of the satellite task should be represented as:
[0250] ;
[0251] The worker's preference for the encrypted character set obtained after coding is:
[0252] .
[0253] There is an intersection between the two, so the worker's preference for the attribute meets the task requirements, and then the matching of the next attribute is carried out.
[0254] Through the confusion coding, encryption technology and ciphertext intersection verification, the dual goals of privacy protection and efficient matching are realized.
[0255] II. Non-interactive verification mechanism based on accumulator
[0256] 1) Authenticatable data structure generation and on-chain anchoring
[0257] The prior art cannot provide a verifiable evidence chain after ciphertext matching, which is easy to cause unfair transactions. In order to realize the public verifiability of multi-star task collaborative matching, the present application designs a verification protocol based on RSA accumulator, which ensures the transparency and tamper resistance of the matching process through the block hash accumulation value and on-chain anchoring mechanism.
[0258] (1) Attribute prime mapping: in the encryption phase, the requester and the worker calculate the block hash of all blocks through the encryption hash function and store them in the set Each encrypted index is mapped to a unique prime number to ensure the uniqueness and irreversibility of the generated accumulation value.
[0259] (2) Accumulator value generation: based on the obtained in the previous step, the set is used to calculate the accumulation value corresponding to each attribute, and the is called to generate the accumulation value and stored in the stage accumulation value set. After the operation is completed, 6 accumulation values will be obtained, which will be used as the on-chain verification anchor point of the attribute, and used for proof of subsequent task matching.
[0260] 2) Member proof generation
[0261] In the satellite task encryption and publishing phase, the requester and the worker generate the accumulation value of the encrypted index based on the RSA accumulator verification protocol. If the satellite task and the worker match in some attribute, it is necessary to declare that a certain attribute belongs to both the satellite task demand set and the worker preference set, and has not been tampered with.
[0262] Therefore, if the attribute matching is true, a double member proof based on RAS accumulator will be generated according to equation (6), which shows that the element belongs to two encrypted index sets respectively. After the proof is generated, the triple is stored in the verification object.
[0263] (6)
[0264] wherein, is the public element of the requester and worker satellite task description ciphertext, is the prime set corresponding to the requester satellite task description ciphertext, is the prime set corresponding to the worker satellite task description ciphertext, is the generation existence proof protocol of the RSA accumulator, and is the existence proof;
[0265] 3) Matching result verification based on member proof verification
[0266] The satellite task encryption and publishing and worker token generation stage is responsible for aggregating all attribute values into a mathematical cumulative value by the requester and the worker. In the multi-satellite task collaborative matching stage, the task allocation node is responsible for generating a member proof and storing it in the verification object. This verification object realizes the binding of worker attributes and satellite task requirements, and only by verifying the correctness of the member proof can it be ensured that the worker attributes belong to the encrypted set of satellite tasks and their declared preferences. If any attribute is tampered with (such as the worker falsely reporting the credit value), the cumulative value will change and cannot pass the verification; if the matching is wrong, a false proof is forged, and it also cannot pass the verification. Through this operation, the verification process only needs to confirm that the attribute belongs to the legal set without revealing the specific value to achieve the verification of the matching result.
[0267] Therefore, the participants extract the triple ( , , ) from each attribute corresponding to the verification object and the cumulative value obtained on the chain, and check whether the specific condition is true or not to verify the correctness of the proof. If any condition of equation (7) is true, it means that the verification fails, the attribute does not match, the verification is terminated, otherwise the next attribute verification is continued. If all attribute verifications are passed, it returns "verification success" to confirm the correctness of the matching result.
[0268] (7)
[0269] wherein, is the public element of the requester and worker satellite task description ciphertext, is the RSA cumulative value set corresponding to the requester satellite task description ciphertext, is the cumulative value set corresponding to the worker token; is the verification existence proof protocol of the RSA accumulator, and is the existence proof;
[0270] By the proof of the RSA accumulator, the correctness of the multi-star task cooperative matching result needs to be verified only by verifying the existence of intersection without leaking the set content, which protects privacy and avoids the computational burden of full decryption. Through the above design, the complex multi-attribute matching verification is simplified to independent accumulator member verification.
[0271] The application is based on the ciphertext matching mechanism of attribute obfuscation coding. For the first time, after the satellite task and worker attribute standardization modeling, the subset, comparison and equivalence matching in the encryption domain are realized through block encoding and obfuscation technology, effectively resisting frequency analysis attack, while ensuring the integrity of the matching logic. The RSA accumulator is introduced to realize non-interactive verifiable matching. By using the RSA accumulator technology, the matching proof generation and verification process are decoupled, and users can efficiently verify the correctness of the matching result through the on-chain verification data structure without decrypting the task content or exposing the original attribute value. A matching and verification system is constructed on and off the chain, and a hierarchical task data storage and computing architecture is innovatively designed. The task content and index are encrypted and stored off-chain, and only the hash commitment and verification anchor point are retained on-chain, realizing an efficient, low-load private task matching system.
[0272] Referring to Figure 8 , the application discloses a safe and reliable multi-star task cooperative matching system based on a block chain, comprising:
[0273] A ground base station unit is used for a ground base station to generate a global public parameter and a key pair, and to allocate an identity and distribute a key for a requester and a worker;
[0274] A requester unit is used for a requester to complete local identity verification through the identity and the key held by the requester; the requester obtains a request hash value and a request encrypted task index of a requester satellite task description based on an attribute obfuscation coding encryption strategy, and generates a request cumulative value of the request encrypted task index based on an RSA accumulator; the requester sends the request encrypted task index to a task allocation node, and uploads the request cumulative value and the request hash value to a block chain;
[0275] A worker unit is used for a worker to complete local identity verification through the identity and the key held by the worker; the worker obtains a work hash value and a work preference token of a worker satellite task description based on the attribute obfuscation coding encryption strategy, and generates a work cumulative value of the work preference token based on the RSA accumulator; the worker sends the work preference token to the task allocation node, and uploads the work cumulative value and the work hash value to the block chain;
[0276] A task allocation node unit is used for a task allocation node to perform multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generate a verification object containing a matching proof, and upload the verification object to the block chain;
[0277] A participant verification unit is configured to verify correctness of the matching result based on the request accumulation value, the request hash value, the work hash value, the work accumulation value and the verification object on the blockchain.
[0278] A third object of the present application is to provide an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor implementing the blockchain-based secure and reliable multi-satellite task cooperative matching method when executing the computer program.
[0279] The blockchain-based secure and reliable multi-satellite task cooperative matching method comprises the following steps:
[0280] The ground base station generates a global public parameter and a key pair, assigns an identity to the requester and the worker, and distributes the key;
[0281] The requester completes local identity verification by holding the identity and the key; the requester obtains a request hash value of the requester satellite task description and a request encrypted task index based on an attribute confusion encoding encryption strategy, and generates a request accumulation value of the request encrypted task index based on an RSA accumulator; the requester sends the request encrypted task index to the task allocation node, and uploads the request accumulation value and the request hash value to the blockchain;
[0282] The worker completes local identity verification by holding the identity and the key; the worker obtains a work hash value of the worker satellite task description and a work preference token based on an attribute confusion encoding encryption strategy, and generates a work accumulation value of the work preference token based on an RSA accumulator; the worker sends the work preference token to the task allocation node, and uploads the work accumulation value and the work hash value to the blockchain;
[0283] The task allocation node performs multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generates a verification object containing a matching proof, and uploads it to the blockchain;
[0284] The participant verifies the correctness of the matching result based on the request accumulation value, the request hash value, the work hash value, the work accumulation value and the verification object on the blockchain.
[0285] A fourth object of the present application is to provide a computer readable storage medium, which stores a computer program, the computer program being executed by a processor to implement the blockchain-based secure and reliable multi-satellite task cooperative matching method.
[0286] The blockchain-based secure and reliable multi-satellite task cooperative matching method comprises the following steps:
[0287] The ground base station generates a global public parameter and a key pair, allocates an identity to the requester and the worker, and distributes the key;
[0288] The requester completes local identity verification by the identity and the key held by the requester, obtains a request hash value and a request encrypted task index of the requester satellite task description based on an attribute-blurring encoding encryption strategy, and generates a request accumulation value of the request encrypted task index based on an RSA accumulator; the requester sends the request encrypted task index to the task allocation node, and uploads the request accumulation value and the request hash value to the blockchain;
[0289] The worker completes local identity verification by the identity and the key held by the worker, obtains a work hash value and a work preference token of the worker satellite task description based on the attribute-blurring encoding encryption strategy, and generates a work accumulation value of the work preference token based on the RSA accumulator; the worker sends the work preference token to the task allocation node, and uploads the work accumulation value and the work hash value to the blockchain;
[0290] The task allocation node performs multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generates a verification object containing a matching proof, and uploads the verification object to the blockchain;
[0291] The participant verifies the correctness of the matching result based on the request accumulation value, the request hash value, the work hash value, the work accumulation value, and the verification object on the blockchain.
[0292] Those skilled in the art will understand that embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM (Compact Disc Read-Only Memory), optical storage, etc.) containing computer-usable program code.
[0293] The present application is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus produce a means for implementing the functions specified in the flowcharts and / or block diagrams. Figure 1 one flow or multiple flows and / or blocksFigure 1 means for performing the function specified in the block or blocks.
[0294] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a Figure 1 one or more flows and / or blocks Figure 1 means for performing the function specified in the block or blocks.
[0295] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 one or more flows and / or blocks Figure 1 steps of means for performing the function specified in the block or blocks.
[0296] The above merely provides the preferred embodiment of the present application and is not intended to limit the present application. The present application can have various modifications and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A blockchain-based secure and reliable multi-satellite task coordination matching method, characterized in that, The ground base station generates a global public parameter and a key pair, allocates an identity to the requester and the worker, and distributes the key; The requester completes local identity verification through the identity and the key held by the requester; The requester obtains a request hash value of the requester satellite task description and a request encrypted task index based on an attribute obfuscation encoding encryption strategy, and the requester generates a request accumulation value of the request encrypted task index based on an RSA accumulator; The requester sends the request encrypted task index to a task allocation node, and uploads the request accumulation value and the request hash value to a blockchain; The worker completes local identity verification through the identity and the key held by the worker; The worker obtains a work hash value of the worker satellite task description and a work preference token based on the attribute obfuscation encoding encryption strategy, and the worker generates a work accumulation value of the work preference token based on the RSA accumulator; The worker sends the work preference token to the task allocation node, and uploads the work accumulation value and the work hash value to the blockchain; The task allocation node performs multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generates a verification object containing a matching proof, and uploads the verification object to the blockchain; Participants verify the correctness of the matching result based on the request accumulation value, the request hash value, the work hash value, the work accumulation value and the verification object on the blockchain; After the ground base station generates a global public parameter and a key pair, allocates an identity to the requester and the worker, and distributes the key, a standard matching mechanism between the worker and the requester is established, specifically: First, the satellite task type, the satellite task position, the satellite task start time, the satellite task end time and the worker reputation value are selected as the key indicators for matching the satellite task and the worker; the standard matching mechanism is a mapping of the worker to the satellite task: When the multi-level mixed constraint condition is established, it indicates that the satellite task and the worker are matched, and the satellite task is allocated to the worker; Using a satellite task description representing a requester, including a satellite task type , a satellite task location , a satellite task start time , a satellite task end time , and a minimum reputation value requirement for a worker to perform the satellite task ; the worker performing the satellite task at any time between the satellite task start time and the satellite task end time ; Using satellite task description representing a worker, including a set of satellite task types of interest to the worker , a satellite task execution area , an available time period for executing the satellite task , and a worker reputation value ; The standard matching mechanism is implemented by multi-level hybrid constraints: satellite task type Belonging to the satellite task type set that the worker is interested in; the worker satellite task execution area falls within the satellite task location ; the available time period for performing the satellite task is between the satellite task start time and the satellite task end time ; the worker reputation value is not lower than a minimum reputation value requirement ; the multi-level hybrid constraint condition is simplified as follows: wherein, is a satellite task type; is a set of satellite task types of interest to the worker; is a satellite task location; is a satellite task execution area; is a satellite task start end time; is an available time period to execute the satellite task; is a minimum reputation value requirement for the worker to execute the satellite task; is a worker reputation value; The dynamic key generation on the requester and the worker side is implemented, specifically as follows: The satellite task and the satellite task description of the worker are encrypted before matching and submitted to the task allocation node, and the task allocation node allocates a unique satellite task identifier to the requester after verifying the identity successfully A unique worker identifier is allocated to the worker In combination with a cryptographic hash function, dynamic key generation on the requester and worker side is realized The ground base station generates a global public parameter and a key pair, allocates an identity to the requester and the worker, and distributes the key, including: For the requestor side, the satellite mission identifier will be used as a basis A mission-specific key is generated, ensuring uniqueness; to prevent replay attacks, the requestor key is embedded in the calculation of the key as: wherein, is a satellite mission-specific key; is a hash function ; is a multiplicative group over a finite field; is a function mapping; denotes the set of all binary strings of length ; is a hash function ; is a generator of a cyclic group; is a randomly generated requester key; is a satellite mission identifier; For the worker side, when a worker is interested in a certain satellite task, the satellite task identifier of interest to the worker is identified In combination with the worker key pair, the worker's task-specific key is calculated For encrypting the worker's preference description, supporting matching operation in ciphertext state; wherein, is a hash function; is a satellite mission identifier; is a worker's key; is a worker's authorization key. 2.The blockchain-based secure and reliable multi-satellite task coordination matching method according to claim 1, characterized in that, The attribute obfuscation encoding encryption strategy is specifically: For the requester, the ground base station computes a key for the requester and sends it to the requester; the worker submits to the ground base station a set of satellite tasks of interest, the ground base station generates a key for each worker interested in the satellite tasks published for the requester and then computes the corresponding authorization key by where is the key for the requester, is the generator; the authorization key is used to compute the task-specific key; afterwards, the ground base station sends to each worker the key and the corresponding authorization key ; Before the key pair distribution, the ground base station authenticates the identity of the requester and the worker. 3.The blockchain-based secure and reliable multi-satellite task coordination matching method according to claim 1, characterized in that, The attribute obfuscation encoding of the requester is: After obtaining the set of attribute encryption vectors, participants construct an encrypted index for the satellite task and the worker satellite task description based on encryption technology; the attribute block encoding encryption mechanism designs a secondary encoding rule, breaks the original statistical characteristics through block obfuscation encoding, and calculates the encrypted index from the secondary encoding value, specifically: a predefined full set of satellite mission classes, denoted by the set {C1, C2, C3, C4, C5, C6, C Standardization of the value domain of satellite task attributes: each attribute value in the satellite task and worker satellite task description is strictly limited to a discrete integer interval where is the upper limit of the preset global value domain; then a satellite task is described as , each attribute has a value range of integer between Convert each attribute value into its corresponding fixed-length binary string to construct the encryption vector, length of binary representation bits is determined; various types of attributes are uniformly mapped into fixed-length binary vectors, and complex multi-type matching is converted into standardized bit operations; the binary encoding value corresponding to each attribute value is taken as an element, and the attribute encryption vector is obtained ; Through the block obfuscation encoding, the attribute value is cut into sub-blocks that are not related to each other, and the data relationship information of the original attribute is retained in the sub-blocks; 1) For the 1st attribute, at this time , the matching type is subset matching, directly call the pseudo-random function calculation ; 2) For the 2nd to 6th attributes, at this time For comparison and equal match, block obfuscation encoding is performed; For each attribute value , is the encrypted attribute value obtained by binary conversion of the original attribute value, and the following operation is performed for secondary encoding to construct the index: When the attribute value is offset ; Will be divided into Decomposed into One sub-block , The bit width of the attribute value is encrypted in binary form. For each sub-block, first perform prefix confusion, then perform suffix negation, and finally embed the comparison relationship symbol to construct the confusion coding value : wherein, is the character value of the first character of the string; is the value obtained by performing a bitwise NOT operation on the character value of the corresponding character of the sub-block; is a comparison function; is a string concatenation operation; the return value is as shown in the following formula: wherein and are two positive integers; 4) Task matching based on encrypted index 3) Encryption index generation: get obfuscated encoding value After that, call pseudo-random function to calculate connection value ciphertext and aggregate the result to the encryption index set After calculating all the encryption index sets, get the encrypted task It realizes the confidentiality of task attributes while preserving the data relationship in the plaintext domain. Based on the calculated encrypted tasks and tokens of the satellite and the worker, multi-dimensional attribute ciphertext intersection verification is performed, and the intersection is judged for the encrypted index value of each attribute in turn: The attribute obfuscation encoding of the worker is: For the first attribute, at this time , the index value of the first attribute of the encrypted satellite task is extracted , it is judged whether it belongs to the encrypted value of the first attribute of the token , if is not true, it means that the worker and the satellite task do not match, and the matching is directly exited; for the second to sixth attributes, at this time , the encrypted attribute intersection of the encrypted satellite task and the token is calculated, and if the intersection is not empty, it means that the attribute matches; all attribute matching is successful, which means that the satellite task and the worker are matched. Based on the above, the worker generates a work preference token. The worker sequentially performs binary conversion, secondary encoding and hash calculation of the satellite task description file of the worker to obtain an encrypted satellite task index of the worker ; the encoding rule is as follows: 1) for the 1st attribute, at this time , according to the definition of the preference description, the 1st attribute corresponds to at least one attribute value, so here the hash value of each task category attribute encoding value is calculated in turn , and stored in the set ; 2) for the 2nd to 6th attributes, at this time , for each attribute value , is the encrypted attribute value obtained by converting the original attribute value into binary, in the calculation of the block confusion encoding value, first prefix confusion is performed, no suffix inversion is performed, and finally the comparison identifier is embedded, that is: When the obfuscated encoding value is obtained as follows: when First, offset the attribute value. Then, the obfuscated encoded value is constructed, and the processing method is as follows: where... The for The former The character value of a bit; The non-interactive verification mechanism of the RSA accumulator is specifically:
4. The blockchain-based secure and reliable multi-satellite task coordination matching method according to claim 3, characterized in that, 1) Authenticated data structure generation and on-chain anchoring 2) Member proof generation In the encryption phase, the requester and the worker calculate the chunk hash through an encryption hash function for all chunks and store them in the set Each encrypted index is mapped to a unique prime number, ensuring the uniqueness and irreversibility of the generated request accumulation value and the work accumulation value, completing the attribute prime mapping; get collection after, collection call generate cumulative value, and store it in the stage cumulative value collection; after the operation ends, 6 cumulative values will be obtained, and the request cumulative value and the work cumulative value will be used as the on-chain verification anchor point of the attribute, which is used for subsequent task matching proof; In the satellite task encryption and release stage, the requester and the worker respectively generate the accumulated value of the encrypted task index based on the RSA accumulator verification protocol. If a certain attribute matches, it needs to declare that a certain attribute belongs to the satellite task demand set and the worker preference set at the same time, and it has not been tampered with; If a certain attribute match is true, a double member proof based on RSA accumulator will be generated according to the following formula, and the triple will be stored in the verification object after the proof is generated; wherein, are public elements of the requester and worker satellite task description ciphertexts, respectively, belonging to two encrypted index sets; is a prime set corresponding to the requester satellite task description ciphertext; is a prime set corresponding to the worker satellite task description ciphertext; is a generation proof of existence protocol of the RSA accumulator; and is a proof of existence. 3) Matching result verification based on member proof verification The satellite task encryption and release and worker token generation stage are responsible for aggregating all attribute values into a mathematical accumulated value by the requester and the worker. In the multi-satellite task collaborative matching stage, the task allocation node is responsible for generating a member proof and storing it in a verification object. The verification object realizes the binding of the worker satellite task description and the requester satellite task description. As long as the correctness of the member proof is verified, it is ensured that the worker satellite task description belongs to the encrypted set of the requester satellite task description. If any attribute is tampered with, the accumulated value will change and cannot be verified. If the error matching is false, the false proof cannot be verified. Participants from each attribute corresponding to the authentication object Extract the triple ( , ), and check the specific conditions on the blockchain to obtain the cumulative value of the request and the cumulative value of the work to check the correctness of the proof; if any of the following conditions is met, the verification fails, the attributes do not match, and the verification is terminated; otherwise, continue to the next attribute verification; if all attribute verifications are passed, return "verification success" to confirm that the matching result is correct; wherein, is a public element of the requester and worker satellite task description ciphertexts; is a set of RSA accumulators corresponding to the requester satellite task description ciphertexts; is a set of accumulators corresponding to the worker token; is a proof of existence verification protocol for RSA accumulators; and is a proof of existence; Through the non-interactive verification mechanism of RSA accumulator, the correctness of the multi-satellite task collaborative matching result only needs to verify the existence of the intersection without revealing the set content. 5.The blockchain-based secure and reliable multi-satellite task coordination matching method according to claim 4, characterized in that, The requester satellite task description based on the attribute obfuscated encoding encryption strategy gets the request hash value and the request encrypted task index, which is specifically: Prior to the encrypted satellite mission, the requester used a mission identifier. and key Generate satellite mission-specific keys and using a satellite mission-specific key Encrypt satellite missions; simultaneously, using symmetric keys. Regarding the original satellite mission content Encryption is performed so that unauthorized entities have no knowledge of the specific content of the satellite mission. The requester submits the encrypted satellite mission to the mission allocation node, which then allows the matching worker to decrypt and execute it. Given a satellite task description , described as , the value range of each attribute is an integer between 0 and 1-1; the worker said the attribute confusion coding encryption strategy, in turn, to its requester satellite task description carries on the binary conversion, the block confusion coding and the calculation confusion coding value's hash, obtains its encryption satellite task index ; The requester generates the request accumulated value of the request encrypted task index based on the RSA accumulator, which is specifically: The requester calculates a prime number set for constructing the accumulated value according to a non-interactive verification mechanism of the RSA accumulator , and obtains the accumulated value The accumulated value will be used as chain authenticatable data structure for subsequent multi-star task cooperative matching proof The requester runs the property obfuscation encoding encryption policy to complete the encryption of the satellite task, in order to guarantee the integrity of the data on the chain, the requester will be based on the satellite task identifier Computes two integrity hashes And Hash For the worker to verify the authenticity and integrity of the decrypted satellite task, hash As the on-chain integrity commitment of the encrypted index; The blockchain and task assignment node are a collaborative storage architecture, with metadata stored on-chain and encrypted data stored off-chain; in accordance with a tiered storage model, the task identifier , encrypted message , encrypted index , and hash set are hosted by the task assignment node, with the blockchain responsible for storing key metadata and authenticatable data structures, including integrity hashes and , cumulative values . 6.The method of claim 5, wherein, The worker satellite task description based on the attribute obfuscated encoding encryption strategy gets the work hash value and the work preference token, which is specifically: The task assignment node assigns a unique worker identifier to the worker upon verifying the validity of the worker's identity ; the worker then uses a dynamic key issuance method to compute a satellite mission-specific key based on the satellite mission identifier of interest to the worker and the key pair ; The worker constructs an attribute vector based on satellite task preferences, that is Wherein When the worker is interested in multiple satellite tasks, The multiple task categories in which the worker is interested are included, that is At this point, the worker completes the generation of the work preference token; The worker generates the work accumulated value of the work preference token based on the RSA accumulator, which is specifically: Workers generate non-interactive verification mechanisms based on RSA accumulators. and cumulative value set Finally, workers will be based on worker identifiers. Calculate the hash value of the work preference token as an integrity commitment on the blockchain that generated the work preference token; worker identifier, token and hash sets The data will be stored on the task allocation node, and the integrity hash will be... Cumulative value set Anchored to a blockchain satellite node.
7. The method according to claim 1, wherein, The task allocation node performs multi-attribute ciphertext matching based on the request encrypted task index and the work preference token, generates a verification object containing a matching proof, and uploads it to the blockchain, which is specifically: According to the intersection of the request encrypted task index and the work preference token, it is judged whether the satellite task worker meets the task requirements: 1) For the first attribute, at this time , the attribute index value of the encrypted satellite task is extracted , it is judged whether the attribute index value belongs to the encrypted value of the token's first attribute , if not, it means that the worker and the satellite task do not match, and the matching is exited; if it is, a double membership proof based on RSA accumulator is generated according to the following formula; proves generation after triad storage into verification object ; wherein, is a hash function; are public elements of the requester and worker satellite task description ciphertexts, respectively belonging to two encrypted index sets; is a prime set corresponding to the first attribute ciphertext in the worker satellite task description; is a generation proof of existence protocol of the RSA accumulator; and is a proof of existence. 2) for the 2nd to 6th attributes , compute the intersection of the encryption attributes of the encryption task and the token , if the intersection is non-empty, continue to generate a proof according to the following formula, and update the verification object , otherwise, it means that the matching fails; wherein, is a public element of the requester and worker satellite task description ciphertexts; is a prime set corresponding to the requester satellite task description ciphertext; is a prime set corresponding to the worker satellite task description ciphertext; is a generation proof of existence protocol of the RSA accumulator; and is a proof of existence. The multi-attribute matching judgment is split into independent verification steps, and invalid verification is terminated in advance. If all attribute matching passes, the task allocation node sends the encrypted satellite task content to the matched worker for subsequent decryption and execution. In addition, the task allocation node submits the matching result and the verification object to the blockchain satellite node, anchoring the encrypted matching value of each attribute and the RSA member proof . 8.The method of claim 1, wherein, The participants verify the correctness of the matching result based on the request accumulated value, the request hash value, the work hash value, the work accumulated value and the verification object on the blockchain, which is specifically: Based on the matching result, the requester and the worker in the verification phase follow the non-interactive verification mechanism of the RSA accumulator to verify the correctness of the matching proof according to the verification object corresponding to each attribute , the accumulated value of the request and the accumulated value of the work obtained on the blockchain, and check whether a specific condition is true or not. 1) for the 1st attribute, at this time , the data type is set, the verifier extracts from , if any one of the following conditions is true, the verification fails, and the process is terminated, otherwise the next attribute verification is continued; wherein, is a hash function; is a public element of the requester and worker satellite task description ciphertexts; is the first element of the set of RSA accumulators corresponding to the requester satellite task description ciphertext; is the first element of the set of accumulators corresponding to the worker token; is a proof of existence of verification protocol for RSA accumulators; and is a proof of existence. 2) for the 2nd to 6th attributes, at this time , the verification algorithm of the accumulator is invoked according to the triple and the cumulative value set to check whether it belongs to the satellite task or the worker encryption index set, and verify whether the attributes match according to the following formula; wherein, is a public element of the requester and worker satellite task description ciphertexts; is a set of RSA accumulators corresponding to the requester satellite task description ciphertexts; is a set of accumulators corresponding to the worker token; is a proof of existence of verification protocol of RSA accumulator; and is a proof of existence. The requester and the worker need to reach a consensus on the matching verification result. Based on the basic assumption of the honesty of the majority of the blockchain satellite nodes, when a match obtains more than a set threshold of verification passed responses, the matching result is considered valid. The requester publishing the satellite task uses the public key of the matching worker The encryption key is asymmetrically encrypted and uploaded to the blockchain satellite node. After the matching worker gets the ciphertext, the worker uses the worker's private key to decrypt the ciphertext to obtain the decryption key and perform symmetric decryption to restore the original satellite task content. If a certain attribute does not meet the condition, the matching result is considered invalid, and the participants who perform the verification will cast a vote against it. If the number of votes against exceeds the set threshold, the matching result is considered invalid. At this time, the requester and the worker's deposit will be returned, and the dishonest task allocation node's deposit will be deducted.
Citation Information
Patent Citations
Verifiable privacy protection and personalized crowdsourcing task matching method and system under assistance of block chain
CN115694787A