Cross-domain data sharing method based on block chain
By adopting a blockchain-based approach in cross-domain data sharing, data privacy and security issues are solved, privacy protection and security guarantees are realized in the process of data sharing, and the efficiency and security of data sharing are improved.
Patent Information
- Application Number
- CN202411883512.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-04-11
AI Technical Summary
Existing cross-domain data sharing solutions have data privacy and security issues, data integrity and trust issues, and the lack of effective feedback mechanisms, resulting in uncertainty in the data sharing process.
A cross-domain data sharing method based on blockchain is adopted to generate public parameters through the blockchain, the user calculates the main public key and the main private key, and maps and verifys the user attribute set on the blockchain. The data owner encrypts the data using a symmetric key, and uploads the key to the blockchain through the attribute-based encryption scheme of the ciphertext policy. After the data requester verifies the reputation value and attributes, he generates a re-encryption key and decrypts the data ciphertext to obtain the target data.
It realizes privacy protection and security protection in the data sharing process, ensures transparent and controllable user behavior, reduces malicious operations, improves the efficiency and security of data sharing, and enhances the robustness of the system through a dynamic update mechanism of reputation value.
Smart Images

Figure CN119814409A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information processing, in particular to blockchain technology, and more particularly to cross-domain data sharing technology, and specifically to a cross-domain data sharing method based on blockchain. Background Art
[0002] With the rapid development of technologies such as the Internet of Things, cloud computing, and big data, cross-domain data sharing has gradually become a key requirement in many fields. Existing cross-domain data sharing solutions usually rely on centralized architectures, such as cloud servers or third-party data intermediaries. Although these traditional methods can achieve data sharing and exchange, they have the following problems:
[0003] Data privacy and security issues: Traditional centralized architectures are easy targets for attack, which may lead to data leakage or unauthorized access. In addition, it is difficult for data owners to effectively control and track shared data, thus affecting the protection of data privacy.
[0004] Data integrity and trust issues: In existing cross-domain data sharing solutions, due to the lack of a trusted mechanism to ensure the integrity of data during transmission and sharing, data may be tampered with without authorization. It is difficult for the data recipient to verify the source and integrity of the data, and the trust establishment process is complex and costly.
[0005] Lack of feedback mechanism: Current cross-domain data sharing systems usually lack an effective feedback mechanism, and data owners cannot timely understand data usage or optimize data sharing strategies based on feedback information. This lack of transparency leads to uncertainty in the data sharing process.
[0006] In recent years, blockchain technology has been widely used in the field of data sharing due to its decentralized, tamper-proof and traceable characteristics. Blockchain technology can effectively solve the trust problem in some data sharing through the automated execution of smart contracts. However, existing blockchain-based data sharing solutions still have certain limitations, such as complexity in cross-domain scenarios and imperfect feedback mechanisms. Summary of the invention
[0007] The purpose of the present invention is to provide a cross-domain data sharing method based on blockchain, which is used to solve the security and privacy problems of shared data in the prior art.
[0008] The present invention provides a cross-domain data sharing method based on blockchain, the method comprising: blockchain generates public parameters for a data domain added to the blockchain and sends them to the data domain, a user in the data domain calculates his own master public key and master private key, uploads the master public key to the blockchain, and the master private key is saved by the user; the blockchain receives a user attribute set uploaded by an attribute authorization center of the data domain, and adds the user attribute set to an attribute mapping table to establish a mapping; the data owner in the data domain sends his own user attribute set to the corresponding attribute authorization center, and the attribute authorization center calculates the corresponding attribute private key and sends it to the data owner, the data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a data ciphertext. to the key ciphertext, and upload the data ciphertext and the key ciphertext to the blockchain; after the blockchain receives the data request from the data requester, the blockchain verifies the reputation value and attributes of the data requester, and sends the data request to the data owner after the verification is passed; after receiving the data request, the data owner generates a re-encryption key for the data requester and sends it to the blockchain, and after receiving the re-encryption key, the blockchain calls the smart contract to generate a re-encryption key ciphertext for the data requester and sends it to the data requester; the data requester decrypts the re-encryption key ciphertext according to its own attribute private key to obtain a symmetric key, downloads the data ciphertext on the blockchain, and obtains the target data after decrypting the data ciphertext using the symmetric key.
[0009] In one implementation of the present invention, the blockchain generates public parameters for a data domain added to the blockchain and sends them to the data domain, a user in the data domain calculates his own master public key and master private key, uploads the master public key to the blockchain, and the master private key is saved by the user, including: the blockchain selects two P-factorial multiplication cyclic groups to calculate the public parameters, and sends the public parameters to the data domain; after the data domain receives the public parameters, the attribute authorization center of the data domain randomly selects two first parameters, and calculates the master public key and the master private key according to the first parameters; the user in the data domain saves the corresponding master private key and sends the master public key to the blockchain; when the reputation value of a user in the blockchain is lower than a minimum threshold, the blockchain revokes the user's information and prohibits participation in data sharing, records the information of the data domain where the user is located, and after the number of users whose information is revoked in any of the data domains exceeds a preset proportion, the blockchain reduces the reputation value of all users in the corresponding data domain.
[0010] In one implementation of the present invention, the data owner in the data domain sends his own user attribute set to the corresponding attribute authorization center, which calculates the corresponding attribute private key and sends it to the data owner. The data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a key ciphertext, and uploads the data ciphertext and the key ciphertext to the blockchain, including: the data owner in the data domain sends his own master public key and master private key to the attribute authorization center; the attribute authorization center randomly selects a second parameter, calculates the attribute private key according to the second parameter, and sends the attribute private key to the data owner; the data The owner generates a symmetric key, and encrypts the shared data according to the symmetric key to obtain a data ciphertext, encrypts the symmetric key using an attribute-based encryption scheme of a ciphertext strategy to obtain a key ciphertext, and sends the data ciphertext and the key ciphertext to a cloud server, which uploads the storage record and address of the data owner to the blockchain; the data owner extracts the index of the data to be shared, and uploads the index and the hash value of the data ciphertext to the blockchain; the miner node on the blockchain grades the incoming data according to the reputation value of the data owner, and writes the index, the hash value of the data ciphertext and the storage address of the data ciphertext on the cloud server into the blockchain.
[0011] In one implementation of the present invention, the encryption of the key ciphertext CT satisfies the following formula:
[0012] CT={(M,ρ),A1,A2,(B i ,C i )};
[0013] Where (M, ρ) represents a defined access control structure, M is a l×n matrix, and ρ maps each row in the matrix M to a specific attribute x; A1 = K symmetric e(g,g) α·s 、A2=g s represents the component that encrypts the symmetric key with access policy ρ; Represents the ciphertext portion associated with a single attribute. Each B i Corresponds to a specific attribute in the access policy and ensures that only users with matching attributes can decrypt the message; A component for more securely binding attributes to access policies, similar to B i Used together to implement attribute-based access control;
[0014] Formula A1=K symmetric e(g,g) α·s 、A2=gs In this case, g is a multiplicative cyclic group. Generator of K symmetric is the symmetric key; s is the integer group modulo P of the data owner A randomly selected integer from
[0015] formula In this case, g is a multiplicative cyclic group. The generator of λ i is the vector v and M i The product of vector v = (s, y2,…, y n ), used to control the randomness in encryption and ensure the uniqueness of the ciphertext, where y2,…,y n is from n-1 integers randomly selected from i represents the i-th row of matrix M; r i is from l integers randomly selected from ρ(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group H1(ρ(i)) represents mapping the attribute value ρ(i) into a group The elements in .
[0016] In one implementation of the present invention, the miner node on the blockchain grades the incoming data according to the reputation value of the data owner, including: the miner node on the blockchain queries the reputation value of the data owner; when the reputation value of the data owner is lower than a first threshold, the blockchain feeds back information to the data owner that data sharing cannot be performed; when the reputation value of the data owner is greater than or equal to the first threshold, the credibility level of the reputation value is graded according to a set level length; wherein, the higher the reputation value, the higher the corresponding credibility level.
[0017] In one implementation of the present invention, the blockchain verifies the reputation value and attributes of the data requester, and sends the data request to the data owner after the verification is passed, including: obtaining the reputation value of the data requester, determining whether the reputation value of the data requester is greater than or equal to a second threshold; obtaining the attributes of the data requester and calling an attribute mapping table, and determining whether the attributes of the data requester meet the access control policy set by the data owner according to the attribute mapping table; after determining that the reputation value of the data requester is greater than or equal to the second threshold, and the attributes of the data requester meet the access control policy set by the data owner, the blockchain node sends the access request of the data requester and the corresponding master public key to the data owner, otherwise the request of the data requester is rejected; the reputation value of the new user in the data domain is calculated according to the reputation value of the recommender, and the calculation process of the reputation value of the new user satisfies the following formula:
[0018] R j =τ·R ref +(1-τ)·R0;
[0019] Among them, R ref is the reputation value of the recommender of the new user; τ is the weight coefficient, and R0 is the default initial reputation value.
[0020] In one implementation of the present invention, the encryption process of the re-encryption key ciphertext satisfies the following conditions:
[0021] Smart contract random selection Vector v′=(s′,y′2,…,y′ n ),in,
[0022]
[0023] A′2=g s′ ;
[0024]
[0025]
[0026] CT′={(M′,ρ′),A′1,A′2,(B′ i ,C′ i )};
[0027] Where (M′, ρ′) is the access control structure of the data requester allowed to access in domain B, M′ is a l×n matrix, and ρ′ maps each row in the matrix M′ to a specific attribute x B; A′1, A′2 represent the new ciphertext parameters in the re-encryption process, which are used to re-encrypt the shared secret; B i ′、C i ' represents a component of the attribute encryption part, which is used to ensure the matching of the access structure and the ciphertext, and to ensure the access control of the data; CT' represents the re-encryption key ciphertext;
[0028] In formulas A′1 and A′2, g is a multiplication cyclic group Generator of α B , β B For domain B attribute authority An integer randomly selected from; rk1, rk2, rk3 are components of the re-encryption key; A1, A2 are components of the key ciphertext CT;
[0029] formula In this case, g is a multiplicative cyclic group. The generator of λ i ′ is the vector v′ and M i ′, M i ′ represents the i-th row of the matrix M′; r i 'for is a randomly selected integer in the matrix; ρ′(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group In the example, H1(ρ′(i)) represents mapping the attribute value ρ′(i) into a group The elements in .
[0030] In one implementation of the present invention, the data requester decrypts the re-encrypted key ciphertext according to its own attribute private key to obtain the symmetric key, including: when the data requester and the data owner are from the same data domain, the data requester directly downloads the key ciphertext from the blockchain, and uses its own attribute private key to decrypt the key ciphertext to obtain the symmetric key; wherein the symmetric key K symmetric The decryption process satisfies the following formula:
[0031]
[0032] When the data requester and the data owner are from different data domains, the data requester uses its own attribute private key to decrypt the re-encrypted key ciphertext to obtain the symmetric key; wherein the symmetric key K symmetric The decryption process satisfies the following formula:
[0033]
[0034] In the above two formulas, A1, A2, Bi ,C i are the components of the key ciphertext CT, A′1, A′2, B i ′,C i ′ is a component of the re-encryption key ciphertext CT′; k,L,k ρ(i) The attribute private key SK of the data requester in the same data domain as the data owner S Components of SK S ={k,L,k ρ(i)}; k B ,L B ,k ρ′(i) The private key of the data requester in a different data domain from the data owner The components of w i represents an integer such that ∑w i M i =(1,0,…,0);w′ i represents an integer such that ∑w′ i M′ i =(1,0,…,0); I represents an index set, which contains the indexes of all rows in the matrix M corresponding to the user attribute set S, that is, the attribute rows that satisfy the access policy;
[0035] The downloading of the data ciphertext on the blockchain and obtaining the target data after decrypting the data ciphertext by the symmetric key includes: the data requester downloads the data ciphertext according to the cloud server address stored on the blockchain, and after verifying the hash value of the data ciphertext, decrypts the data ciphertext by the obtained symmetric key to obtain the shared data.
[0036] In one implementation of the present invention, the reputation value R of a new user in the data domain is j It is calculated after the verification task. The calculation process of the reputation value of a new user in the data domain includes:
[0037]
[0038] Among them, f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0; i is the weight of the users who gave these evaluations; n is the number of users who participated in the evaluation.
[0039] In one implementation of the present invention, the method further includes: after the transaction of the shared data is completed, the data requester and the data owner respectively submit feedback on the transaction to the blockchain; after the blockchain receives the feedback and determines that the transaction corresponding to the feedback exists, it collects feedback information of the transaction corresponding to the shared data within a first preset time period; when there are more than half of positive evaluations in the feedback information, it is determined that the shared data is correct and complete, and the blockchain updates the reputation value of the data owner, otherwise it reduces the reputation value of the data owner, and if the user in the blockchain does not participate in any transaction within a second preset time period, the blockchain correspondingly reduces the reputation value of the user; wherein, the updating process of the reputation value of the data owner in the blockchain includes: after each transaction of the data owner, other users in the blockchain retrieve the transaction and give corresponding secondary evaluations; the blockchain collects the secondary evaluations within a third preset time period, and the blockchain updates the reputation value R of the new user at the next moment according to the secondary evaluations j (t+1);
[0040]
[0041] Among them, R j (t+1) represents the reputation value of user j at the next update; ω is the historical weight coefficient, which controls the balance between current and historical reputation, and its value range is 0<ω<1; R j (t) represents the current reputation value of user j; σ i Refers to the reputation weight of other users participating in the evaluation. The higher the reputation value, the greater the weight of the user, and vice versa; f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0. is the time decay weight, indicating that the influence of early feedback gradually weakens over time; is the decay coefficient, which is used to control the weight decay of earlier feedback to ensure that reputation reflects the user's recent behavior more; t represents the current time, t i represents the time of the i-th feedback; δ j is a timeliness factor used to reduce the reputation value of long-term inactive users; n represents the number of users participating in the evaluation.
[0042] As described above, the cross-domain data sharing method based on blockchain described in the present invention has the following beneficial effects:
[0043] Compared with the prior art, the present invention realizes privacy protection and security in the process of data sharing by combining the traceability and security of blockchain. An attribute-based encryption scheme based on ciphertext strategy is adopted, and a reputation feedback mechanism is introduced to ensure that user behavior is transparent and controllable, reduce malicious operations, and improve the efficiency and security of data sharing. In addition, the dynamic update mechanism of reputation value further enhances the robustness of the system, which can effectively motivate users to participate in sharing for a long time, and punish malicious users through the reputation management mechanism. The scheme has broad application prospects and is suitable for multiple fields such as cross-domain data exchange, industrial Internet, and financial data sharing. It can provide strong support for various data-driven businesses. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 Shown is a system framework diagram of the blockchain-based cross-domain data sharing method described in an embodiment of the present invention.
[0045] Figure 2 Shown is a system framework diagram of the blockchain-based cross-domain data sharing method in the feedback stage according to an embodiment of the present invention.
[0046] Figure 3 Shown is a flow chart of the blockchain-based cross-domain data sharing method in the feedback stage according to an embodiment of the present invention.
[0047] Figure 4 Shown is a flowchart of a cross-domain data sharing method based on blockchain according to an embodiment of the present invention. DETAILED DESCRIPTION
[0048] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.
[0049] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present invention. The illustrations only show components related to the present invention rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.
[0050] See also Figures 1 to 4. The cross-domain data sharing method based on blockchain described in the present invention realizes privacy protection and security in the process of data sharing by combining the traceability and security of blockchain. An attribute-based encryption scheme based on ciphertext strategy is adopted, and a reputation feedback mechanism is introduced to ensure that user behavior is transparent and controllable, reduce malicious operations, and improve the efficiency and security of data sharing. In addition, the dynamic update mechanism of reputation value further enhances the robustness of the system, which can effectively motivate users to participate in sharing for a long time, and at the same time punish malicious users through the reputation management mechanism. The scheme has broad application prospects and is suitable for multiple fields such as cross-domain data exchange, industrial Internet, and financial data sharing. It can provide strong support for various data-driven businesses.
[0051] The technical solutions in the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings in the embodiments of the present invention.
[0052] like Figures 1 to 4 As shown, in one embodiment, the present invention provides a cross-domain data sharing method based on blockchain, and the method comprises the following steps:
[0053] S100. The blockchain generates public parameters for the data domain added to the blockchain and sends them to the data domain. The users in the data domain calculate their own master public keys and master private keys, upload the master public keys to the blockchain, and the master private keys are saved by the users.
[0054] In one embodiment, the blockchain generates public parameters for a data domain added to the blockchain and sends them to the data domain, a user in the data domain calculates his own master public key and master private key, uploads the master public key to the blockchain, and the master private key is saved by the user, including:
[0055] The blockchain selects two P-factorial multiplication cyclic groups (the P-factorial multiplication cyclic group is a cyclic group with P elements, where P is a prime number) to calculate the public parameter, and sends the public parameter to the data domain;
[0056] After the data domain receives the public parameters, the attribute authorization center of the data domain randomly selects two first parameters and calculates the master public key MPK (full name in English: Master Public Key) and the master secret key MSK (full name in English: Master Secret Key) according to the first parameters.
[0057] The user in the data domain saves the corresponding master private key MSK and sends the master public key MPK to the blockchain.
[0058] In this embodiment, the IoT device sends the collected data to the data owner, who analyzes and organizes the data. When a new data sharing domain (i.e., an independent management unit composed of a specific organization or institution) joins the blockchain system, the attribute authorization center of the data domain is responsible for uploading the user attribute information it manages to the blockchain. The blockchain node will create an attribute mapping table for the newly added data domain and the existing data domains in the system to ensure that data sharing operations between different data domains can proceed smoothly.
[0059] Specifically, the blockchain selects two P-factorial cyclic groups whose generators are g and g1 respectively. e is a bilinear map, representing Hash functions Blockchain will public parameters After the data domain receives the public parameters generated by the blockchain, the attribute authorization center in the domain randomly selects two first parameters. in, is an integer group modulo P, and the master public key MPK is calculated as follows: α ,g β}, master private key MSK = g α , the master private key is saved locally, and the master public key is sent to the blockchain for other users to search.
[0060] S200. The blockchain receives a user attribute set uploaded by an attribute authorization center of the data domain, and adds the user attribute set to an attribute mapping table to establish a mapping.
[0061] Whenever a new data domain is added to the blockchain system, the attribute authorization center of the newly added data domain uploads the user attribute set it maintains to the blockchain, and the smart contract adds it to the attribute mapping table to establish a mapping, which is convenient for subsequent calls to the attribute mapping table for verification.
[0062] S300. The data owner in the data domain sends his / her own user attribute set to the corresponding attribute authorization center, which calculates the corresponding attribute private key and sends it to the data owner. The data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a key ciphertext, and uploads the data ciphertext and the key ciphertext to the blockchain.
[0063] In one embodiment, the data owner in the data domain sends his / her own user attribute set to the corresponding attribute authorization center, and the attribute authorization center calculates the corresponding attribute private key and sends it to the data owner. The data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a key ciphertext, and uploads the data ciphertext and the key ciphertext to the blockchain, including:
[0064] The data owner in the data domain sends the master public key and the master private key of the data owner to the attribute authorization center;
[0065] The attribute authorization center randomly selects a second parameter, calculates the attribute private key according to the second parameter, and sends the attribute private key to the data owner;
[0066] The data owner generates a symmetric key, and encrypts the shared data according to the symmetric key to obtain a data ciphertext, encrypts the symmetric key using an attribute-based encryption scheme of a ciphertext strategy to obtain a key ciphertext, and sends the data ciphertext and the key ciphertext to a cloud server, and the cloud server uploads the storage record and address of the data owner to the blockchain;
[0067] The data owner extracts the index of the data to be shared, and uploads the index and the hash value of the data ciphertext to the blockchain;
[0068] The miner node on the blockchain grades the incoming data according to the reputation value of the data owner, and writes the index, the hash value of the data ciphertext and the storage address of the data ciphertext on the cloud server into the blockchain.
[0069] Specifically, first, the user who needs to share data in the data domain (i.e., the data owner) sends his attributes to the attribute authorization center, including the master public key MPK and the master private key MSK. The attribute authorization center randomly selects the second parameter And calculate the attribute private key SK based on the second parameter t S ={k=g α ·g βt ,L=g t ,k x =H1(x) t ,x∈S}, where k represents one of the key components used for decryption, L represents another key component used for the decryption process of attribute encryption, k xrepresents the key component associated with a specific attribute x, where x represents the specific value of the attribute, which is selected from the attribute set S. Each x corresponds to a specific attribute, and S represents the user's attribute set, which contains all the attributes x that the user has. The attribute authorization center will then generate the attribute private key SK S Send back to the data owner.
[0070] After the data owner obtains the attribute private key SK S After that, first generate the symmetric key K symmetric Encrypt the shared data m that needs to be shared to obtain the data ciphertext ct, which is uploaded to the cloud server of the blockchain for storage. Symmetric encryption is used to encrypt the shared data here. Then, the data owner uses an attribute-based encryption scheme based on the ciphertext policy to encrypt the generated symmetric key to ensure that only users who meet the specific access policy can decrypt and obtain the key. The generated ciphertext will be uploaded to the blockchain for other users to download.
[0071] After completing the encryption operation, the data owner uploads the data ciphertext ct to the cloud server. The cloud server then synchronously records the storage location of the data ciphertext ct and the hash value of the data ciphertext to the blockchain to ensure that the storage information and integrity of the data are verified and tracked on the chain. The hash value of the data ciphertext ct is generated by calculating the data ciphertext ct using a hash function (such as SHA-256), which is used to verify that the data has not been tampered with in subsequent processes. At the same time, the data owner extracts keywords from the shared data m, generates the corresponding data index, and uploads the key ciphertext CT, data index, and the hash value of the data ciphertext ct to the blockchain for other users to query and browse.
[0072] The encryption of the key ciphertext CT satisfies the following formula:
[0073] CT={(M,ρ),A1,A2,(B i ,C i )};
[0074] Where (M, ρ) represents a defined access control structure, M is an l×n matrix, where l represents the number of rows, n represents the number of columns, and ρ maps each row in the matrix M to a specific attribute x (i.e., the attribute x in the previous text); A1=K symmetric ·
[0075] e(g,g) α·s 、A2=g s represents the component that encrypts the symmetric key with access policy ρ; Represents the ciphertext portion associated with a single attribute. Each B i Corresponds to a specific attribute in the access policy and ensures that only users with matching attributes can decrypt the message; A component for more securely binding attributes to access policies, similar to B i Used together to implement attribute-based access control.
[0076] Formula A1=K symmetric e(g,g) α·s 、A2=g s In this case, g is a multiplicative cyclic group. Generator of K symmetric is a symmetric key; s is the integer group modulo P of the data owner A randomly selected integer from
[0077] formula In this case, g is a multiplicative cyclic group. The generator of , i represents the row index of the matrix, that is, it represents a row in the matrix; λ i is the vector v and M i The product of vector v = (s, y2,…, y n ), used to control the randomness in encryption and ensure the uniqueness of the ciphertext, where y2,…,y n is from n-1 integers randomly selected from i represents the i-th row of matrix M; r i is from l integers randomly selected from ρ(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group H1(ρ(i)) represents mapping the attribute value ρ(i) into a group The elements in .
[0078] It should be noted that in modulo P arithmetic, all calculation results are modulo, that is, all results are constrained to be in the range of 0 to P-1, usually expressed as "mod P".
[0079] In one embodiment, the miner nodes on the blockchain classify the incoming data according to the reputation value of the data owner, including:
[0080] The miner node on the blockchain queries the reputation value of the data owner;
[0081] When the reputation value of the data owner is lower than a first threshold, the blockchain feeds back information that data sharing cannot be performed to the data owner;
[0082] When the reputation value of the data owner is greater than or equal to the first threshold, grading the credibility level of the reputation value according to a set level length;
[0083] Among them, the higher the reputation value, the corresponding credibility level.
[0084] Specifically, after receiving the data information submitted by the data owner (including the key ciphertext CT, data index and hash value of the data ciphertext ct), the blockchain first queries the reputation value of the data owner. The reputation value is scored on a percentage basis, and the system sets 60 points as the threshold. If the data owner's reputation value is lower than 60 points, the blockchain will return "your reputation value is lower than the system threshold, and data sharing is not possible"; for owners with a reputation value above 60 points, the data will be graded according to four levels, 60-70, 70-80, 80-90, and 90-100. The higher the reputation value, the higher the credibility level of the data. Subsequently, the blockchain broadcasts the graded data to the entire network for other users to query and use.
[0085] S400: After the blockchain receives the data request from the data requester, the blockchain verifies the reputation value and attributes of the data requester, and sends the data request to the data owner after the verification is passed.
[0086] The data requester searches for the data file he needs on the blockchain based on keywords and sends a data request to the blockchain. After receiving the data request, the blockchain first verifies whether the reputation value of the data requester meets the requirements; then calls the attribute mapping table to determine whether the attributes of the data requester meet the data access policy; finally, the blockchain sends the data request to the data owner.
[0087] In one embodiment, the blockchain verifies the reputation and attributes of the data requester and sends the data request to the data owner after the verification, including:
[0088] Acquire the reputation value of the data requester, and determine whether the reputation value of the data requester is greater than or equal to a second threshold;
[0089] Acquire the attributes of the data requester and call an attribute mapping table, and determine whether the attributes of the data requester meet the access control policy set by the data owner according to the attribute mapping table;
[0090] After determining that the reputation value of the data requester is greater than or equal to the second threshold and the attributes of the data requester meet the access control policy set by the data owner, the blockchain node sends the access request of the data requester and the corresponding master public key to the data owner, otherwise the request of the data requester is rejected.
[0091] S500. After receiving the data request, the data owner generates a re-encryption key for the data requester and sends it to the blockchain. After receiving the re-encryption key, the blockchain calls the smart contract to generate a re-encryption key ciphertext for the data requester and sends it to the data requester.
[0092] After determining that the data requester meets the requirements, the data requester's access request and master public key are sent to the data owner. After receiving the access request from the blockchain, the data owner generates a re-encryption key rk for the data requester. A→B ={rk1,rk2,rk3}(domain A where the data owner is located and domain B where the data requester is located, domain A and domain B refer to two different data domains), and then use the re-encryption key rk A→B It is sent to the blockchain, and the blockchain calls the re-encryption smart contract to re-encrypt the key ciphertext to obtain the re-encrypted key ciphertext CT′.
[0093] Among them, the re-encryption key rk A→B The generation process satisfies the following conditions:
[0094] Data owner is randomly selected
[0095]
[0096] rk2=g θ· k;
[0097] rk3=L s ;
[0098] rk A→B ={rk1,rk2,rk3};
[0099] Among them, β B For domain B attribute authority A randomly selected integer from is the master public key of the data requester in domain B; k and L are the components of the attribute private key of the data owner; s is the encryption parameter (i.e., s in the previous text); rk A→B Represents the re-encryption key.
[0100] In one embodiment, the encryption process of the re-encryption key ciphertext CT′ satisfies the following conditions:
[0101] Smart contract random selection Vector v′=(s′,y′2,…,y′ n ),in,
[0102]
[0103] A′2=g s′ ;
[0104]
[0105]
[0106] CT′={(M′,ρ′),A′1,A′2,(B′ i ,C′ i )};
[0107] Where (M′, ρ′) is the access control structure of the data requester allowed to access in domain B, M′ is a l×n matrix, and ρ′ maps each row in the matrix M′ to a specific attribute x B ; A′1, A′2 represent the new ciphertext parameters in the re-encryption process, which are used to re-encrypt the shared secret; B′ i , C′ i It represents the component of the attribute encryption part, which is used to ensure the matching of the access structure and the ciphertext, and ensure the access control of the data; CT′ represents the re-encryption key ciphertext.
[0108] In formulas A′1 and A′2, g is a multiplication cyclic group Generator of α B , β B For domain B attribute authority An integer randomly selected from; rk1, rk2, rk3 are components of the re-encryption key; A1, A2 are components of the key ciphertext CT.
[0109] formula In this case, g is a multiplicative cyclic group. The generator of λ i ′ is the vector v′ and M i ′, M i ′ represents the i-th row of the matrix M′; r i 'for is a randomly selected integer in the matrix; ρ′(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group In the example, H1(ρ′(i)) represents mapping the attribute value ρ′(i) into a group The elements in .
[0110] S600. The data requester decrypts the re-encrypted key ciphertext according to its own attribute private key to obtain a symmetric key, downloads the data ciphertext on the blockchain, and decrypts the data ciphertext using the symmetric key to obtain the target data.
[0111] In one embodiment, the data requester decrypts the re-encrypted key ciphertext according to its own attribute private key to obtain the symmetric key, including:
[0112] When the data requester and the data owner are from the same data domain, the data requester directly downloads the key ciphertext from the blockchain and uses its own attribute private key to decrypt the key ciphertext to obtain the symmetric key;
[0113] Among them, the symmetric key K symmetric The decryption process satisfies the following formula:
[0114]
[0115] When the data requester and the data owner are from different data domains, the data requester uses its own attribute private key to decrypt the re-encrypted key ciphertext to obtain the symmetric key;
[0116] Among them, the symmetric key K symmetric The decryption process satisfies the following formula:
[0117]
[0118] In the above formula, A1, A2, B i ,C i are the components of the key ciphertext CT, A′1, A′2, B′ i ,C′ i is a component of the re-encryption key ciphertext CT′; k,L,k ρ(i) The attribute private key SK of the data requester in the same data domain as the data owner S Components of SK S ={k,L,k ρ(i)}; k B ,L B ,k ρ′(i) The private key of the data requester in a different data domain from the data owner The components of w i represents an integer such that ∑w i M i =(1,0,…,0);w′ i represents an integer such that ∑w′ i M′ i =(1,0,…,0); I represents an index set, which includes the indexes of all rows in the matrix M corresponding to the user attribute set S, that is, the attribute rows that satisfy the access policy.
[0119] The downloading of the data ciphertext on the blockchain and decrypting the data ciphertext by the symmetric key to obtain the target data include:
[0120] The data requester downloads the data ciphertext according to the cloud server address stored on the blockchain, and after verifying the hash value of the data ciphertext, decrypts the data ciphertext using the obtained symmetric key to obtain the shared data.
[0121] After decrypting and obtaining the symmetric key, the data requester downloads the data ciphertext according to the cloud server address stored on the blockchain, and after verifying the hash value of the data ciphertext, decrypts the data ciphertext using the obtained symmetric key to obtain the shared data.
[0122] In one embodiment, the reputation value of the new user in the data domain is calculated based on the reputation value of the recommender, and the calculation process of the reputation value of the new user satisfies the following formula:
[0123] R j =τ·R ref +(1-τ)·R0;
[0124] Among them, R ref is the reputation value of the recommender of the new user; τ is the weight coefficient, and R0 is the default initial reputation value. τ is the weight coefficient, which usually takes a small value (such as 0.2), so that the reputation of the recommender has some influence on the initial reputation value of the new user, but does not dominate.
[0125] In one embodiment, the reputation value R of a new user in the data domain is j It is calculated after the verification task. The calculation process of the reputation value of a new user in the data domain includes:
[0126]
[0127] Among them, f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0; i is the weight of the users who gave these evaluations; n is the number of users who participated in the evaluation.
[0128] Specifically, new users can get a preliminary evaluation by participating in some basic data sharing when joining the system, for example, uploading some non-sensitive data for verification, or completing an initial task. These tasks are automatically scored by the system or preliminarily evaluated by other users:
[0129]
[0130] f i is the evaluation score of the sharing that a new user participates in for the first time; i It is the weight of the users who gave these reviews (the reviews of high-reputation users have greater weight).
[0131] In one embodiment, the method further comprises:
[0132] After the shared data transaction is completed, the data requester and the data owner submit feedback on the transaction to the blockchain respectively;
[0133] After receiving the feedback and determining that the transaction corresponding to the feedback exists, the blockchain collects feedback information of the transaction corresponding to the shared data within a first preset time period;
[0134] When more than half of the feedback information contains positive comments, it is determined that the shared data is correct and complete, and the blockchain updates the reputation value of the data owner. Otherwise, the reputation value of the data owner is reduced. If the user in the blockchain does not participate in any transaction within the second preset time period, the blockchain will correspondingly reduce the reputation value of the user.
[0135] The process of updating the reputation value of the data owner in the blockchain includes:
[0136] After each transaction completed by the data owner, other users in the blockchain retrieve the transaction and give corresponding secondary evaluations;
[0137] The blockchain collects the secondary evaluation within a third preset time period, and the blockchain updates the reputation value R of the new user at the next moment according to the secondary evaluation. j (t+1);
[0138]
[0139] Among them, R j (t+1) represents the reputation value of user j at the next update; ω is the historical weight coefficient, which controls the balance between current and historical reputation, and its value range is 0<ω<1; R j (t) represents the current reputation value of user j; σ i Refers to the reputation weight of other users participating in the evaluation. The higher the reputation value, the greater the weight of the user, and vice versa; f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0. is the time decay weight, indicating that the influence of early feedback gradually weakens over time; is the decay coefficient, which is used to control the weight decay of earlier feedback to ensure that reputation reflects the user's recent behavior more; t represents the current time, t i represents the time of the i-th feedback; δ j is a timeliness factor used to reduce the reputation value of long-term inactive users; n represents the number of users participating in the evaluation.
[0140] Furthermore, when the reputation value of a user in the blockchain is lower than a minimum threshold, the blockchain revokes the user's information and prohibits participation in data sharing, records the information of the data domain where the user is located, and when the number of users whose information is revoked in any data domain exceeds a preset proportion, the blockchain reduces the reputation value of all users in the corresponding data domain.
[0141] The present invention ensures privacy and security during data transmission by adopting an improved attribute proxy re-encryption scheme based on ciphertext strategy. The attribute-based encryption scheme allows data requesters who meet the access policy to decrypt the symmetric key, thereby further accessing the data, and realizing efficient one-to-many data sharing. This method effectively ensures data security while improving sharing efficiency. In addition, by using proxy re-encryption technology, the data owner can re-encrypt the key ciphertext into a re-encrypted key ciphertext that conforms to the attributes of users in other domains, thereby realizing secure cross-domain data sharing. The present invention solves the problems of insufficient security and low sharing efficiency in the traditional cross-domain data sharing process, and provides a more secure and flexible solution for data sharing.
[0142] The data owner first uploads the data ciphertext to the cloud server, and uploads the hash value of the corresponding data ciphertext to the blockchain. The data requester can download the data ciphertext from the cloud server, calculate the hash value of the downloaded ciphertext and compare it with the hash value on the blockchain to verify the integrity of the data. In order to enhance the trust mechanism in the data sharing process, the present invention introduces a data classification mechanism. The data is classified according to the user's reputation value, and the data requester can evaluate and decide whether to trust the shared data based on the data rating, thereby improving the security and reliability of data sharing.
[0143] In addition, the present invention sets up a feedback mechanism that allows data owners and data requesters to provide feedback on the data sharing process. With the traceability of blockchain, the behavior of both parties to the transaction can be monitored and recorded. For users who behave honestly and abide by the rules, the system will increase their reputation; for malicious users, the system will reduce their reputation. When a large number of malicious users appear in a domain, the system will take punitive measures against all users in the domain, thereby improving the security and overall trust of cross-domain data sharing and ensuring the fairness and security of the data sharing environment.
[0144] The protection scope of the cross-domain data sharing method based on blockchain described in the embodiment of the present invention is not limited to the execution order of the steps listed in this embodiment. All solutions implemented by adding, reducing or replacing steps in the prior art based on the principles of the present invention are included in the protection scope of the present invention.
[0145] Those of ordinary skill in the art should further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0146] The descriptions of the processes or structures corresponding to the above-mentioned figures have different emphases. For parts that are not described in detail in a certain process or structure, please refer to the relevant descriptions of other processes or structures.
[0147] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the art may modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by a person of ordinary skill in the art without departing from the spirit and technical concept disclosed by the present invention shall still be covered by the claims of the present invention.
Claims
1. A cross-domain data sharing method based on blockchain, characterized in that: The method comprises: The blockchain generates public parameters for the data domain added to the blockchain and sends them to the data domain. The user in the data domain calculates his own master public key and master private key, uploads the master public key to the blockchain, and the master private key is saved by the user; The blockchain receives a user attribute set uploaded by an attribute authorization center of the data domain, and adds the user attribute set to an attribute mapping table to establish a mapping; The data owner in the data domain sends his / her own user attribute set to the corresponding attribute authorization center, which calculates the corresponding attribute private key and sends it to the data owner. The data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a key ciphertext, and uploads the data ciphertext and the key ciphertext to the blockchain; After the blockchain receives the data request from the data requester, the blockchain verifies the reputation value and attributes of the data requester, and sends the data request to the data owner after the verification is passed; After receiving the data request, the data owner generates a re-encryption key for the data requester and sends it to the blockchain. After receiving the re-encryption key, the blockchain calls the smart contract to generate a re-encryption key ciphertext for the data requester and sends it to the data requester. The data requester decrypts the re-encrypted key ciphertext according to its own attribute private key to obtain a symmetric key, downloads the data ciphertext on the blockchain, and decrypts the data ciphertext using the symmetric key to obtain the target data.
2. The cross-domain data sharing method based on blockchain according to claim 1 is characterized in that: The blockchain generates public parameters for the data domain added to the blockchain and sends them to the data domain. The user in the data domain calculates his own master public key and master private key, uploads the master public key to the blockchain, and the master private key is saved by the user, including: The blockchain selects two P-factorial cyclic groups to calculate the public parameters, and sends the public parameters to the data domain; After the data domain receives the public parameters, the attribute authorization center of the data domain randomly selects two first parameters, and calculates the master public key and the master private key according to the first parameters; The user in the data domain saves the corresponding master private key and sends the master public key to the blockchain; When the reputation value of a user in the blockchain is lower than the minimum threshold, the blockchain revokes the user's information and prohibits participation in data sharing, records the information of the data domain where the user is located, and when the number of users whose information is revoked in any data domain exceeds a preset proportion, the blockchain reduces the reputation value of all users in the corresponding data domain.
3. The cross-domain data sharing method based on blockchain according to claim 1 is characterized in that: The data owner in the data domain sends his / her own user attribute set to the corresponding attribute authorization center, which calculates the corresponding attribute private key and sends it to the data owner. The data owner selects a symmetric key to encrypt the shared data to obtain a data ciphertext, and encrypts the symmetric key to obtain a key ciphertext, and uploads the data ciphertext and the key ciphertext to the blockchain, including: The data owner in the data domain sends the master public key and the master private key of the data owner to the attribute authorization center; The attribute authorization center randomly selects a second parameter, calculates the attribute private key according to the second parameter, and sends the attribute private key to the data owner; The data owner generates a symmetric key, and encrypts the shared data according to the symmetric key to obtain a data ciphertext, encrypts the symmetric key using an attribute-based encryption scheme of a ciphertext strategy to obtain a key ciphertext, and sends the data ciphertext and the key ciphertext to a cloud server, and the cloud server uploads the storage record and address of the data owner to the blockchain; The data owner extracts the index of the data to be shared, and uploads the index and the hash value of the data ciphertext to the blockchain; The miner node on the blockchain grades the incoming data according to the reputation value of the data owner, and writes the index, the hash value of the data ciphertext and the storage address of the data ciphertext on the cloud server into the blockchain.
4. The cross-domain data sharing method based on blockchain according to claim 3 is characterized in that: The encryption of the key ciphertext CT satisfies the following formula: CT={(M,ρ),A1,A2,(B i ,C i )}; Where (M, ρ) represents a defined access control structure, M is a l×n matrix, and ρ maps each row in the matrix M to a specific attribute x; A1 = K symmetric e(g,g) α·s 、A2=g s represents the component that encrypts the symmetric key with access policy ρ; Represents the ciphertext portion associated with a single attribute. Each B i Corresponds to a specific attribute in the access policy and ensures that only users with matching attributes can decrypt the message; A component for more securely binding attributes to access policies, similar to B i Used together to implement attribute-based access control; Formula A1=K symmetric e(g,g) α·s 、A2=g s In this case, g is a multiplicative cyclic group. Generator of K symmetric is the symmetric key; s is the integer group modulo P of the data owner A randomly selected integer from formula In this case, g is a multiplicative cyclic group. The generator of λ i is the vector v and M i The product of vector v = (s, y2,…, y n ), used to control the randomness in encryption and ensure the uniqueness of the ciphertext, where y2,…,y n is from n-1 integers randomly selected from i represents the i-th row of matrix M; r i is from l integers randomly selected from ρ(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group H1(ρ(i)) represents mapping the attribute value ρ(i) into a group The elements in .
5. The cross-domain data sharing method based on blockchain according to claim 3 is characterized in that: The miner nodes on the blockchain classify the incoming data according to the reputation value of the data owner, including: The miner node on the blockchain queries the reputation value of the data owner; When the reputation value of the data owner is lower than a first threshold, the blockchain feeds back information that data sharing cannot be performed to the data owner; When the reputation value of the data owner is greater than or equal to the first threshold, grading the credibility level of the reputation value according to a set level length; The higher the reputation value, the higher the corresponding credibility level.
6. The cross-domain data sharing method based on blockchain according to claim 1 is characterized in that: The blockchain verifies the reputation and attributes of the data requester, and sends the data request to the data owner after the verification, including: Acquire the reputation value of the data requester, and determine whether the reputation value of the data requester is greater than or equal to a second threshold; Acquire the attributes of the data requester and call an attribute mapping table, and determine whether the attributes of the data requester meet the access control policy set by the data owner according to the attribute mapping table; After determining that the reputation value of the data requester is greater than or equal to the second threshold, and the attributes of the data requester meet the access control policy set by the data owner, the blockchain node sends the access request of the data requester and the corresponding master public key to the data owner, otherwise the request of the data requester is rejected; The reputation value of the new user in the data domain is calculated based on the reputation value of the recommender. The calculation process of the reputation value of the new user satisfies the following formula: R j =τ·R ref +(1-τ)·R0; Among them, R ref is the reputation value of the recommender of the new user; τ is the weight coefficient, and R0 is the default initial reputation value.
7. The cross-domain data sharing method based on blockchain according to claim 1 is characterized in that: The encryption process of the re-encryption key ciphertext satisfies the following conditions: Smart contract random selection Construct vector v′=(s′,y′2,…,y′ n ),in, CT′={(M′,ρ′),A′1,A′2,(B i ′,C i ′)}; Where (M′, ρ′) is the access control structure of the data requester allowed to access in domain B, M′ is a l×n matrix, and ρ′ maps each row in the matrix M′ to a specific attribute x B ; A′1, A′2 represent the new ciphertext parameters in the re-encryption process, which are used to re-encrypt the shared secret; B i ′、C i ' represents a component of the attribute encryption part, which is used to ensure the matching of the access structure and the ciphertext, and to ensure the access control of the data; CT' represents the re-encryption key ciphertext; In formulas A′1 and A′2, g is a multiplication cyclic group Generator of α B , β B For domain B attribute authority An integer randomly selected from; rk1, rk2, rk3 are components of the re-encryption key; A1, A2 are components of the key ciphertext CT; formula In this case, g is a multiplicative cyclic group. The generator of λ i ′ is the vector v′ and M i ′, M i ′ represents the i-th row of the matrix M′; r i 'for is a randomly selected integer in the matrix; ρ′(i) represents the attribute identifier corresponding to the i-th row in the matrix access structure; H1 is a hash function used to map a binary string of any length to a group In the example, H1(ρ′(i)) represents mapping the attribute value ρ′(i) into a group The elements in .
8. The cross-domain data sharing method based on blockchain according to claim 7 is characterized in that: The data requester decrypts the re-encrypted key ciphertext according to its own attribute private key to obtain the symmetric key, including: When the data requester and the data owner are from the same data domain, the data requester directly downloads the key ciphertext from the blockchain and uses its own attribute private key to decrypt the key ciphertext to obtain the symmetric key; Among them, the symmetric key K symmetric The decryption process satisfies the following formula: When the data requester and the data owner are from different data domains, the data requester uses its own attribute private key to decrypt the re-encrypted key ciphertext to obtain the symmetric key; Among them, the symmetric key K symmetric The decryption process satisfies the following formula: In the above two formulas, A1, A2, B i ,C i are the components of the key ciphertext CT, A′1, A′2, B i ′,C i ′ is a component of the re-encryption key ciphertext CT′; k,L,k ρ(i) The attribute private key SK of the data requester in the same data domain as the data owner S Components of SK S ={k,L,k ρ(i) }; k B ,L B ,k ρ′(i) The attribute private key of the data requester in a different data domain from the owner The components of w i represents an integer, So that ∑w i M i =(1,0,…,0);w′ i represents an integer such that ∑w′ i M′ i =(1,0,…,0); I represents an index set, which includes the indexes of all rows corresponding to the user attribute set S in the matrix M, that is, the attribute rows that satisfy the access policy; the downloading of the data ciphertext on the blockchain and the decryption of the data ciphertext by the symmetric key to obtain the target data include: The data requester downloads the data ciphertext according to the cloud server address stored on the blockchain, and after verifying the hash value of the data ciphertext, decrypts the data ciphertext using the obtained symmetric key to obtain the shared data.
9. The cross-domain data sharing method based on blockchain according to claim 6 is characterized in that: The reputation value R of the new user in the data domain j It is calculated after the verification task. The calculation process of the reputation value of a new user in the data domain includes: Among them, f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0; i is the weight of the users who gave these evaluations; n is the number of users who participated in the evaluation.
10. The cross-domain data sharing method based on blockchain according to claim 1 is characterized in that: The method further comprises: After the shared data transaction is completed, the data requester and the data owner submit feedback on the transaction to the blockchain respectively; After receiving the feedback and determining that the transaction corresponding to the feedback exists, the blockchain collects feedback information of the transaction corresponding to the shared data within a first preset time period; When more than half of the feedback information contains positive comments, it is determined that the shared data is correct and complete, and the blockchain updates the reputation value of the data owner. Otherwise, the reputation value of the data owner is reduced. If the user in the blockchain does not participate in any transaction within the second preset time period, the blockchain will correspondingly reduce the reputation value of the user. The process of updating the reputation value of the data owner in the blockchain includes: After each transaction completed by the data owner, other users in the blockchain retrieve the transaction and give corresponding secondary evaluations; The blockchain collects the secondary evaluation within a third preset time period, and the blockchain updates the reputation value R of the new user at the next moment according to the secondary evaluation. j (t+1); Among them, R j (t+1) represents the reputation value of user j at the next update; ω is the historical weight coefficient, which controls the balance between current and historical reputation, and its value range is 0<ω<1; R j (t) represents the current reputation value of user j; σ i Refers to the reputation weight of other users participating in the evaluation. The higher the reputation value, the greater the weight of the user, and vice versa; f i represents the accuracy score of each feedback, and f i The value is 1, negative feedback f i The value is 0. is the time decay weight, indicating that the influence of early feedback gradually weakens over time; is the decay coefficient, which is used to control the weight decay of earlier feedback to ensure that reputation reflects the user's recent behavior more; t represents the current time, t i represents the time of the i-th feedback; δ j is a timeliness factor used to reduce the reputation value of long-term inactive users; n represents the number of users participating in the evaluation.
Citation Information
Cited By
Cross-enterprise recruitment data grading authorization sharing and tracing method, system and medium
CN121723457A
Methods, systems, and media for hierarchical authorization sharing and traceability of cross-enterprise recruitment data
CN121723457B