Group-oriented efficient dynamic data integrity auditing method
By adopting anonymous integrity audit tags and hash linked lists in a multi-user collaboration system, the problems of file sharing and user privacy protection are solved, the calculation overhead of dynamic data audits is reduced, and the efficiency and flexibility of the system are improved.
Patent Information
- Application Number
- CN202411453529.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-10-17
AI Technical Summary
The existing dynamic data integrity audit solution has problems such as file failure, user identity privacy leakage, and file modification operation overhead in multi-user collaboration systems.
Adopt an efficient dynamic data integrity audit method for groups, and realize dynamic update of data block index and anonymity of user identity by generating global public parameters, anonymity integrity audit tags, hash link lists and third-party auditor interactions. Sex verification, reduces computing overhead and improves file sharing and privacy protection.
It realizes effective sharing of files within the group, protects user identity privacy, and optimizes the efficiency and storage overhead of dynamic data auditing in multi-user collaboration systems.
Smart Images

Figure CN119276590A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cloud storage data integrity auditing, and in particular to a group-oriented efficient dynamic data integrity auditing method. Background Art
[0002] With the continuous development of cloud computing technology, cloud storage services have been widely used in practice, providing convenience for users in their daily study, work, and life. Users upload local storage data to the cloud to obtain more powerful, more economical, and higher-quality storage. In addition, in some cloud multi-user collaborative systems, multiple users share the same file and edit, update, and share it in real time, which not only promotes team collaboration but also significantly improves work efficiency. However, while users enjoy efficient and convenient storage services, they also lose physical control over the data. Since cloud storage systems are not completely trustworthy, maintaining the integrity of data on the cloud is one of the key issues that users focus on when using cloud storage services. If data is tampered with or lost during storage, it will directly lead to service interruption, and in serious cases, it will also cause economic losses, affecting the healthy development of the cloud storage service market.
[0003] At present, some progress has been made in the field of cloud storage data integrity auditing, especially represented by Provable Data Possession (PDP) and Proof of Retrievability (PoR). However, these methods can only provide efficient static data integrity auditing. If users modify the data dynamically, the consistency of the data block index and the data label index will be destroyed. Therefore, a large amount of data needs to be retrieved locally for modification and then uploaded again, which will significantly increase the computing overhead. What is more serious is that in a multi-user collaborative system, multiple users simultaneously own and frequently modify the same file, which leads to a further increase in computing costs. Obviously, these solutions will bring a heavy computing burden to users and are difficult to adapt to the needs of actual production environments.
[0004] In order to alleviate this conflict, the existing solution is to maintain the consistency of the data block index and the data label index by adding additional data structures, so that the location of the data block no longer depends on the user's earliest setting, but can change with the user's requirements, thereby reducing the cost of dynamic data updates. The existing data structures include: skip list, hash number, hash table, etc. However, if the existing dynamic data integrity audit scheme is directly applied to the multi-user collaborative system, there will be the following three problems: 1) Files cannot be shared: In the existing scheme, the ownership of the file belongs to a single user, which makes it impossible for other collaborative members to effectively share or access the file, thereby limiting the flexibility and efficiency of teamwork; 2) User identity privacy leakage: Since the data integrity audit label is generated by a key pair related to the user identity, the user identity may be exposed during the audit process, increasing the risk of identity privacy leakage, especially in a public or temporary collaborative environment; 3) The file modification operation overhead is large: When processing dynamic file modifications, the existing scheme needs to update the additional data structure from top to bottom, resulting in high computational cost. In a multi-user collaborative system, frequent dynamic data operations further increase the computational burden of the system and affect the overall performance. Summary of the invention
[0005] In view of this, the purpose of the present invention is to provide an efficient dynamic data integrity audit method for groups, which solves the above-mentioned problems of directly applying the existing dynamic data integrity audit scheme to a multi-user collaborative system, such as the inability to share files, the leakage of user identity privacy, and the high overhead of file modification operations.
[0006] To achieve the above object, the present invention adopts the following technical solution: a group-oriented efficient dynamic data integrity audit method, comprising the following steps:
[0007] Step 1: Based on the security parameter λ, the system generates a global public parameter param, selects a multiplicative cyclic group G with a secure prime number p, randomly selects two independent generators g and h, and selects a hash function H that hashes to the G group; let system parameter param = {G, p, g, h, H};
[0008] Step 2: Group users generate a secret key and a public key based on system parameters and select two random elements (x j ,y j )←Z p , let the private key sk j =(x j ,y j ), calculate the public key
[0009] Step 3: Group users generate integrity audit labels with anonymity;
[0010] Step 4: The third-party auditor constructs a hash list and calculates the data block index r1, r2 according to the linear function f. n ; Initialize hash list node A1 = {N1 = n, head1 → r1, tail1 → r n}, where N is the number of data blocks stored in the node, head1 is the index of the first data block stored in the node, and tail1 is the index of the last data block stored in the node;
[0011] Step 5: The third-party auditor interacts with the cloud storage server to generate data integrity audit results;
[0012] Step 6: Group users dynamically modify data, and third-party auditors efficiently update the hash list.
[0013] In a preferred embodiment, the step 3 comprises the following steps:
[0014] Step 31: Split the group file F into n data blocks m of the same size i , and m i Further divided into s data blocks of the same size m ij , where (1≤i≤n, 1≤j≤s), where s is the number of users in the group, and the data block m is calculated according to the linear function f i Index information of i ;
[0015] Step 32: Group user π is data block m i Generate integrity audit tags anonymously and calculate event signatures x π is the private key of group user π, and two random numbers are selected calculate where r i is the data block m i Index of; Calculate and verify auxiliary information Generate data block m i Integrity audit label
[0016] Step 33: After group users anonymously generate integrity proof tags for their respective data blocks, they generate a group file F integrity audit tag set Tag = {tag i} 1≤i≤n ; Cloud storage servers and third-party auditors can trace user identities based on integrity audit tags and verify whether different integrity audit tags are generated by the same group of users.
[0017] In a preferred embodiment, the step 33 comprises the following steps:
[0018] Step 331: Obtain integrity audit tags tag1 = {t1,·}, tag2 = {t2,·}, and verify the validity of the integrity audit tags;
[0019] Step 332: Compare whether t1 is equal to t2. If they are equal, data blocks m1 and m2 are generated by the same group of users, and a verification result linked is returned. Otherwise, data blocks m1 and m2 are generated by different group of users, and a verification result unlinked is returned.
[0020] In a preferred embodiment, the step 5 comprises the following steps:
[0021] Step 51: The third-party auditor randomly selects a subset I consisting of c elements from the data block set [1, n]; for each c in the challenge set i , choose a random number v i , traverse the hash list and get index r i ; In the finite field Z p Randomly select an element a in; calculate H(r i )=a(H(r i )+1), generate a random challenge Q=(H(r i ), i, v i} i∈I ;
[0022] Step 52: The cloud storage server searches for the corresponding data block m according to the challenge set Q i , and its label Where i∈I, the integrity proof P=(σ, K, Z, X, Y, (μ j} (1≤j≤s) , (τ i} i∈Q ),in:
[0023]
[0024]
[0025]
[0026] Step 53: The third-party auditor proves P = (σ, K, Z, X, Y, (μ j} (1<j<s) , (τ i} i∈Q ), challenge Q = (H (r i ), i, v i} i∈I, event event calculates e = H (event), and the group user public key set γ calculates and verifies whether equation (1) holds:
[0027]
[0028] Through the verified auxiliary data a, calculate the parameters Calculate and verify whether equation (2) is true:
[0029]
[0030] Only when equation (1) and equation (2) are both true, it is considered that the correct integrity verification result is obtained and the audit result accept is returned. Otherwise, the data integrity of the cloud storage server is destroyed and the audit result reject is returned.
[0031] In a preferred embodiment, the step 6 comprises the following steps:
[0032] Step 61: Data insertion: The group user inserts a data block after position i, and randomly selects the insertion data index r′←Z p , the insertion position i, r′ and operation op = "insert" are sent to the third-party auditor; the third-party auditor calls Algorithm 1 to obtain the insertion position (j, i * ), indicating that the data index is located in hash block A j Neidi * After the block, call Algorithm 2 to update the hash list;
[0033] Step 62: Data deletion: The group user deletes the data block at position i and sends i and operation op=“delete” to the third-party auditor, where i is the deletion position; the third-party auditor calls Algorithm 1 to obtain the deletion position (j, i) of the data in the hash list. * ), then call Algorithm 3 to update the hash list;
[0034] Step 63: Data modification: Group users modify data block m i Modified to m i 'Generate the corresponding tag i ′, m i ′, tag i ’Upload to the cloud storage server.
[0035] In a preferred embodiment, in step 6, the specific steps of Algorithm 1, Algorithm 2 and Algorithm 3 are as follows:
[0036] (1) Algorithm 1: Input data position i, output data position in the hash list (j, i * ), let hash list ∏={A1,...,Ac}, where A j = {N j , head j , tail j} is a node in the hash list; traverse the node A in the hash list j , where (1≤j≤c); let i * =i, compare i in turn * With N j The size of * >N j , then let i * =i * -N j ; if i * ≤N j , then return (j, i * ), end the traversal;
[0037] (2) Algorithm 2: Input (j, i * ), r′, hash list ∏, output the updated hash list ∏′; let hash list ∏={A1, ..., A c}, where A j = {N j , head j , tail j} is a node in the hash list; if i * =N j , let A j = {N j =N j +1, head j →head j , tail1→r′); if i * ≠N j , then a new node A is generated j+1 = {N j+1 =N j -i * , head j+1 →head j +i * , tail j+1 →tail j}, let A j = {N j =i * +1, head j →head j , tail1→r′};
[0038] (3) Algorithm 3: Input (j, i *), r′, hash list ∏, output the updated hash list ∏′; let hash list ∏={A1, ..., A c}, where A j = {N j , head j , tail j} is a node in the hash list; if i * =N j , let A j = {N j =N j -1, head j →head j ,tail1→head j +(i * -2)}; if i * ≠N j , generate a new node A j+1 = {N j+1 =N j -i * , head j+1 →head j +i * , tail j+1 →tail j}, let A j = {N j =i * -1, head j →head j ,tail1→head j +(i * -2)}.
[0039] Compared with the prior art, the present invention has the following beneficial effects:
[0040] 1. The dynamic data integrity auditing method of the present invention allows files to be effectively shared within a group, ensuring that all collaborative members can access and modify files in real time, thereby improving the efficiency and flexibility of team collaboration.
[0041] 2. The dynamic data integrity audit method of the present invention allows group users to generate anonymous group file integrity audit tags based on group information, avoiding the risk of user identity being exposed during the audit process. It is particularly suitable for public or temporary cooperation environments, and can trace the real signing user while making data ownership anonymous to the outside world, effectively improving user identity privacy protection and system reliability.
[0042] 3. The dynamic data integrity audit method of the present invention proposes a new data structure, a hash linked list, for the frequent dynamic data operations in a multi-user collaborative system. A small number of nodes are used to store a large number of data indexes, thereby optimizing storage overhead. When the data changes dynamically, the hash linked list is updated efficiently by generating new nodes so that the data indexes are still arranged in order, and the stored data indexes can be quickly obtained through pointers according to linear functions, and the time is constant, thereby improving the efficiency of dynamic data auditing. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A flow chart of system initialization and generation of integrity audit labels in the method of the present invention;
[0044] Figure 2 The data integrity audit flow chart of the method of the present invention;
[0045] Figure 3 It is a flow chart of dynamic data modification in the method of the present invention;
[0046] Figure 4 Schematic diagram of the hash linked list data structure in the method of the present invention. DETAILED DESCRIPTION
[0047] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0048] It should be noted that the following detailed descriptions are illustrative and are intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present application belongs.
[0049] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application; as used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or their combinations.
[0050] The system model of the present invention is composed of the group users (GU), the cloud storage server (CSS) and the third-party auditor (TPA).
[0051] (1) Group users (GU): A group consists of multiple users and has several collaborative files. Before uploading files to the cloud storage server, group users generate anonymous group file integrity audit tags based on group information and dynamically modify files as needed. Group members are the owners of the files and are the only ones who can dynamically update the files and entrust third-party auditors to conduct audits.
[0052] (2) Cloud Storage Server (CSS): Cloud storage servers have powerful computing and storage resources, and are responsible for storing and maintaining the collaborative files uploaded by group users. They are audited by third-party auditors and charge corresponding storage and management fees. However, for economic interests or reputation considerations, cloud storage servers may maliciously delete group user files or conceal data corruption.
[0053] (3) The third-party auditor (TPA): The third-party auditor has stronger computing resources and management capabilities than the group users. Entrusted by the group users, they are responsible for maintaining the hash table and performing integrity audits on the data in the cloud storage server. The third-party auditor only has the right to supervise the data in the cloud storage server and cannot make any modifications to the data.
[0054] The specific algorithm of the present invention is as follows:
[0055] (1) System parameter generation algorithm SysGen(1 λ )→param: The system runs the algorithm to generate the public parameters required by the system. The algorithm takes the security parameter λ as input and outputs the public parameter param.
[0056] (2) Public key and private key generation algorithm KeyGen(param)→(sk j , pk j ): Group users run the algorithm to generate public and private keys. The algorithm takes the relevant system parameter param as input and outputs a private and public key pair (sk j , pk j ).
[0057] (3) Data tag generation algorithm TagGen(event,s,γ,sx π , m i ,param)→tag i :Group users run the algorithm for data m i Generate anonymity integrity audit tag i The algorithm takes event event, the number of group members s, and the public key set of group members γ = (pk1, pk2, ..., pks ), the user's private key sk π , data block m i And system parameter param as input, output integrity audit tag tag i .
[0058] (4) Challenge set generation algorithm ChalGen(c)→Q: The third-party auditor runs this algorithm to generate the challenge set for this sampling inspection. The algorithm takes the number of data blocks c for sampling inspection as input and outputs the challenge set Q for this sampling inspection.
[0059] (5) Evidence generation algorithm ProofGen(Q, tag i , m i )→P: The cloud storage server runs the algorithm, obtains the data tags and data blocks for sampling inspection, and generates the evidence P for this response to this challenge. The algorithm inputs the challenge set Q, the data tags for sampling inspection tag i , sample check data block m i , output evidence P.
[0060] (6) Verification algorithm ProofVerify(event, s, γ, P, param) → accept / reject: The third-party auditor runs the algorithm to verify the integrity of the cloud storage server data. The algorithm inputs the event event, the number of group users s, and the public key set γ = (pk1, pk2, ..., pk s ), evidence P, system parameter param, output verification result, if the output result is accept, it means that the data stored in the cloud storage server is complete and reliable, if the output result is reject, it means that the data stored in the cloud storage server is damaged.
[0061] (7) Linkability verification algorithm Link(event, s, γ, tag1, tag2) → linked / unlinked: Group users, third-party auditors, and online collaboration systems can all run this algorithm to determine whether different integrity audit tags are generated by the same group user. The algorithm inputs the event event, the number of group users s, and the public key set γ = (pk1, pk2, ..., pk s ) and integrity audit tags tag1, tag2, and output the verification result. If the output result is linked, it means that the integrity audit tags are generated by the same user. If the output result is unlinked, it means that the integrity audit tags are not generated by the same user.
[0062] (8) Dynamic data modification algorithm Modify(i, ri, op, ∏)→∏′: Group users and third-party auditors run the algorithm to dynamically update the hash table. The algorithm inputs the position i of the data block and the index r of the data block. i (only required for data insertion operations), dynamic data operations op (op has three types of operations: inserting data, deleting data, and modifying data), and hash list Π, output the updated hash list Π′.
[0063] The present invention provides a group-oriented efficient dynamic data integrity audit method, comprising the following steps:
[0064] (1) Based on the security parameter λ, the system generates a global public parameter param, selects a multiplicative cyclic group G with a secure prime order p, randomly selects two independent generators g and h, and selects a hash function H that hashes to the G group; let system parameter param = (G, p, g, h, H};
[0065] (2) Group users generate a secret key and a public key based on system parameters and select two random elements (x j ,y j )←Z p , let the private key sk j =(x j ,y j ), calculate the public key
[0066] (3) Group users generate an anonymous integrity audit tag, including the following steps:
[0067] (3-1) The group file F is divided into n data blocks m of the same size. i , and m i Further divided into s data blocks of the same size m ij , where (1≤i≤n, 1≤j≤s), where s is the number of users in the group, and the data block m is calculated according to the linear function f i Index information of i ;
[0068] (3-2) Group user π is data block m i Generate integrity audit tags anonymously and calculate event signatures x π is the private key of group user π, and two random numbers are selected calculate where r i is the data block m i Index of; Calculate and verify auxiliary information Generate data block m iIntegrity audit label
[0069] (3-3) After group users anonymously generate integrity proof tags for their respective data blocks, they generate a group file F integrity audit tag set Tag = (tag i ) 1≤i≤n ; Cloud storage servers and third-party auditors can trace user identities based on integrity audit tags and verify whether different integrity audit tags are generated by the same group of users;
[0070] (4) The third-party auditor constructs a hash list and calculates the data block index r1, r2 according to the linear function f. n ; Initialize hash list node A1 = (N1 = n, head1 → r1, tail1 → r n}, where N is the number of data blocks stored in the node, head1 is the index of the first data block stored in the node, and tail1 is the index of the last data block stored in the node.
[0071] (5) The third-party auditor interacts with the cloud storage server to generate data integrity audit results, including the following steps:
[0072] (5-1) The third-party auditor randomly selects a subset I consisting of c elements from the data block set [1, n]; for each c in the challenge set i , choose a random number v i , traverse the hash list and get index r i ; In the finite field Z p Randomly select an element a in; calculate H(r i )=a(H(r i )+1), generate a random challenge Q=(H(r i ), i, v i} i∈I ;
[0073] (5-2) The cloud storage server searches for the corresponding data block m based on the challenge set Q. i , and its label Where i∈I, the integrity proof P=(σ, K, Z, X, Y, (μ j} (1≤j≤s) , (τ i} i∈Q ),in:
[0074]
[0075]
[0076] μ j =∑ i∈Q vi m ij (1≤j≤s),
[0077] (5-3) The third-party auditor proves the integrity of P = (σ, K, Z, X, Y, (μ j} (1<j<s) , (τ i} i∈Q ), challenge Q = (H (r i ), i, v i} i∈I , event event calculates e = H (event), and the user group public key set γ calculates and verifies whether equation (1) holds:
[0078]
[0079] Through the verified auxiliary data a, calculate the parameters Calculate and verify whether equation (2) is true:
[0080]
[0081] Only when equation (1) and equation (2) are both true, it is considered that the correct integrity verification result is obtained and the audit result accept is returned. Otherwise, the data integrity of the cloud storage server is destroyed and the audit result reject is returned.
[0082] (6) Tracing the identity of group users includes the following steps:
[0083] (6-1) Obtain integrity audit tags tag1 = (t1, ·}, tag2 = (t2, ·}, and verify the validity of the integrity audit tags;
[0084] (6-2) Compare whether t1 is equal to t2. If they are equal, data blocks m1 and m2 are generated by users in the same group, and the verification result linked is returned. Otherwise, data blocks m1 and m2 are generated by users in different groups, and the verification result unlinked is returned.
[0085] (7) Group users dynamically modify data, and third-party auditors efficiently update the hash list, including the following steps:
[0086] (7-1) Data insertion: The group user inserts a data block after position i and randomly selects the insertion data index r′←Z p , the insertion position i, r′ and operation op = "insert" are sent to the third-party auditor; the third-party auditor calls Algorithm 1 to obtain the insertion position (j, i * ), indicating that the data index is located in hash block A i Neidi* After the block, call Algorithm 2 to update the hash list;
[0087] Algorithm 1: Input data position i, output data position in the hash list (j, i * ), let hash list ∏=(A1,...,A c}, where A j =(N j , head j , tail j} is a node in the hash list. Traverse the node A in the hash list j , where (1≤j≤c); let i * =i, compare i in turn * With N j The size of * >N j , then let i * =i * -N j ; if i * ≤N j , then return (j, i * ), end the traversal;
[0088] Algorithm 2: Input (j, i * ), r′, hash list ∏, output the updated hash list ∏′; let hash list ∏=(A1, ..., A c}, where A j =(N j , head j , tail j} is a node in the hash list. * =N j , let A j =(N j =N j +1, head j →head j , tail1→r′}; if i * ≠N j , then a new node A is generated j+1 =(N j+1 =N j -i * , head j+1 →head j +i * , tail j+1 →tail j ), let A j =(N j =i * +1, head j →headj , tail1→r′};
[0089] (7-2) Data deletion: The group user deletes the data block at position i and sends i and operation op=“delete” to the third-party auditor, where i is the deletion position. The third-party auditor calls Algorithm 1 to obtain the deletion position (j, i) of the data in the hash list. * ), then call Algorithm 3 to update the hash list;
[0090] Algorithm 3: Input (j, i * ), r′, hash list ∏, output the updated hash list ∏′; let hash list ∏=(A1, ..., A c}, where A j =(N j , head j , tail j} is a node in the hash list. * =N j , let A j =(N j =N j -1, head j →head j ,tail1→head j +(i * -2)}; if i * ≠N j , generate a new node A j+1 =(N j+1 =N j -i * , head j+1 →head j +i * , tail j+1 →tail j}, let A j = {N j =i * -1, head j →head j ,tail1→head j +(i * -2)};
[0091] (7-3) Data modification: Group users modify data block m i Modified to m i 'Generate the corresponding tag i ′, m i ′, tag i ’Upload to the cloud storage server.
[0092] The above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit the same. A person skilled in the art may modify or make equivalent substitutions for the technical solutions of the present invention without departing from the spirit and scope of the present invention. The protection scope of the present invention shall be subject to the claims.
Claims
1. An efficient dynamic data integrity audit method for groups, characterized in that: The following steps are involved: Step 1: Based on the security parameter λ, the system generates a global public parameter param, selects a multiplicative cyclic group G with an order of a secure prime number p, randomly selects two independent generators g and h, and selects a hash function H that hashes to the G group; let system parameter param = {G, p, g, h, H}; Step 2: Group users generate a secret key and a public key based on system parameters and select two random elements (x j ,y j )←Z p , let the private key sk j =(x j ,y j ), calculate the public key Step 3: Group users generate integrity audit labels with anonymity; Step 4: The third-party auditor constructs a hash list and calculates the data block index r1, r according to the linear function f n ; Initialize hash list node A1 = {N1 = n, head1 → r1, tail1 → r n }, where N is the number of data blocks stored in the node, head1 is the index of the first data block stored in the node, and tail1 is the index of the last data block stored in the node; Step 5: The third-party auditor interacts with the cloud storage server to generate data integrity audit results; Step 6: Group users dynamically modify data, and third-party auditors efficiently update the hash list.
2. According to claim 1, a group-oriented efficient dynamic data integrity audit method is characterized in that: The step 3 comprises the following steps: Step 31: Split the group file F into n data blocks m of the same size i , and m i Further divided into s data blocks of the same size m ij , where (1≤i≤n,1≤j≤s), where s is the number of users in the group, and the data block m is calculated according to the linear function f i Index information of i ; Step 32: Group user π is data block m i Generate integrity audit tags anonymously and calculate event signatures x π is the private key of group user π, and two random numbers are selected calculate where r i is the data block m i Index of; calculate and verify auxiliary information Generate data block m i Integrity audit label Step 33: After group users anonymously generate integrity proof tags for their respective data blocks, they generate a group file F integrity audit tag set Tag = {tag i } 1≤i≤n ; Cloud storage servers and third-party auditors can trace user identities based on integrity audit tags and verify whether different integrity audit tags are generated by the same group of users.
3. The method for group-oriented efficient dynamic data integrity audit according to claim 2, characterized in that: The step 33 comprises the following steps: Step 331: Obtain integrity audit tags tag1 = {t1,·}, tag2 = {t2,·}, and verify the validity of the integrity audit tags; Step 332: Compare whether t1 is equal to t2. If they are equal, data blocks m1 and m2 are generated by the same group of users, and a verification result linked is returned. Otherwise, data blocks m1 and m2 are generated by different group of users, and a verification result unlinked is returned.
4. The method for group-oriented efficient dynamic data integrity audit according to claim 1, characterized in that: The step 5 comprises the following steps: Step 51: The third-party auditor randomly selects a subset I consisting of c elements from the data block set [1,n]; for each c in the challenge set i , choose a random number v i , traverse the hash list and get index r i ; In the finite field Z p Randomly select an element a in; calculate H(r i )=a(H(r i )+1), generate a random challenge Q={H(r i ),i,v i } i∈I ; Step 52: The cloud storage server searches for the corresponding data block m according to the challenge set Q i , and its label Where i∈I, the integrity proof P=(σ,K,Z,X,Y,{μ j } (1≤j≤s) ,{τ i } i∈Q ),in: Step 53: The third-party auditor proves the integrity of P = (σ, K, Z, X, Y, {μ j } (1<j<s) ,{τ i } i∈Q ), challenge Q = {H(r i ),i,v i } i∈I , event event calculates e = H (event), and the group user public key set γ calculates and verifies whether equation (1) holds: Through the verified auxiliary data a, calculate the parameters Calculate and verify whether equation (2) is true: Only when equation (1) and equation (2) are both true, it is considered that the correct integrity verification result is obtained and the audit result accept is returned. Otherwise, the data integrity of the cloud storage server is destroyed and the audit result reject is returned.
5. The group-oriented efficient dynamic data integrity audit method according to claim 1 is characterized in that: The step 6 comprises the following steps: Step 61: Data insertion: The group user inserts the data block after position i, and randomly selects the insertion data index r'←Z p , and sends the insertion position i, r' and operation op = "insert" to the third-party auditor; the third-party auditor calls Algorithm 1 to obtain the insertion position (j, i * ), indicating that the data index is located in hash block A j Neidi * After the block, call Algorithm 2 to update the hash list; Step 62: Data deletion: The group user deletes the data block at position i and sends i and operation op = "delete" to the third-party auditor, where i is the deletion position; the third-party auditor calls Algorithm 1 to obtain the deletion position of the data in the hash list (j, i * ), then call Algorithm 3 to update the hash list; Step 63: Data modification: Group users modify data block m i Modified to m i 'Generate the corresponding tag i ', m i ', tag i 'Upload to cloud storage server.
6. The group-oriented efficient dynamic data integrity audit method according to claim 5, characterized in that: In step 6, the specific steps of Algorithm 1, Algorithm 2 and Algorithm 3 are as follows: (1) Algorithm 1: Input data position i, output data position in the hash list (j,i * ), let hash list Π={A1,…,A c }, where A j = {N j ,head j ,tail j } is a node in the hash list; traverse the node A in the hash list j , where (1≤j≤c); let i * =i, compare i in turn * With N j The size of * >N j , then let i * =i * -N j ; if i * ≤N j , then return (j,i * ), end the traversal; (2) Algorithm 2: Input (j,i * ), r', hash list Π, output the updated hash list Π'; let hash list Π = {A1, ..., A c }, where A j = {N j ,head j ,tail j } is a node in the hash list; if i * =N j , let A j = {N j =N j +1,head j →head j ,tail1→r'}; if i * ≠N j , then a new node A is generated j+1 = {N j+1 =N j -i * ,head j+1 →head j +i * ,tail j+1 →tail j }, let A j = {N j =i * +1,head j →head j ,tail1→r'}; (3) Algorithm 3: Input (j,i * ), r', hash list Π, output the updated hash list Π'; let hash list Π = {A1, ..., A c }, where A j = {N j ,head j ,tail j } is a node in the hash list; if i * =N j , let A j = {N j =N j -1,head j →head j ,tail1→head j +(i * -2)}; if i * ≠N j , generate a new node A j+1 = {N j+1 =N j -i * ,head j+1 →head j +i * ,tail j+1 →tail j }, let A j = {N j =i * -1,head j →head j ,tail1→head j +(i * -2)}.
Citation Information
Patent Citations
Efficient privacy protecting audit scheme based on chameleon hash function of cloud storage
CN104601605A
System and method for high-efficiency data integrity auditing supporting safety duplication eliminating in cloud environment
CN107483585A
Identity-based dynamic data integrity auditing method
CN110912706A
Certificateless cloud storage data integrity public auditing method
CN113364600A
Dynamic data integrity auditing method, system and equipment of cloud file and medium
CN118094648A