Algebraic signature based integrity batch auditing method for time period dataset
By using an algebraic signature-based method to segment and sector time-period datasets, the problem of differentiation and batch auditing of time-period datasets in existing technologies is solved, achieving efficient and secure multi-user time-period dataset auditing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAQIAO UNIVERSITY
- Filing Date
- 2026-01-08
- Publication Date
- 2026-04-24
AI Technical Summary
Existing technologies cannot effectively perform differentiated auditing of time-segmented datasets, cannot simultaneously perform batch auditing of files from multiple users, and have security vulnerabilities that resist summation attacks.
The method employs an algebraic signature approach to segment and sector the time-segmented dataset. By combining homomorphic hash functions and random number generation mechanisms, it generates data proofs and performs integrity verification, supporting multi-user batch auditing and resisting summation attacks.
It enables efficient auditing of time-segment datasets, supports file size differences, and can perform batch auditing of files from multiple users simultaneously, improving security and resource utilization efficiency.
Smart Images

Figure CN121479844B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information security, and specifically relates to data security auditing for cloud storage, applicable to the public auditing of the integrity of multi-ownership data in cross-departmental collaboration. Background Technology
[0002] With the explosive growth of data on the internet today, traditional local storage architectures are gradually becoming insufficient to meet people's needs. This led to the emergence of cloud storage services, which allow users to store data on remote servers managed by cloud service providers (CSPs) via network transmission, providing users with virtually unlimited storage space and high flexibility. However, while cloud storage services bring convenience to users, they also bring new problems and challenges. If data on a cloud server is tampered with, lost, or leaked, it will cause huge losses to users. Therefore, cloud data integrity auditing technology has emerged. Its core objective is to periodically verify the integrity of outsourced data, ensuring that user data remains accurate and tamper-free throughout its entire lifecycle in cloud storage, thus building a solid defense for the secure and reliable operation of cloud storage.
[0003] With the widespread adoption of cloud storage, a massive amount of user data is migrating to the cloud. These data exhibit significant differences in their generation times, naturally forming time-segmented datasets—datasets aggregated from user data with similar time-sensitivity requirements based on the time period in which the data was uploaded or generated. However, if current third-party auditing platforms ignore the characteristics of time-segmented datasets and apply indiscriminate integrity verification to all cloud data, two core problems will arise. Firstly, from a user perspective, different data have varying importance and timeliness. For example, recently generated critical business data is crucial for real-time enterprise decision-making and requires auditing within short time intervals to ensure its integrity and availability; while some historical archived data only needs periodic review. Secondly, from a resource utilization perspective, frequent auditing of all data without regard to time periods leads to resource waste. Both computing resources and user auditing costs can increase significantly due to unnecessary high-frequency audits. Therefore, achieving a precise match between audit requirements and resource investment based on data timeliness and using time-segmented datasets as the basic audit unit has become a critical issue that urgently needs to be addressed in cloud data auditing.
[0004] To address the mismatch between user needs and resource utilization in cloud data auditing, some researchers have begun exploring methods for differentiated auditing of time-based datasets. For example, Zhang et al. proposed a blockchain-based dynamic data auditing scheme that encapsulates timestamps into homomorphic verifiable tags, simultaneously checking data integrity and timestamp validity (Zhang C, Xuan H, Wu T, et al. Blockchain-based dynamic time-encapsulated data auditing for outsourcing storage[J]. IEEE Transactions on Information Forensics and Security, 2023, 19: 1979-1993.). While this scheme ensures data timeliness and integrity, supports dynamic data operations, and enhances the efficiency of the auditing process, it can only audit a single file at a time, failing to simultaneously audit all files within the same time period to ensure the validity of the entire time-based dataset. Therefore, it still has certain limitations. Building upon this foundation, to achieve more precise time-based auditing, Wang et al. proposed an auditing scheme that allows users to check file integrity based on time periods (rather than individual files) (Wang M, Yu J, Shen W, et al. Privacy-preserving time-based auditing for secure cloudstorage[J]. IEEE Transactions on Information Forensics and Security, 2024.). This scheme introduces a time-based parameter, enabling integrity auditing of files within a specific time period, meeting user needs and avoiding resource waste. However, this scheme still faces many challenges in practical applications: it cannot resist summation attacks, potentially leading to security vulnerabilities; it also requires each file to be the same size, which is impractical in real-world applications; furthermore, it cannot audit files from multiple users simultaneously, i.e., batch auditing. Therefore, how to audit time-based datasets while resisting summation attacks, allowing for differences in file size, and simultaneously enabling batch auditing of time-based datasets from multiple users is a crucial problem that urgently needs to be solved in the current field of cloud data auditing. Summary of the Invention
[0005] The purpose of this invention is to address the shortcomings and deficiencies in existing technologies by proposing a batch integrity auditing method based on algebraic signatures for time-segment datasets. The third-party auditing end can simultaneously audit all files of multiple users within the same time period, thus supporting each file to contain different numbers of blocks and enabling batch auditing of multi-user time-segment datasets. Furthermore, it ensures efficient auditing of time-segment datasets while resisting summation attacks.
[0006] The technical solution of the present invention is as follows.
[0007] A batch integrity auditing method based on algebraic signatures for time-segmented datasets includes:
[0008] User data preprocessing steps: The user divides each file to be uploaded within a specified time period into blocks, resulting in multiple file data blocks. The user then sends the set of files to be uploaded within the specified time period and the user's identity identifier to the cloud service provider CSP. Finally, the user sends the authentication message generated based on algebraic signature to the third-party auditing end.
[0009] Single-user audit challenge steps: When a data user needs to verify data integrity, they send an audit request to a third-party auditing entity based on their identity identifier; upon receiving the audit request, the third-party auditing entity generates challenge information based on the authentication message and sends it to the CSP.
[0010] Single-user audit evidence generation steps: After receiving the challenge information sent by the third-party auditing end, the CSP calculates the data proof of the data block according to the challenge information, generates a data proof set, and sends the data proof set to the third-party auditing end;
[0011] Single-user audit evidence verification steps: After receiving the data evidence set, the third-party auditing end performs data integrity verification on the files in the dataset within the specified time period and sends the verification results to the data user;
[0012] Batch Audit Challenge Steps: When a data user needs to conduct a batch audit, they send a batch audit request to a third-party auditing client based on their identity identifier; after receiving the batch audit request, the third-party auditing client generates batch audit challenge information based on the authentication message and sends it to the CSP;
[0013] Batch audit evidence generation steps: After receiving the batch audit challenge information sent by the third-party auditing client, the CSP calculates the batch audit data proof of the data block based on the batch audit challenge information, generates a batch audit data proof set, and sends the batch audit data proof set to the third-party auditing client;
[0014] Batch audit evidence verification steps: After receiving the batch audit data evidence set, the third-party auditing end performs data integrity verification on the files in the dataset within the specified time period for all users, and sends the verification results to the data users.
[0015] Preferably, before the user data preprocessing step, a parameter preprocessing step is further included, specifically including:
[0016] Obtain the pre-selected security parameter λ, generate a large prime number p, and a set of integers Z. p and a multiplicative cyclic group Z p * ; where λ and p satisfy the relation log2p≥λ;
[0017] Define a homomorphic hash function H: Z p →Z p In this case, the homomorphic hash function H will hash the set of integers Z. p Elements in the mapping to Z p This ensures that homomorphism and collision resistance are satisfied;
[0018] Public system parameters {p, Z p Z p * , H}.
[0019] Preferably, the user data preprocessing step specifically includes:
[0020] The identifier is N id ∈{0, 1} * Users first define the set of files to be uploaded within the time period t, i.e., the time period dataset, denoted as F. (t) ={F i (t) |1≤i≤n (t)}; where F i (t) Let n be the i-th file uploaded by the user within the time period t. (t) This represents the number of files uploaded within the time period t.
[0021] File F i (t) Divide the file into blocks of the same size to obtain file data blocks F. i (t) ={F ij (t) |1≤j≤m max (t) Next, each data block is divided into s sectors, i.e., F. ij (t) ={F ijk (t)|1≤k≤s};where F ij (t) For the j-th data block of the i-th file uploaded within the time period t, F ij (t) ∈Z p m max (t) F represents the number of data blocks contained in the largest file uploaded by a single user within the time period t. ijk (t) F represents the k-th sector of the j-th data block of the i-th file uploaded within time period t. ijk (t) ∈Z p ;
[0022] Randomly select a signature parameter a∈Z p * For each data block F of each file ij (t) Users calculate their tag σ based on algebraic signatures. ij (t) The set of data block labels within the time period t is obtained as σ. (t) = {σ ij (t) |1≤i≤n (t) , 1≤j≤m max (t)}; where σ ij (t) This refers to the data block label of the j-th data block of the i-th file within the time period t.
[0023] File set F (t) and identity identifier N id Send the authentication message τ1={m to the CSP. max (t) , a, σ (t) , n (t) , N id Send it to the third-party auditing end.
[0024] Preferably, the single-user audit challenge step specifically includes:
[0025] When a data user needs to verify the integrity of a time-period dataset, they send an audit request to a third-party auditing entity, i.e., τ2={t, N}. id};
[0026] After receiving the audit request, the third-party auditing end generates a challenge index set Ψ={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m max (t)}; where c is the number of challenge blocks, ψ l This is the index of the l-th challenge block;
[0027] The third-party auditing platform generates an auxiliary random number set r within a time period t. (t) ={r k (t) Calculate w if |1≤k≤s} k (t) =ar k (t) Obtain the set of random numbers w for sectors within the time period t. (t) ={w k (t) |1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t. k (t) This is a random number corresponding to the k-th sector within the time period t;
[0028] Generate a corresponding random number v for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) The random number corresponding to the l-th challenge block within time period t;
[0029] The third-party auditing module uses the challenge index set Ψ and the sector random number set w within the time period t. (t) and challenge random number set v (t) The challenge information is obtained: Chal = {t, Ψ, w} (t) , v (t) , N id The challenge information Chal will be sent to the CSP.
[0030] Preferably, the single-user audit evidence generation step specifically includes:
[0031] After receiving the challenge information Chal, CSP performs calculations based on the challenge information and generates a data proof P for each sector. k (t) The data proves the set P = {P} k (t) |1≤k≤s};where P k (t) Proof of the data for the k-th sector within time period t;
[0032] The CSP sends the data proof set P to a third-party auditing entity.
[0033] Preferably, the single-user audit evidence verification step specifically includes:
[0034] After receiving the data proof set P, the third-party auditing end verifies the data proof set P and the data block label set σ within the time period t according to the integrity verification formula. (t) The integrity verification formula is as follows:
[0035] ;
[0036] in, Represents the ψth digit of the i-th file within the time period t. l The data block labels of the challenge block; when the above integrity verification formula is true, the verification passes, indicating that the files within the time period t are stored completely; otherwise, the verification fails, indicating that some files within the time period t have been corrupted.
[0037] The CSP sends the verification result to the data user.
[0038] Preferably, the batch audit challenge step specifically includes:
[0039] When a data user needs to audit time-period datasets of multiple users simultaneously, they send a batch audit request τ3={t, N} to a third-party auditing platform; where N is the set of user identifiers, i.e., N = {N zid |1≤z≤U},N zid Let U be the identifier of the z-th user, and U be the number of users to be processed in the batch audit.
[0040] After receiving the batch audit request τ3, the third-party auditing end generates a challenge index set Ψ'={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m Umax (t)}; where c is the number of challenge blocks, ψ l m is the index of the l-th challenge block; Umax (t) Let m be the number of data blocks contained in the largest file uploaded by U users within the time period t. Umax (t) To assign m to each of the U users max (t) The maximum number of data blocks contained in the file obtained after comparison;
[0041] The third-party auditing platform generates an auxiliary random number set r within a time period t. (t) ={r k(t) |1≤k≤s}, then calculate w zk (t) =a z -r k (t) Obtain the set of random numbers W for the batch audit sectors within the time period t. (t) ={w zk (t) |1≤z≤U,1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t. zk (t) Let a be a random number corresponding to the k-th sector of the z-th user within the time period t. z For the signature parameters of the z-th user;
[0042] Generate a corresponding random number v for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) The random number corresponding to the l-th challenge block within time period t;
[0043] The third-party auditing end uses the challenge index set Ψ' and the batch audit sector random number set W within the time period t. (t) and challenge block random number set v (t) Obtain batch audit challenge information Challenge={t, Ψ', W (t) , v (t) , N}, and send the challenge information Challenge to CSP.
[0044] Preferably, the batch audit evidence generation step specifically includes:
[0045] After receiving the bulk audit challenge information (Chall), the CSP calculates and generates a data proof (P) for each user on each sector based on the bulk audit challenge information. zk (t) The batch audit data proof set Г={P zk (t) |1≤z≤U,1≤k≤s};where P zk (t) Proof of data for the k-th sector of the z-th user within time period t;
[0046] CSP sends the batch audit data proof set Г to the third-party auditing end.
[0047] Preferably, the batch audit evidence verification step specifically includes:
[0048] After receiving the batch audit data proof set Г, the third-party auditing terminal uses the integrity verification formula and the batch audit data block label set Θ within the time period t. (t) ={σ zij (t) |1≤z≤U,1≤i≤n z (t) , 1≤j≤m zmax (t) Perform data integrity verification; where σ zij (t) Let n be the data block label of the j-th data block of the i-th file of the z-th user within the time period t. z (t) Let m be the number of files uploaded by the z-th user within time period t. zmax (t) Let be the number of data blocks contained in the largest file uploaded by the z-th user within time period t. The integrity verification formula is:
[0049] ;
[0050] in, This represents the ψth file of the z-th user within the time period t. l The data block labels of the challenge block; when the above integrity verification formula is true, the verification passes, indicating that the files of U users within the time period t are stored completely; otherwise, the verification fails, indicating that some files of U users within the time period t have been corrupted.
[0051] The CSP sends the verification result to the data user.
[0052] Compared with the prior art, the present invention has the following beneficial effects:
[0053] This invention discloses an integrity batch auditing method based on algebraic signature for time-segment datasets. It ensures efficient auditing of data uploaded within a time period (i.e., time-segment datasets) while resisting summation attacks. Furthermore, it allows simultaneous auditing of all files from multiple users within the same time period through a third-party auditing platform, thereby supporting file size differences and enabling batch auditing of multi-user time-segment datasets. Attached Figure Description
[0054] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0055] Figure 1 This is a flowchart illustrating the integrity batch auditing method based on algebraic signature for time-based datasets according to an embodiment of the present invention.
[0056] Figure 2 This is a flowchart illustrating the single-user audit interaction of the integrity batch audit method based on algebraic signature for time-based datasets, as described in this embodiment of the invention.
[0057] Figure 3 This is a flowchart illustrating the batch auditing interaction process for the integrity batch auditing method based on algebraic signatures for time-based datasets, as described in this embodiment of the invention.
[0058] Figure 4 This is a data proof generation diagram for an integrity batch auditing method based on algebraic signatures for time-based datasets, as described in an embodiment of the present invention. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0060] See Figure 1 , Figure 2 and Figure 3 As shown, this embodiment of the invention discloses a batch integrity auditing method based on algebraic signature for time-period datasets, including parameter preprocessing step S101, user data preprocessing step S102, single-user audit challenge step S103, single-user audit evidence generation step S104, single-user audit evidence verification step S105, batch audit challenge step S106, batch audit evidence generation step S107, and batch audit evidence verification step S108, as detailed below.
[0061] Parameter preprocessing step S101: Obtain the pre-selected safety parameter λ, generate a large prime number p (log₂p≥λ), and an integer set Z. p and a multiplicative cyclic group Z p * Define a homomorphic hash function H:Z p → Zp Public parameter pp={p, Z p Z p * , H}.
[0062] The specific implementation is as follows.
[0063] First, obtain the pre-selected security parameter λ, generate a large prime number p, and an integer set Z. p and a multiplicative cyclic group Z p * ; where λ and p satisfy the relation log2p≥λ.
[0064] Next, define a homomorphic hash function H: Z p →Z p The homomorphic hash function H is used to hash the set of integers Z. p Elements in the mapping to Z p It is above, and simultaneously satisfies homomorphism and collision resistance.
[0065] Finally, the system parameters {p, Z} are disclosed. p Z p * , H}.
[0066] User data preprocessing step S102: First, the user divides each file to be uploaded within the specified time period into blocks of the same size. When the remaining size of a file is less than one block, it is padded with 0 bits. Then, each block is divided into the same number of sectors. The number of files uploaded within the specified time period and the number of data blocks contained in the largest file uploaded within the specified time period are recorded. Each user has a unique identifier. Next, the user selects a group belonging to the multiplicative cyclic group Z. p * The random number is used as the signature parameter, and the tag of each file data block to be uploaded within the specified time period is calculated based on the algebraic signature. Finally, the user sends the file set and identity identifier to the CSP, and sends the number of data blocks contained in the largest file uploaded within the specified time period, the number of files uploaded within the specified time period, the signature parameter, the identity identifier and the tag set as authentication messages to the third-party auditing end.
[0067] The specific implementation is as follows.
[0068] First, the user (identity identifier N) id ∈{0, 1} * First, represent the set of files to be uploaded within the time period t, i.e., the time period dataset, as F. (t) ={F i (t) |1≤i≤n (t)}; where Fi (t) Let n be the i-th file uploaded by the user within the time period t. (t) This represents the number of files uploaded within the time period t.
[0069] Next, the user will put file F i (t) Divide the file into blocks of the same size to obtain file data blocks F. i (t) ={F ij (t) |1≤j≤m max (t) Next, each data block is divided into s sectors, i.e., F. ij (t) ={F ijk (t) |1≤k≤s};where F ij (t) For the j-th data block of the i-th file uploaded within the time period t, F ij (t) ∈Z p m max (t) F represents the number of data blocks contained in the largest file uploaded by a single user within a time period t. ijk (t) For the k-th sector of the j-th data block of the i-th file uploaded within time period t, F ijk (t) ∈Z p .
[0070] Then, the user randomly selects a signature parameter a∈Z p * For each data block F of each file ij (t) Users calculate their tag σ based on algebraic signatures. ij (t) The set of data block labels within the time period t is obtained as σ. (t) = {σ ij (t) |1≤i≤n (t) , 1≤j≤m max (t) The calculation formula is:
[0071] ;
[0072] Where, σ ij (t) F is the data block label of the j-th data block of the i-th file within the time period t. ij (t)F represents the j-th data block of the i-th file uploaded within time period t. ijk (t) It represents the k-th sector of the j-th data block of the i-th file within the time period t.
[0073] Finally, the user will put the file collection F (t) and identity identifier N id Send the authentication message τ1={m to the CSP. max (t) , a,σ (t) , n (t) , N id Send it to the third-party auditing platform.
[0074] Single-user audit challenge step S103: When the data user needs to verify data integrity, an audit request is sent to the third-party auditing end, including the time period of the file to be audited and the identity identifier of the user to be audited; after the third-party auditing end receives the audit request, the third-party auditing end generates a challenge index set, a random number set of sectors and a random number set of challenge blocks according to the authentication message, obtains the challenge information, and sends the challenge information to CSP.
[0075] The specific implementation is as follows.
[0076] First, when the data user needs to verify the integrity of the time-period dataset, the data user sends an audit request to the third-party auditing end, i.e., τ2={t, N}. id}
[0077] Secondly, after receiving the audit request, the third-party auditing end first generates a challenge index set Ψ={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m max (t)}; where c is the number of challenge blocks, ψ l This is the index of the l-th challenge block.
[0078] Next, the third-party auditing unit generates an auxiliary random number set r for a time period t. (t) ={r k (t) |1≤k≤s}, then calculate w k (t) =ar k (t) Obtain the set of random numbers w for sectors within the time period t. (t) ={w k (t) |1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t.k (t) This is a random number corresponding to the k-th sector within the time period t.
[0079] Then, a corresponding random number v is generated for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) The random number v is generated for the l-th challenge block within time period t, by generating a corresponding random number v for each challenge block. l (t) This prevents CSP from passing integrity verification by simply storing aggregated data values, thus resisting summation attacks.
[0080] Finally, the third-party auditing end uses the challenge index set Ψ and the sector random number set w within the time period t. (t) and challenge random number set v (t) The challenge information is obtained: Chal = {t, Ψ, w} (t) , v (t) , N id} and send the challenge information Chal to the CSP.
[0081] Single-user audit evidence generation step S104: After receiving the challenge information sent by the third-party auditing end, the CSP calculates the data proof of the data block according to the challenge index set, sector random number set and challenge block random number set in the challenge information. That is, the sectors at the same position of each challenge block are aggregated to generate proof. If the file size is insufficient and there is no block at that position, 0 is added. Then, the CSP sends the data proof set to the third-party auditing end.
[0082] See Figure 4 As shown, the data proof generation diagram of this invention is essentially used to represent the mapping relationship between sectors at different positions in the challenge block of each file and the data proofs of sectors in each column during the data proof generation process. The diagram assumes that the user uploaded a total of n files within a specified time period. (t) The file, namely F (t) ={F i (t) |1≤i≤n (t) The file with the largest file size contains ψ challenge blocks. c That is, F n (t) (t) ={F n (t) ψ l(t) |1≤ψ l ≤ψ c}, where, in generating data proof P1 (t) At that time, it involves aggregating the first sector of all challenge blocks in all files, that is, aggregating all sectors in the first column; in generating data proof P k (t) At that time, it involves aggregating the k-th sector of all challenge blocks across all files, that is, aggregating all sectors at the k-th column position, and generating the data proof P. s (t) When the process is complete, the s-th sector of all challenge blocks in all files is aggregated, that is, all sectors at the s-th column position are aggregated. During the aggregation process, if a file is too small to contain a certain challenge block, that is, if the sector is missing, a 0 is added to it.
[0083] The specific implementation is as follows.
[0084] First, after receiving the challenge information Chal, the CSP determines the sector random number set w based on the challenge index set Ψ. (t) and challenge block random number set v (t) Perform calculations to generate data proof P for each sector. k (t) The data proves the set P = {P} k (t) |1≤k≤s}, which means aggregating the sectors at the same position in each challenge block of each file to generate a proof. If a file is too small to have a challenge block at that position, add 0. The calculation formula is:
[0085] ;
[0086] Among them, P k (t) For the data of the k-th sector within time period t, prove that F i ψ lk (t) The ψth digit of the i-th file within the time period t l The kth sector of the challenge block.
[0087] Finally, the CSP sends the data proof set P to the third-party auditing end.
[0088] Single-user audit evidence verification step 105: After the third-party auditing end receives the evidence set, it performs data integrity verification based on the evidence set and the tag set. If the verification passes, it means that the files in the dataset within the specified time period are complete; otherwise, it means that some files in the dataset within the specified time period have been corrupted. The verification result is then sent to the data user.
[0089] The specific implementation is as follows.
[0090] First, after the third-party auditing end receives the data proof set P, it performs data integrity verification processing on the files within the time period t according to the integrity verification formula, that is, it verifies the data proof set P and the data block label set σ within the time period t. (t) The integrity verification formula is as follows:
[0091] ;
[0092] Among them, P k (t) For the data verification part of the integrity verification formula, σ i ψ l (t) The ψth digit of the i-th file within the time period t l The data block label of each challenge block is the data label verification part in the integrity verification formula. If a file is too small to have a challenge block label at that location, then add 0.
[0093] Next, if the above integrity verification formula is true, the verification passes, indicating that the files within time period t are stored intact; otherwise, the verification fails, indicating that some files within time period t have been corrupted.
[0094] Finally, the CSP sends the verification result to the data user.
[0095] Batch Audit Challenge Step S106: When the data user needs to perform batch audit, the data user sends a batch audit request to the third-party auditing end, which includes the time period of the file to be audited and the identity identifiers of multiple users to be audited; after the third-party auditing end receives the batch audit request, the third-party auditing end first generates a set of challenge indexes and a set of challenge block random numbers, and then generates a set of sector random numbers for each user to be audited as batch audit challenge information, and sends it to CSP.
[0096] The specific implementation is as follows.
[0097] First, when a data user needs to audit time-period datasets of multiple users simultaneously, the data user sends a batch audit request τ3={t, N} to a third-party auditing platform; where N is the set of user identifiers, i.e., N = {N zid |1≤z≤U},N zid Let U be the identifier of the z-th user, and U be the number of users to be processed in the batch audit.
[0098] Secondly, after receiving the batch audit request τ3, the third-party auditing end first generates a challenge index set Ψ'={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m Umax (t)}; where m Umax (t) Let m be the number of data blocks contained in the largest file uploaded by U users within the time period t. Umax (t) To assign m to each of the U users max (t) The maximum number of data blocks contained in the file obtained after comparison;
[0099] Next, the third-party auditing unit generates an auxiliary random number set r for a time period t. (t) ={r k (t) |1≤k≤s}, then calculate w zk (t) =a z -r k (t) Obtain the set of random numbers W for the batch audit sectors within the time period t. (t) ={w zk (t) |1≤z≤U,1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t. zk (t) Let a be a random number corresponding to the k-th sector of the z-th user within the time period t. z For the signature parameters of the z-th user.
[0100] Then, a corresponding random number v is generated for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) This is the random number corresponding to the l-th challenge block within the time period t.
[0101] Finally, the third-party auditor uses the challenge index set Ψ' within the time period t to batch audit the sector random number set W. (t) and challenge block random number set v (t) The challenge information is obtained: Challenge = {t, Ψ', W} (t) , v (t) , N}, and send the challenge information Challenge to CSP.
[0102] Batch audit proof generation steps: After receiving the batch audit challenge information sent by the third-party auditing end, the CSP calculates the batch audit data proof of the data block according to the batch audit challenge information, and sends the batch audit data proof set to the third-party auditing end.
[0103] The specific implementation is as follows.
[0104] First, after the CSP receives the bulk audit challenge information (Chall), the CSP calculates and generates a data proof P for each user on each sector based on the bulk audit challenge information. zk (t) The batch audit data proof set Г={P zk (t) If a file is too small to contain a challenge block at a given position, increment the value by 0. The formula is as follows: |1≤z≤U,1≤k≤s}
[0105] ;
[0106] Among them, P zk (t) For the data proof of the k-th sector of the z-th user within time period t, n z (t) F represents the number of files uploaded by the z-th user within the time period t. zi ψ lk (t) The ψth file of the z-th user within the time period t l The kth sector of the challenge block.
[0107] Next, CSP sends the batch audit data proof set Г to the third-party auditing end.
[0108] Batch audit verification steps: After the third-party auditing end receives the batch audit data verification set, it performs data integrity verification. If the verification passes, it means that all files in the dataset within the specified time period of all users are complete; otherwise, it means that some files in the dataset within the specified time period of some users have been corrupted, and the verification result is sent to the data user.
[0109] The specific implementation is as follows.
[0110] First, after the third-party auditing end receives the data proof set Г, it performs an integrity verification based on the integrity verification formula and the batch audit data block label set Θ within the time period t. (t) ={σ zij (t) |1≤z≤U,1≤i≤n z (t) , 1≤j≤m zmax(t) The data integrity verification process is performed, namely, verifying the batch audit data proof set Г and the batch audit data block label set Θ. (t) Perform consistency verification; where σ zij (t) Let m be the data block label of the j-th data block of the i-th file of the z-th user within the time period t. zmax (t) Let be the number of data blocks contained in the largest file uploaded by the z-th user within time period t. The integrity verification formula is:
[0111] ;
[0112] Among them, P zk (t) For the data verification part of the z-th user in the integrity verification formula, σ zi ψ l (t) The ψth file of the z-th user within the time period t l The data block label of each challenge block is the data label verification part of the z-th user in the integrity verification formula. If a file is too small to have a challenge block label at that position, then add 0.
[0113] Subsequently, if the above integrity verification formula holds true, the verification passes, indicating that the files of U users within time period t are stored intact; otherwise, the verification fails, indicating that some files of U users within time period t have been corrupted.
[0114] Finally, the CSP sends the verification result to the data user.
[0115] In this embodiment, when the third-party auditing end receives the proof set P, it performs data integrity verification. If the integrity verification formula is found to be true, it indicates that the CSP has correctly stored the data within time period t, i.e., the time period dataset; if the integrity verification formula is found to be false, it indicates that the stored data within time period t has been corrupted, and the audit result is truthfully communicated to the data user.
[0116] In summary, the proposed algebraic signature-based batch integrity auditing method for time-segment datasets can support efficient auditing of time-segment datasets while resisting summation attacks, ensuring higher security of the solution, and supporting differential file sizes and batch auditing of multi-user time-segment datasets.
[0117] The above are merely preferred embodiments of the present invention. The scope of protection of the present invention is not limited to the above embodiments. All technical solutions that fall within the scope of the present invention are within the scope of protection of the present invention.
Claims
1. A batch integrity auditing method based on algebraic signatures for time-segmented datasets, characterized in that, include: User data preprocessing steps: The user divides each file to be uploaded within a specified time period into blocks, resulting in multiple file data blocks. The user then sends the set of files to be uploaded within the specified time period and the user's identity identifier to the cloud service provider CSP. Finally, the user sends the authentication message generated based on algebraic signature to the third-party auditing end. Single-user audit challenge steps: When a data user needs to verify data integrity, they send an audit request to a third-party auditing entity based on their identity identifier; upon receiving the audit request, the third-party auditing entity generates challenge information based on the authentication message and sends it to the CSP. Single-user audit evidence generation steps: After receiving the challenge information sent by the third-party auditing end, the CSP calculates the data proof of the data block according to the challenge information, generates a data proof set, and sends the data proof set to the third-party auditing end; Single-user audit evidence verification steps: After receiving the data evidence set, the third-party auditing end performs data integrity verification on the files in the dataset within the specified time period and sends the verification results to the data user; Batch Audit Challenge Steps: When a data user needs to conduct a batch audit, they send a batch audit request to a third-party auditing client based on their identity identifier; after receiving the batch audit request, the third-party auditing client generates batch audit challenge information based on the authentication message and sends it to the CSP; Batch audit evidence generation steps: After receiving the batch audit challenge information sent by the third-party auditing client, the CSP calculates the batch audit data proof of the data block based on the batch audit challenge information, generates a batch audit data proof set, and sends the batch audit data proof set to the third-party auditing client; Batch audit evidence verification steps: After receiving the batch audit data evidence set, the third-party auditing end performs data integrity verification on the files in the dataset for all user-specified time periods, and sends the verification results to the data users; The batch audit challenge steps specifically include: When a data user needs to audit time-period datasets of multiple users simultaneously, they send a batch audit request τ3={t, N} to a third-party auditing platform; where t is the time period; and N is the set of user identifiers, N = {N zid |1≤z≤U},N zid Let U be the identifier of the z-th user, and U be the number of users to be processed in the batch audit. After receiving the batch audit request τ3, the third-party auditing end generates a challenge index set Ψ'={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m Umax (t) }; where c is the number of challenge blocks, ψ l m is the index of the l-th challenge block; Umax (t) Let m be the number of data blocks contained in the largest file uploaded by U users within the time period t. Umax (t) To assign m to each of the U users max (t) The maximum number of data blocks contained in the file obtained after comparison; The third-party auditing platform generates an auxiliary random number set r within a time period t. (t) ={r k (t) |1≤k≤s}, then calculate w zk (t) =a z -r k (t) Obtain the set of random numbers W for the batch audit sectors within the time period t. (t) ={w zk (t) |1≤z≤U,1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t. zk (t) Let a be a random number corresponding to the k-th sector of the z-th user within the time period t. z Let be the signature parameter for the z-th user, and s be the number of sectors into which each data block is divided; Generate a corresponding random number v for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) The random number corresponding to the l-th challenge block within time period t; The third-party auditing end uses the challenge index set Ψ' and the batch audit sector random number set W within the time period t. (t) and challenge block random number set v (t) Obtain batch audit challenge information Challenge={t, Ψ', W (t) , v (t) , N}, and send the challenge information Challenge to CSP.
2. The integrity batch auditing method based on algebraic signature for time-period datasets according to claim 1, further comprising a parameter preprocessing step before the user data preprocessing step, specifically including: Obtain the pre-selected security parameter λ, generate a large prime number p, and a set of integers Z. p and a multiplicative cyclic group Z p * ; where λ and p satisfy the relation log2p≥λ; Define a homomorphic hash function H: Z p →Z p In this case, the homomorphic hash function H will hash the set of integers Z. p Elements in the mapping to Z p This ensures that homomorphism and collision resistance are satisfied; Public system parameters {p, Z p Z p * , H}.
3. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 2, characterized in that, The user data preprocessing steps specifically include: The identifier is N id ∈{0, 1} * Users first define the set of files to be uploaded within the time period t, i.e., the time period dataset, denoted as F. (t) ={F i (t) |1≤i≤n (t) }; where F i (t) Let n be the i-th file uploaded by the user within the time period t. (t) This represents the number of files uploaded within the time period t. File F i (t) Divide the file into blocks of the same size to obtain file data blocks F. i (t) ={F ij (t) |1≤j≤m max (t) Next, each data block is divided into s sectors, i.e., F. ij (t) ={F ijk (t) |1≤k≤s};where F ij (t) For the j-th data block of the i-th file uploaded within the time period t, F ij (t) ∈Z p m max (t) F represents the number of data blocks contained in the largest file uploaded by a single user within a time period t. ijk (t) F represents the k-th sector of the j-th data block of the i-th file uploaded within time period t. ijk (t) ∈Z p ; Randomly select a signature parameter a∈Z p * For each data block F of each file ij (t) Users calculate their tag σ based on algebraic signatures. ij (t) The set of data block labels within the time period t is obtained as σ. (t) = {σ ij (t) |1≤i≤n (t) , 1≤j≤m max (t) }; where σ ij (t) This refers to the data block label of the j-th data block of the i-th file within the time period t. File set F (t) and identity identifier N id Send the authentication message τ1={m to the CSP. max (t) , a, σ (t) , n (t) N id Send it to the third-party auditing end.
4. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 3, characterized in that, The single-user audit challenge steps specifically include: When a data user needs to verify the integrity of a time-period dataset, they send an audit request to a third-party auditing entity, i.e., τ2={t, N}. id }; After receiving the audit request, the third-party auditing end generates a challenge index set Ψ={ψ} containing c elements based on the authentication message τ1. l |1≤l≤c, c≤m max (t) }; where c is the number of challenge blocks, ψ l This is the index of the l-th challenge block; The third-party auditing platform generates an auxiliary random number set r within a time period t. (t) ={r k (t) Calculate w if |1≤k≤s} k (t) =ar k (t) Obtain the set of random numbers w for sectors within the time period t. (t) ={w k (t) |1≤k≤s};where r k (t) w is the auxiliary random number corresponding to the k-th sector within the time period t. k (t) This is a random number corresponding to the k-th sector within the time period t; Generate a corresponding random number v for each challenge index. l (t) Obtain the set of random challenge blocks v within the time period t. (t) ={v l (t) |1≤l≤c};where v l (t) The random number corresponding to the l-th challenge block within time period t; The third-party auditing module uses the challenge index set Ψ and the sector random number set w within the time period t. (t) and challenge random number set v (t) The challenge information is obtained: Chal = {t, Ψ, w} (t) , v (t) , N id The challenge information Chal will be sent to the CSP.
5. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 4, characterized in that, The single-user audit evidence generation step specifically includes: After receiving the challenge information Chal, CSP performs calculations based on the challenge information and generates a data proof P for each sector. k (t) The data proves the set P = {P} k (t) |1≤k≤s};where P k (t) Proof of the data for the k-th sector within time period t; The CSP sends the data proof set P to a third-party auditing entity.
6. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 5, characterized in that, The single-user audit evidence verification steps specifically include: After receiving the data proof set P, the third-party auditing end verifies the data proof set P and the data block label set σ within the time period t according to the integrity verification formula. (t) The integrity verification formula is as follows: ; in, Represents the ψ-th file of the i-th file within the time period t. l The data block labels of the challenge block; when the above integrity verification formula is true, the verification passes, indicating that the files within the time period t are stored completely; otherwise, the verification fails, indicating that some files within the time period t have been corrupted; The CSP sends the verification result to the data user.
7. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 1, characterized in that, The batch audit evidence generation step specifically includes: After receiving the bulk audit challenge information (Chall), the CSP calculates and generates a data proof (P) for each user on each sector based on the bulk audit challenge information. zk (t) The batch audit data proof set Г={P zk (t) |1≤z≤U,1≤k≤s};where P zk (t) Proof of data for the k-th sector of the z-th user within time period t; CSP sends the batch audit data proof set Г to the third-party auditing end.
8. The integrity batch auditing method based on algebraic signatures for time-segmented datasets according to claim 7, characterized in that, The batch audit evidence verification steps specifically include: After receiving the batch audit data proof set Г, the third-party auditing terminal uses the integrity verification formula and the batch audit data block label set Θ within the time period t. (t) ={σ zij (t) |1≤z≤U,1≤i≤n z (t) , 1≤j≤m zmax (t) Perform data integrity verification; where σ zij (t) Let n be the data block label of the j-th data block of the i-th file of the z-th user within the time period t. z (t) Let m be the number of files uploaded by the z-th user within time period t. zmax (t) Let be the number of data blocks contained in the largest file uploaded by the z-th user within time period t. The integrity verification formula is: ; in, This represents the ψth file of the z-th user within the time period t. l The data block labels of the challenge block; when the above integrity verification formula is true, the verification passes, indicating that the files of U users within the time period t are stored completely; otherwise, the verification fails, indicating that some files of U users within the time period t have been corrupted. The CSP sends the verification result to the data user.
Citation Information
Patent Citations
Cloud-storage batch auditing method based on MapReduce
CN105072086A
A block chain-based cloud data integrity auditing method
CN113312574A