Anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing

Through the method of sharing without certificates and secrets by multi-KGC, the problems of data integrity, anonymity and incentive mechanisms in cloud storage systems are solved, and anonymity and identity tracking in multi-cloud environments are realized, single point of failure is avoided, and data security and privacy are guaranteed.

CN120498664APending Publication Date: 2025-08-15SUQIAN COLLEGE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510608327.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-13
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The existing cloud storage systems have shortcomings in data integrity, anonymity, identity tracking and incentive mechanisms, especially when single KGC and single cloud servers are trapped, they are prone to single point of failure and data loss, and traditional solutions cannot meet the requirements of anonymous sharing and identity anonymity.

Method used

Multi-KGCs are used to share certificates with secrets, and by generating user anonymous identity and secret parameter shares, combining multiple KGCs to calculate user private keys, realizing distributed storage and reputation value management, using multi-KGC cooperation to expose user identity and issue rewards, design anonymity and public audit mechanisms to avoid single point of failure.

Benefits of technology

It realizes anonymity, identity tracking and incentive mechanisms in multi-cloud environments, avoids single point of failure, ensures data integrity and privacy protection, and promotes the healthy development of the data sharing platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120498664A_ABST
    Figure CN120498664A_ABST
Patent Text Reader

Abstract

The invention discloses an anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing, and relates to the field of cloud storage. The method comprises the following steps: generating a KGC private key gamma k and a KGC public key Yk corresponding to each KGC; submitting an anonymous identity label Aidx of the user and a secret parameter share rx, k = f (k) to KGC to obtain a private key fragment Dx in combination with a KGC private key gamma k, and calculating a user private key skx and a user public key pkx; performing block division, encryption, block label calculation and file label processing on the user file by combining the user private key skx and the user public key pkx, and uploading the user file to a plurality of cloud servers for distributed storage; managing a reputation record table of a reputation value corresponding to the user, and updating the reputation value according to the accessed times of the file owned by the user and the illegal access behavior times of the user; and issuing rewards according to the reputation value. According to the method, public auditing, anonymity, identity tracking, excitation and distributed auditing functions under a multi-key generation center and multi-cloud server framework are realized, and the problems of single-point failure and data loss caused by single KGC and single cloud storage are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud storage technology, and in particular to an anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing. Background Art

[0002] Cloud servers provide data hosting services for individuals and businesses by offering configurable virtualized resources. Users manage and share outsourced data through cloud storage. Data sharing platforms for scientific research groups often utilize the cloud for data storage and sharing. In such scenarios, data integrity becomes a critical factor affecting the platform's proper operation. Participating entities in the platform send their own data to the cloud for storage and sharing, without retaining local copies. While cloud servers claim to provide reliable data storage services, data loss and corruption occur frequently, posing a major threat to data integrity in the cloud. Furthermore, to protect their reputation, cloud service providers may not proactively disclose instances of data corruption or loss. Therefore, data integrity mechanisms must be established to enable users to verify the integrity of cloud data through random challenges. Therefore, ensuring the integrity and accuracy of cloud data during cloud data sharing is crucial to avoid compromising data sharing.

[0003] Furthermore, unlike common cloud storage scenarios, users often prefer to remain anonymous when uploading data to scientific research sharing platforms. For example, on medical sharing platforms, users may wish to upload their medical data anonymously. Therefore, most common auditing schemes are inapplicable to the anonymous sharing requirements described here because they directly utilize user identities in their computations. Furthermore, most auditing schemes rely on traditional public key infrastructure, where the binding of identities to public keys is accomplished through certificates. The issuance, revocation, and verification of certificates impose a heavy burden on the system. While identity-based cryptography eliminates the need for certificate management, its setup requires a trusted private key generation entity to calculate the private key based on the user's identity. Because the key generation entity can forge any user's private key, if this entity is compromised, the entire system will collapse. In this context, certificateless cryptography has emerged. It uses the key generated by the key generation entity based on the user's identity as part of the user's private key, and together with the user's selected secret parameters, it forms the complete private key. This construction completely avoids the key escrow issues of identity-based systems. However, current certificateless auditing schemes also fail to meet the requirements of anonymous sharing because they fail to consider anonymity and fail to properly address the single point of failure threat posed by the compromise of a single KGC or a single cloud server.

[0004] Furthermore, to increase data owners' enthusiasm for sharing data, platforms should reward contributing users. In this context, user identities should be revealed when necessary, thus ensuring both anonymity and identity tracking. While some solutions currently exist for revealing user identities, they often rely on a trusted arbitration entity. If that entity is compromised, user identities can be freely revealed, violating the anonymity requirement. Summary of the Invention

[0005] Based on this, it is necessary to address the above technical problems and provide an anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing, which realizes public auditing, anonymity, identity tracking, incentives and distributed auditing functions under the framework of multiple key generation centers and multi-cloud servers, avoiding the single point of failure and data loss problems caused by single KGC and single cloud storage.

[0006] In a first aspect, the present application provides an anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing. The method includes:

[0007] Generate the KGC private key corresponding to each KGCγ k and KGC public key Y k ;

[0008] Submitting user's anonymous identity Aid χ and the secret parameter share r χ,k =f(k) to KGC, to combine the KGC private key γ k Get private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ;

[0009] Combined with the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels and file labels, and upload them to several cloud servers for distributed storage;

[0010] Manage the credit record table of the user's corresponding credit value, and update the credit value based on the number of times the user's files have been accessed and the number of times the user has illegally accessed the files;

[0011] When the reputation value is lower than the first threshold, the secret parameter share r returned by several KGCs is used. χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCsχ,k =f(k) determines the user's real identity and issues rewards.

[0012] In one embodiment, the KGC private key γ corresponding to each KGC is generated. k and KGC public key Y k include:

[0013] Choose two multiplicative cyclic groups G and G1 of order prime number q, and select a computable bilinear pairing e:G×G→G1;

[0014] Select a generator of G as g, and choose three hash functions, H1: {0,1}*→G, H2: {0,1}*→{0,1}*, H3: {0,1}*→G;

[0015] KGC k Select the corresponding KGC private key And calculate the KGC public key

[0016] In one embodiment, the anonymous identity identifier Aid of the submitting user χ and the secret parameter share r χ,k =f(k) to KGC, to combine the KGC private key γ k Get private key fragment D χ , calculate the user's private key sk χ With the user's public key pk χ include:

[0017] Select secret parameters Calculating anonymous identities in Uid χ The user's real identity identifier, Uid χ ∈{0,1} * ;

[0018] Choose polynomial f(x) = r χ +a1x+...+a δ-1 x δ-1 , get the secret parameter share r χ,k =f(k);

[0019] Anonymous identity Aid χ and the secret parameter share r χ,k =f(k) submitted to KGC k ;

[0020] KGC k Calculate private key fragments for users

[0021] Randomly select three secret values Combined with private key fragment D χ Get the user private key sk χ ={D χ ,ω χ ,vid χ ,ψid χ};

[0022] Calculating public value , get the user's public key pk χ ={W χ ,Vid χ ,Ψid χ}.

[0023] In one embodiment, the user private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels, process file labels, and upload them to several cloud servers for distributed storage, including:

[0024] File F χ,l Divide into n data blocks {b i} 1≤i≤n , perform random hiding on the data block: The block set is C = {c i} 1≤i≤n , the processed block is further divided into m areas, namely C = {c i} 1≤i≤n ={c ij} 1≤i≤n,1≤j≤m ;in CS cl Indicates cloud server, Fid χ,l Indicates file identification;

[0025] Select File F χ,l The shared user group UA={Aid1,...,Aid χ ...,Aid X}, randomly select secret parameters for other shared user group members except the file owner Compute component block labels

[0026] Select m secret parameters for the file owning user And calculate m public values , calculate the file label FT = H2 (C), and calculate Compute component block labels

[0027] Use the component block labels to get the block labels σ i =(σ i,1,...,σ i,χ ,...,σ i,X ), and then get the complete label set Φ={σ i} 1≤i≤n ;

[0028] calculate will be collected Upload to cloud server CS cl , save the file signature FT locally on the user.

[0029] In one embodiment, the reputation value update formula is:

[0030]

[0031] Among them, R χ (t) is the credit value of the last update; UD χ The number of illegal behaviors of users recorded between the last time and the current update time; FD χ,l (t) is the number of times the user's file has been downloaded; FB χ,l (t) is the number of views of the files owned by the user; l∈[1,L], L is the number of files owned by the user; α>0, β>0, λ>>α, β>0 are weight coefficients respectively.

[0032] In one embodiment, the method includes:

[0033] When the reputation value is lower than the first threshold, obtain at least δ parameter shares r returned by KGC χ,k =f(k), recover the secret parameters by Lagrange interpolation where |Λ|=δ, and by Get the user's real identity Uid χ ;

[0034] When the reputation value is higher than the second threshold, automatically submit the identity verification information {Uid χ ,r χ ,Aid χ}, calculated based on identity verification information Determine the consistency of the received information. If it is consistent, then according to Aid χ Retrieve the corresponding reputation value; after confirming that the reputation value is higher than the second threshold, obtain at least δ parameter shares r returned by KGC χ,k =f(k), and the secret parameter r is recovered by Lagrange interpolation χ , compare with the identity verification information to determine consistency; after the consistency is passed, obtain the user's real identity Uid χ , and issue rewards.

[0035] In one embodiment, after uploading to a plurality of cloud servers for distributed storage, the method further comprises:

[0036] Audit generation is used to verify the integrity of data uploaded by users to the cloud server.

[0037] In a second aspect, the present application also provides an anonymous incentive multi-cloud data sharing device based on multi-KGC certificateless and secret sharing. The device includes:

[0038] Key generation center, used to generate the KGC private key corresponding to each KGCγ k and KGC public key Y k ; and, receiving the anonymous identity Aid submitted by the user χ and the secret parameter share r χ,k =f(k), combined with the KGC private key γ k Get private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ;

[0039] Client, used to combine the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels and file labels, and upload them to several cloud servers for distributed storage;

[0040] Cloud server, used to store user uploaded data;

[0041] System administrator, used to manage the reputation record table of user corresponding reputation value, update the reputation value according to the number of times the user's files are accessed and the number of times the user's illegal access behavior occurs; and when the reputation value is lower than the first threshold, based on the secret parameter share r returned by several KGCs χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCs χ,k =f(k) determines the user's real identity and issues rewards.

[0042] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the steps of the aforementioned anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing.

[0043] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the aforementioned anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing.

[0044] In a fifth aspect, the present application further provides a computer program product, comprising a computer program that, when executed by a processor, implements the steps in the aforementioned anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing.

[0045] The anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing includes: generating the KGC private key γ corresponding to each KGC k and KGC public key Y k ; Submit the anonymous identity Aid of the user χ and the secret parameter share r χ,k =f(k) to KGC, to combine the KGC private key γ k Get private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ; Combined with the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt, calculate block labels and file labels, and upload them to several cloud servers for distributed storage; manage the reputation record table of user corresponding reputation values, and update the reputation value based on the number of times the user's files have been accessed and the number of times the user has illegally accessed the files; when the reputation value is lower than the first threshold, the secret parameter share r returned by several KGCs is used to calculate the user's reputation value. χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCs χ,k =f(k) determines the user's true identity and issues a reward. The present invention adopts a distributed certificateless signature and utilizes multiple KGCs to participate in the calculation to avoid single points of failure. This not only eliminates the certificate management overhead, but also solves the key custody problem based on the identity cryptography system. At the same time, the idea of ring signature is used to ensure that attackers cannot distinguish the signer from other shared users. Under the certificateless signature system, an anonymous identity authentication mechanism is designed to hide the user's true identity and protect user privacy. At the same time, the cloud is required to verify the user's identity, thereby ensuring data security. In addition, a reputation value update mechanism is designed to promote the healthy development of the data sharing platform. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 FIG. 4 is a structural block diagram of an anonymous incentive multi-cloud data sharing device based on multi-KGC certificateless and secret sharing in one embodiment. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0048] The embodiment of the present application provides an anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing, such as Figure 1 As shown, the following entities are involved:

[0049] 1. System Administrator (SA): Responsible for initial user registration and initializing a reputation value for each user registered with the system. It is also responsible for updating the user's reputation value based on user behavior and providing the cloud server with a list of authorized users for specified files.

[0050] 2. Cloud Server (CS): The system includes multiple cloud servers, with data stored distributed across them. During the audit response phase, all servers involved in the challenged data block are required to respond. Furthermore, upon receiving a user access request, user identity verification is required.

[0051] 3. User (U): The system includes multiple users, who have dual roles (data provider and data user): (1) Data providers upload their own data files to the cloud for storage for subsequent access and sharing. They have an initial reputation value given by the system administrator and expect to receive subsequent rewards through data sharing. (2) In addition to being a data provider, each user is also a data user. If they want to access the data stored by other users in the cloud, they must obtain permission from the data provider.

[0052] 4. Key Generation Center (KGC): The system contains multiple KGCs, which are responsible for generating the system public key and some of the user's private keys, and working together to reveal the user's identity when identity disclosure is required.

[0053] The interaction process between entities is as follows:

[0054] 1. During the system initialization phase, the system generates the system public parameter pp, and each KGC k Generate your own private key k and public key Yk =g γk .

[0055] 2. User key generation and reputation value setting stage, user U χ Submit anonymous identity Aid χ and the secret parameter share r χ,k =f(k) for KGC k To obtain part of the private key D χ , and calculate your own private key sk χ With public key pk χ At the same time, U χ Submit anonymous identity Aid χ With its multiple file identifiers {Fid χ,l} 1≤l≤L To the system, the system administrator SA is the user U χ Register and set an initial reputation value for it. At the same time, SA maintains a user reputation record table URRT.

[0056] 3. File processing and uploading stage, user U χ Own data file F χ,l Processing, including block division, encryption, calculation of block authenticators and file tags, and uploading to CS cl .

[0057] 4. Audit Generation and Verification Phase, U χ Generate a random challenge Q c , requiring each CS cl Generate corresponding audit evidence P cl And return to U χ , U χ By verifying P cl The legality of CS cl The integrity of the data stored on it.

[0058] 5. Data access phase, user U χ Submit access request to cloud server, SA verifies the legitimacy of identity according to URRT, after verification, CS cl Return the corresponding file in the cloud to U χ .

[0059] 6 Identity Reveal Stage, when R χ (t)≤R low At (t), the system administrator SA helps to reveal the real identity of the user with the help of δ KGCs. χ (t)≥R high , U χ Submit identity verification information {Uid χ ,rχ ,Aid χ}, SA verifies the identity based on the received information. If successful, the system reward will be issued to U χ .

[0060] The specific implementation is as follows:

[0061] S1. System initialization.

[0062] The system generates system public parameters pp, each KGC k (referring to the kth KGC, the system contains K KGCs, k∈[1,K]) generates its own private key γ k and the public key

[0063] Choose two multiplicative cyclic groups G and G1 of order q, and select a computable bilinear pairing e:G×G→G1, where q is a large prime number.

[0064] Select a generator of G as g, and select three hash functions, H1: {0,1}*→G, H2: {0,1}*→{0,1}*, H3: {0,1}*→G, where

[0065] KGC k Choose your own secret parameters And calculate the public value

[0066] The output system public parameters are pp = {G, G1, e, q, H1, H2, H3, {Y k} 1≤k≤K}, γ k By KGC k Keep it secret.

[0067] S2, User key generation and reputation value setting. User U χ (The system contains X users, χ∈[1,X]) Submit anonymous identity Aid χ and the secret parameter share r χ,k =f(k) for KGC k To obtain part of the private key D χ , and calculate your own private key sk χ With public key pk χ At the same time, U χ Submit anonymous identity Aid χ With its multiple file identifiers {Fid χ,l} 1≤l≤L To the system, the system administrator SA is the user U χ Register and set an initial reputation value for it.

[0068] S21. Assume that user U χ The real identity identifier is Uid χ ∈{0,1} * , Uid χ In reality, it is a unique identifier that can represent the user, such as an ID number. χ Has L data documents F χ,l ∈{0,1} * , where l∈[1,L], each document is identified by Fid χ,l .U χ Select secret parameters and calculate the anonymous identifier {Aid χ ,{Fid χ,l} 1≤l≤L}Submit to the system for registration. χ Choose polynomial f(x) = r χ +a1x+...+a δ-1 x δ-1 , to KGC k Distribute secret parameter shares r χ,k =f(k) and Aid χ To obtain part of the private key D χ .

[0069] S22: After receiving a group of user registration information, the system administrator SA assigns an initial reputation value R to each user. χ (0) = R int , the reputation value R χ (t) changes over time, and the reputation value is related to the amount of data downloaded FD χ,l (t) and FB views χ,l (t) is positively correlated with the number of unauthorized accesses by users UD χ Assume that U χ The corresponding credit value for the last time is R χ (t), from the last time to the current time, the system records U χ The number of illegal behaviors is UD χ , the download and browsing volume of its files are FD χ,l (t) and FB χ,l (t), then SA updates user U χ The current reputation value is α>0,β>0,λ>>α,β>0 are the weight coefficients selected by the system. At the same time, SA presets two thresholds: the minimum trust threshold R low (triggering forced disclosure of user identity), the highest trust threshold Rhigh (Users can prove their identity and get paid.) The system forms these X users into a shared group, and the user group {U1,...,U χ ...,U X}Record anonymous identity set UA={Aid1,...,Aid χ ...,Aid X}.

[0070] S23, SA maintains a user reputation record table URRT (UserReputationRecordTable), the specific table is constructed as follows (assuming Aid1 has three files F 1,1 、F 1,2 、F 1,3 Stored in cloud servers CSc1 and CS c2 , CSc3, Aid χ Owns file F χ,1 ,...,F χ,l ,...,F χ,L Distributed in CS c1 ,...,CS cl ,...CS cL The CS subscripts c1,...,cl,...,cL do not increase in order, they are all selected from [1,C]). Of course, the CS corresponding to the file storage is selected by SA at this stage. The system contains a total of C cloud servers {CS cl} cl∈[1,C] , here it is stipulated that C>L, which is consistent with the fact that cloud service providers always have many servers in reality. SA must also register these C CS in advance. In order to facilitate access to data, we store a user's file completely on one server, that is, no cross-server storage. However, the multiple files owned by the user are distributed and stored on different servers to avoid the risk of all files being lost at the same time due to centralized storage. Note that the system administrator SA can χ Each document records its authorized users, who should be submitted by the file owner. Alternatively, each user can assign a reputation threshold to the files they own. Users who meet this threshold are automatically granted access to the file. This encourages users to actively submit documents for sharing, and users with higher contribution scores typically gain access to more files.

[0071] The credit record table URRT is shown in the following table:

[0072] Table 1 Credit Record Table URRT

[0073]

[0074]

[0075] S24, KGC χ For U χ Calculate partial private key And return to U χ , all KGC k Save the secret parameter share r χ,k For subsequent identity disclosure. KGC χ Part of the private key D χ Send to U via private channel χ For the sake of convenience, we assume that KGC1,...,KGC χ ,...,KGC X U1,...,U χ ,...,U X Calculate a partial private key.

[0076] S25, U χ Randomly select three secret values And calculate the public value U χ Save your own private key And publish your public key pk χ ={W χ ,Vid χ ,Ψid χ}.in For the generation of file block labels, {vid χ ,ψid χ} is used for subsequent anonymous identity authentication.

[0077] S3, file processing and uploading. User U χ For a data document F that you own χ,l (Document ID is Fid χ,l ) for processing, including block division, encryption, calculation of block authenticator and file label, and uploading to CS cl For ease of reading, here is a file F χ,l For example, show U χ The process of processing its files.

[0078] S31、U χ File F χ,l Divide into n data blocks {b i} 1≤i≤n .U χ Randomize and hide the data blocks: The block set is C = {c i} 1≤i≤n .U χThe processed block is further divided into m regions, namely C = {c i} 1≤i≤n ={c ij} 1≤i≤n,1≤j≤m ,in That is, the size of each block is m|c ij |=m|q|. For user U χ For example, when the CS cl Retrieve data block c i ,calculate The plain text can be restored. For unauthorized users, since they cannot obtain U χ Self-selected secret parameters Therefore, it is impossible to infer the plaintext, thus achieving data privacy protection.

[0079] S32, U χ Select its shared user group UA={Aid1,...,Aid χ ...,Aid X}, if the user wants to make it impossible for the attacker to distinguish it from the group users, U χ The block label σ is calculated as follows i And identity authentication information:

[0080] S321, for other members U in the group s ,s,χ∈[1,X],s≠χ,U χ Randomly select secret parameters for other members Compute component block labels

[0081] S322: For user U χ , choose m secret parameters And calculate m public values Calculate the file tag FT = H2(C) and calculate Compute component block labels

[0082] S323, use the component block labels to obtain the complete block label σ i =(σ i,1 ,...,σ i,χ ,...,σ i,X ). Then we get the complete label set Φ={σ i} 1≤i≤n .

[0083] S33, to achieve identity authentication, U χ calculate as well as

[0084] S34、U χ will be collected Upload to the cloud storage server CS cl , and then save the file signature FT locally.

[0085] S35, when CS cl When receiving the data set, CS cl Verify the identity of the uploading user: first calculate CS cl Compare W χ ′ and W χ If it fails, CS cl Refuse to store and notify U χ If it passes, then use C to verify the legitimacy of FT. If established, CS cl Store the corresponding data set. Otherwise, CS cl Refuse to store and notify U χ .

[0086] S36. For user U χ Other files owned by U χ Follow the same process as above.

[0087] S4. Audit Generation and Verification. Assume U χ Other files owned by F χ,1 ,...,F χ,l ,...,F χ,L Distributed in CS c1 ,...,CS cl ,...CS cL superior. U χ Generate random challenge chal = {Aid χ ,{Fid χ,l},Q c}, SA uses URRT to verify its identity and then checks Aid χ It is indeed the file {Fid χ,l}, and then distribute it to CS according to the cloud server of its file distribution cl , each CS cl Generate corresponding audit evidence P cl And return to U χ , U χ By verifying P cl The legality of CS cl The integrity of the data stored on it. Here each CS is required to cl The audit evidence is returned separately to promptly locate the cloud server where the damaged data block is located.

[0088] S41、Uχ Generate a random challenge I c is a set of c integers randomly selected from the set of integers [1, n]. It is from A random value selected from U. χ Will randomly challenge Q χ Sent to each CS cl .

[0089] S42, CS cl Generate verification evidence: as well as Where s≠χ, the evidence P cl ={{μ j} 1≤j≤m ,{σ s} s≠χ,1≤s≤X ,σ χ}Send to U χ .

[0090] S43、U χ Confirm CS by verifying whether the formula is established cl The integrity of the above data:

[0091]

[0092] Among them B χ =H3(FT,UA,Fid χ ,m), if the equation holds, then the output is “success”, which proves that the data integrity on the CS has passed the test, otherwise the output is “failure”. The present invention supports open auditing, that is, the audit verification process does not require the user’s secret information, so the audit generation and verification stages can be outsourced to a third party.

[0093] S5. Data access: User U χ Submit the access request to the cloud server, SA verifies the legitimacy of the identity according to URRT, and after verification, returns the corresponding file in the cloud to U χ . It is divided into the following two situations:

[0094] (1) Users access their own data files stored in the cloud: U χ Access request {Aid χ ,Fid χ,l}}Submit to cloud server CS cl , SA queries the legitimacy of the identity, and determines the U according to the user reputation record table URRT χ It's Fid χ,l If not, the number of unauthorized accesses by the user UD will be recorded χ Increase 1 time, if yes, notify CS clReturns the corresponding data file Fid χ,l User U χ For each data block c i ,calculate The plaintext can be restored.

[0095] (2) Users access data files stored in the cloud by other users: U χ Access request {Aid χ ,Fid ξ,l}}Submit to cloud server CS cl , SA queries the legitimacy of the identity, and determines the U according to the user reputation record table URRT χ Is it U ξ Owned Files Fid ξ,l If not, the number of unauthorized accesses by the user UD is recorded. χ Increase 1 time, if yes, notify CS cl Returns the data file Fid ξ,l .U ξ Request U χ Secret Return , for each data block c i , U ξ calculate The plaintext can be restored.

[0096] S6. Identity Reveal: When R χ (t)≤R low At (t), the system administrator SA, with the help of δ KGCs, forces the user’s real identity to be revealed. χ (t)≥R high , U χ Submit identity verification information {Uid χ ,r χ ,Aid χ}, SA verifies the identity based on the received information. If successful, the system reward will be issued to U χ .

[0097] S61. When the system administrator SA detects that a user U χ Reputation value R χ (t)≤R low At (t), SA wakes up and forces identity disclosure, which requires at least δ KGCs to return parameter shares, that is, each KGC k Returns the secret parameter share r χ,k =f(k), recovered by Lagrange interpolation , where |Λ| = δ. SA calculation The user's true identity can be revealed.

[0098] S62, when user U χ Detection obtains its current reputation value R from SA χ (t)≥R high When U χ Automatically submit identity verification information {Uid χ ,r χ ,Aid χ}, SA calculates based on the received information Determine the consistency of the received information. If not, SA terminates the process. If consistent, SA χ Retrieve its corresponding R χ (t), confirm R χ (t)≥R high Then at least δ KGCs are required to return Aid at the same time χ The corresponding secret parameter share is restored as above χ , compare it with the received r χ If the consistency is not consistent, SA terminates the process. If the consistency is consistent, SA will issue the system reward to U χ .

[0099] The present invention has the following specific features:

[0100] (1) Public audit: After the data uploader uploads the data to the cloud, in order to verify the integrity of the data stored in the cloud, the data stored in the cloud will be periodically verified. When verifying the data returned by the cloud, private information does not need to be involved, that is, public audit is supported.

[0101] (2) Data privacy protection: Users encrypt uploaded data to prevent unauthorized entities from obtaining the plaintext of data files.

[0102] (3) Multi-cloud storage: The user's multiple data files are distributed and stored on multiple cloud servers. Compared with storing them on one server, this can avoid data loss caused by damage to a single server.

[0103] (4) Identity anonymity: Users participate in data sharing anonymously, that is, when uploading data, identity verification, auditing, etc., users use anonymous identities generated by themselves instead of their real identities.

[0104] (5) Identity authentication: To prevent malicious users from intentionally uploading useless data files and to avoid malicious audits initiated by attackers, the cloud server needs to authenticate the user requesting access.

[0105] (6) Access control: The solution implements anonymous identity authentication when users upload data. When users subsequently access the data, the cloud server will check the legitimacy of their identities and whether their reputation values meet the requirements based on the user reputation record table recorded by the system administrator to prevent unauthorized access.

[0106] (7) Using identity disclosure to achieve incentives and accountability based on reputation: In the system, each user is assigned a reputation value. When the reputation value is lower than the specified minimum trust threshold, multiple KGCs work together to reveal the user's identity. When the user's reputation value is higher than the specified maximum trust value, the user can use the reputation value to reveal his or her identity to the system in exchange for compensation.

[0107] (8) Certificateless signature based on multiple KGCs: The multiple KGCs in the system generate their own private keys and public keys at the beginning, and work together to force the user's identity to be revealed when necessary. Compared with the traditional certificateless system with a single KGC entity, the system's anti-attack capability is improved.

[0108] In summary, compared with the traditional technical solution, the present invention has the following advantages:

[0109] (1) Combining certificateless signatures with ring signatures, a distributed data sharing scheme with identity anonymity is designed. This scheme adopts distributed certificateless signatures and utilizes multiple KGCs to participate in the calculation to avoid single points of failure. It not only eliminates the certificate management overhead, but also solves the key custody problem based on the identity cryptography system. At the same time, we use the idea of ring signatures to ensure that attackers cannot distinguish the signer from other shared users. In addition, the present invention is suitable for multi-cloud storage environments. During the audit phase, each server involved in the challenge data block must respond to locate the server with damaged data in a timely manner.

[0110] (2) Under the certificateless signature system, an anonymous authentication mechanism is designed. Using multiple KGCs, each user selects a random number during the initial registration phase and XORs it with their real identity to obtain a temporary identity, thereby hiding their real identity. At the same time, the designed anonymous identity authentication mechanism requires the cloud to verify the user's identity. Otherwise, the user's access and challenge request will be denied, thereby preventing unauthorized users from accessing cloud data.

[0111] (3) Design a reputation value update mechanism. The system initially assigns an initial reputation value to each uploaded data. This reputation value is positively correlated with the amount of data downloaded and viewed, and negatively correlated with the number of unauthorized accesses (such as accessing other people's files). When a user's reputation value is lower than the specified minimum reputation value, the user's identity needs to be disclosed. This process is carried out by multiple KGCs working together. Using secret sharing technology, slices of the secret parameters used by each user to generate their own anonymous identity are sent to multiple KGCs. Under this setting, multiple KGCs can later cooperate to forcibly recover the secret parameters, and then use the anonymous identity to deduce the user's true identity.

[0112] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0113] Based on the same inventive concept, embodiments of the present application also provide an anonymous incentivized multi-cloud data sharing device based on multi-KGC certificateless and secret sharing, which is used to implement the aforementioned anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more embodiments of the anonymous incentivized multi-cloud data sharing device based on multi-KGC certificateless and secret sharing provided below can be found in the limitations of the anonymous incentivized multi-cloud data sharing method based on multi-KGC certificateless and secret sharing above, and will not be repeated here.

[0114] In one embodiment, Figure 1 As shown, an anonymous incentive multi-cloud data sharing device based on multi-KGC certificateless and secret sharing is provided, including:

[0115] Key generation center, used to generate the KGC private key corresponding to each KGCγ k and KGC public key Y k ; and, receiving the anonymous identity Aid submitted by the user χ and the secret parameter share r χ,k =f(k), combined with the KGC private key γ kGet private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ;

[0116] Client, used to combine the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels and file labels, and upload them to several cloud servers for distributed storage;

[0117] Cloud server, used to store user uploaded data;

[0118] System administrator, used to manage the reputation record table of user corresponding reputation value, update the reputation value according to the number of times the user's files are accessed and the number of times the user's illegal access behavior occurs; and when the reputation value is lower than the first threshold, based on the secret parameter share r returned by several KGCs χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCs χ,k =f(k) determines the user's real identity and issues rewards.

[0119] Each module in the aforementioned anonymous, incentivized, multi-cloud data sharing device based on multi-KGC certificateless and secret sharing can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in hardware form, or stored in a computer device memory in software form, so that the processor can call and execute the corresponding operations of each module.

[0120] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in all the above method embodiments when executing the computer program.

[0121] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in all the above method embodiments are implemented.

[0122] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in all the above method embodiments when executed by a processor.

[0123] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0124] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, etc., but are not limited to these.

[0125] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0126] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. An anonymous incentive multi-cloud data sharing method based on multi-KGC certificateless and secret sharing, characterized by: The method comprises: Generate the KGC private key corresponding to each KGCγ k and KGC public key Y k ; Submitting user's anonymous identity Aid χ and the secret parameter share r χ,k =f(k) to KGC, to combine the KGC private key γ k Get private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ; Combined with the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels and file labels, and upload them to several cloud servers for distributed storage; Manage the credit record table of the user's corresponding credit value, and update the credit value based on the number of times the user's files have been accessed and the number of times the user has illegally accessed the files; When the reputation value is lower than the first threshold, the secret parameter share r returned by several KGCs is used. χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCs χ,k =f(k) determines the user's real identity and issues rewards.

2. The method according to claim 1, characterized in that The KGC private key γ corresponding to each KGC is generated k and KGC public key Y k include: Choose two multiplicative cyclic groups G and G1 of order prime number q, and select a computable bilinear pairing e:G×G→G1; Select a generator of G as g, and choose three hash functions, H1: {0,1}*→G, H2: {0,1}*→{0,1}*, H3: {0,1}*→G; KGC k Select the corresponding KGC private key And calculate the KGC public key 3. The method according to claim 2, characterized in that The anonymous identity Aid of the submitting user χ and the secret parameter share r χ,k =f(k) to KGC, to combine the KGC private key γ k Get private key fragment D χ , calculate the user's private key sk χ With the user's public key pk χ include: Select secret parameters Calculating anonymous identities in Uid χ The user's real identity identifier, Uid χ ∈{0,1} * ; Choose polynomial f(x) = r χ +a1x+...+a δ-1 x δ-1 , get the secret parameter share r χ,k =f(k); Anonymous identity Aid χ and the secret parameter share r χ,k =f(k) submitted to KGC k ; KGC k Calculate private key fragments for users Randomly select three secret values Combined with private key fragment D χ Get the user's private key Calculating public value , get the user's public key pk χ ={W χ ,Vid χ ,Ψid χ }.

4. The method according to claim 3, characterized in that The combined user private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels, process file labels, and upload them to several cloud servers for distributed storage, including: File F χ,l Divide into n data blocks {b i } 1≤i≤n , perform random hiding on the data block: The block set is C = {c i } 1≤i≤n , the processed block is further divided into m areas, namely C = {c i } 1≤i≤n ={c ij } 1≤i≤n,1≤j≤m ;in CS cl Indicates cloud server, Fid χ,l Indicates file identification; Select File F χ,l The shared user group UA={Aid1,...,Aid χ ...,Aid X }, randomly select secret parameters for other shared user group members except the file owner Compute component block labels Select m secret parameters for the file owning user And calculate m public values Calculate the file tag FT = H2(C) and calculate Compute component block labels Use the component block labels to get the block labels σ i =(σ i,1 ,...,σ i,χ ,...,σ i,X ), and then get the complete label set Φ={σ i } 1≤i≤n ; Calculate HID χ1 =H2(AID χ ||W χ ||Vid χ ||Ψid χ ), hid χ2 =H2(AID χ ||W χ ||Vid χ ||Ψid χ ||hid χ1 ), Set {Aid χ ,C,Φ,FT,hid χ1 ,hid χ2 ,λid χ }Upload to cloud server CS cl , save the file signature FT locally on the user.

5. The method according to claim 1, characterized in that The reputation value update formula is: Among them, R χ (t) is the credit value of the last update; UD χ The number of illegal behaviors of users recorded between the last time and the current update time; FD χ,l (t) is the number of times the user's file has been downloaded; FB χ,l (t) is the number of views of the files owned by the user; l∈[1,L], L is the number of files owned by the user; α>0, β>0, λ>>α, β>0 are weight coefficients respectively.

6. The method according to claim 3, characterized in that The method comprises: When the reputation value is lower than the first threshold, obtain at least δ parameter shares r returned by KGC χ,k =f(k), recover the secret parameters by Lagrange interpolation where |Λ|=δ, and by Get the user's real identity Uid χ ; When the reputation value is higher than the second threshold, automatically submit the identity verification information {Uid χ ,r χ ,Aid χ }, calculated based on identity verification information Determine the consistency of the received information. If it is consistent, then according to Aid χ Retrieve the corresponding reputation value; after confirming that the reputation value is higher than the second threshold, obtain at least δ parameter shares r returned by KGC χ,k =f(k), and the secret parameter r is recovered by Lagrange interpolation χ , compare with the identity verification information to determine consistency; after the consistency is passed, obtain the user's real identity Uid χ , and issue rewards.

7. The method according to claim 1, characterized in that After uploading to the distributed storage of several cloud servers, the method further includes: Audit generation is used to verify the integrity of data uploaded by users to the cloud server.

8. An anonymous incentive multi-cloud data sharing device based on multi-KGC certificateless and secret sharing, characterized in that: The device comprises: Key generation center, used to generate the KGC private key corresponding to each KGCγ k and KGC public key Y k ; and, receiving the anonymous identity Aid submitted by the user χ and the secret parameter share r χ,k =f(k), combined with the KGC private key γ k Get private key fragment D χ , and calculate the user's private key sk χ With the user's public key pk χ ; Among them, the user's private key sk χ Contains private key fragment D χ ; Client, used to combine the user's private key sk χ With the user's public key pk χ Divide user files into blocks, encrypt them, calculate block labels and file labels, and upload them to several cloud servers for distributed storage; Cloud server, used to store user uploaded data; System administrator, used to manage the reputation record table of user corresponding reputation value, update the reputation value according to the number of times the user's files are accessed and the number of times the user's illegal access behavior occurs; and when the reputation value is lower than the first threshold, based on the secret parameter share r returned by several KGCs χ,k =f(k) forces the user's real identity to be revealed; when the reputation value is higher than the second threshold, based on the identity verification information submitted by the user and the secret parameter share r returned by several KGCs χ,k =f(k) determines the user's real identity and issues rewards.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.