Multi-cloud data possession proving method

By optimizing the storage location of data blocks in a multi-cloud environment through a dynamic weight model and consistency verification function, and constructing cross-cloud data fingerprints for efficient verification, the system solves the problems of low data integrity verification efficiency and difficulty in anomaly location in a multi-cloud storage environment. It also achieves automatic repair and load balancing, thereby improving the system's robustness and efficiency.

CN121770867APending Publication Date: 2026-03-31NAVAL UNIV OF ENG PLA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-30
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Traditional data ownership verification schemes fail to effectively coordinate multiple service providers in multi-cloud storage environments and lack efficient cross-cloud verification and anomaly location capabilities, resulting in low data integrity verification efficiency, difficulty in anomaly location, and high operation and maintenance costs.

Method used

The system selects storage locations for data blocks using a dynamic weighting model, constructs data fingerprints associated with cloud storage locations, combines risk scoring with random selection to generate challenge sets, uses a consistency verification function for comprehensive comparison, and triggers an automatic repair process when it determines that the data is not fully held.

Benefits of technology

It achieves load balancing and reliability optimization of multi-cloud storage systems, improves verification efficiency and anomaly detection sensitivity, supports high-precision data integrity status judgment and automatic repair, and reduces operation and maintenance complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121770867A_ABST
    Figure CN121770867A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-cloud data possession proving method, and relates to the field of cloud computing and data security. The method aims at solving the problems that in the multi-cloud storage environment, the data integrity verification efficiency is low, abnormity positioning is difficult, and damaged data is difficult to automatically repair. According to the method, a plurality of storage positions are intelligently distributed for data blocks through a dynamic weight model, and data fingerprints associated with multiple clouds are constructed; during verification, data block risk scores and random selection are fused to generate a challenge set, and each cloud service party calculates local response based on stored data blocks and fingerprints; the verifier aggregates all the responses, compares the responses with an expected value through a consistency verification function, and outputs a comprehensive verification result; if it is judged that the data are not completely held, an exception positioning and repairing mechanism is triggered. According to the method, efficient verification, accurate positioning and autonomous recovery of the integrity of the multi-cloud data are realized, and the reliability and security of cross-cloud storage of the data are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of cloud computing and data security, specifically a method for proving ownership of multi-cloud data. Background Technology

[0002] With the rapid development of cloud computing technology, more and more organizations and individuals are choosing to outsource data storage to the cloud to reduce local storage and management costs. To improve data reliability and availability and mitigate the risks of failures or service interruptions that may occur with a single service provider, adopting a multi-cloud storage strategy—distributing data across multiple different cloud service platforms—has become a significant trend. In this model, efficiently and reliably verifying whether data stored across multiple clouds is held completely and without error, without needing to retrieve all data, is a key challenge in ensuring data security and service trustworthiness. Data possession proof technology has emerged to address this need, allowing verifiers to remotely check the integrity of cloud data through lightweight challenge-response protocols. However, traditional PDP solutions are mostly designed for single-cloud environments. In complex multi-cloud storage architectures, they struggle to effectively coordinate multiple service providers, dynamically assess the reliability of storage nodes, and perform cross-cloud consistency verification and anomaly localization. Therefore, there is an urgent need for a data possession proof method that can adapt to dynamic multi-cloud environments, support intelligent storage node selection, achieve efficient cross-cloud verification, and automatically locate and repair anomalies.

[0003] The following problems exist in the existing technology:

[0004] Traditional data ownership proof schemes do not fully consider the heterogeneity of multi-cloud environments, resulting in uneven data distribution and low storage efficiency and reliability.

[0005] Traditional challenge mechanisms often use completely random selection of verification targets, lacking focused verification of high-risk data, resulting in low verification efficiency and difficulty in quickly detecting data anomalies;

[0006] Traditional data fingerprints are generated solely based on data content, without being associated with their multi-cloud storage locations and dynamic changes, making it difficult to support cross-cloud consistency verification.

[0007] Existing data integrity verification methods lack the ability to quickly locate abnormal cloud nodes when incomplete data is detected, relying on manual investigation, which results in low processing efficiency.

[0008] Existing data management solutions lack automated repair mechanisms when data is abnormal, relying on manual intervention for data recovery, which is costly and prone to errors. Summary of the Invention

[0009] The present invention aims to solve at least one of the technical problems existing in the prior art; to this end, the present invention proposes a multi-cloud data ownership proof method to solve the above-mentioned technical problem.

[0010] The first aspect of the present invention provides a method for proving ownership of multi-cloud data, comprising the following steps:

[0011] S1: Divide the original data file into multiple data blocks. Based on the status indicators of multiple cloud service providers, determine the storage location for each data block through a dynamic weight model, and map and store the data blocks to multiple cloud service providers.

[0012] S2: For each data block, construct a data fingerprint that is simultaneously associated with its multiple cloud storage locations. This data fingerprint is generated by the data block content, cross-cloud association perturbation factor, and random values ​​generated based on time-series parameters.

[0013] S3: The verifier generates a challenge set containing specific data block indices and their corresponding challenge factors by combining the risk scores calculated based on each data block with screening and random selection.

[0014] S4: After receiving the challenge set, each cloud service provider calculates a local holding response based on its actual stored data blocks and corresponding data fingerprints, combined with the challenge factors.

[0015] S5: After collecting all partial holding responses returned by cloud service providers, the verifier performs a comprehensive calculation and comparison of all partial holding responses through a consistency verification function, and outputs a comprehensive verification result on the data integrity holding status.

[0016] S6: Compare the comprehensive verification results with the preset threshold to determine whether the data is fully held; if it is determined that the data is not fully held, trigger the anomaly location mechanism and data repair process.

[0017] Preferably, step S1 includes the following steps:

[0018] The original data file is divided into n data blocks, forming a data block set. Monitoring multiple cloud service providers The status indicator, where k is the total number of cloud service providers;

[0019] For each data block ,in A dynamic weighting model is used for each cloud service provider. ,in Calculate a comprehensive storage weight score The calculation formula is as follows: Where p is the total number of status indicators. For cloud service providers The c-th standardized state index, , The dynamic weighting coefficients of each state index satisfy the following conditions: ;

[0020] Based on the comprehensive storage weight score For each data block Select multiple target cloud service providers and generate a data block location mapping table. , where 2≤r≤k; according to the data block location mapping table Map, each data block is stored to its corresponding multiple target cloud service providers.

[0021] Preferably, step S2 includes the following steps:

[0022] For each data block , Construct a data fingerprint that simultaneously associates with multiple cloud storage locations. The calculation formula is as follows:

[0023]

[0024] in, For data blocks The hash value obtained by performing a hash operation on the content. For use in associating data blocks Cross-cloud correlation disturbance factors across multiple cloud storage locations These are random values ​​generated based on time series parameters.

[0025] Preferably, in step S2, the method for calculating the cross-cloud correlation disturbance factor includes the following steps:

[0026] The cross-cloud associated disturbance factor The calculation method is as follows:

[0027]

[0028] in, For storing data blocks A collection of multiple cloud service providers, To cooperate with cloud service providers The associated secret perturbation factor, For data blocks In cloud service providers The storage location identifier in the file.

[0029] Preferably, step S3 includes the following steps:

[0030] For each data block obtained, the verifier Where i is the index of the data block and A risk score is calculated based on multiple preset risk factors. The multiple risk factors include data blocks. The risk score includes at least one of the following: the number of historical verification failures, the frequency of abnormal events from the cloud service provider, the storage duration, the access interval, and the frequency of cross-cloud storage location changes; The calculation formula is: Where F is the total number of risk factors, For data blocks In the The values ​​that can be taken on each risk factor ; Let be the weights of each risk factor, and satisfy . ;

[0031] Based on the preset risk scoring threshold Select from all data blocks that meet the requirements The data blocks, with their index i, constitute a high-risk index set. ; with a preset random selection probability From all data block index sets A random set of indices is formed by randomly selecting a portion of the indices. ; Set high-risk indexes With random index set Take the union of the sets to obtain the final set of challenge indices. ;

[0032] For the challenge index set Each index in Generate corresponding challenge factors Forming a set of challenges Based on the data block location mapping table (Map), the challenge set will be... Distribute to the corresponding cloud service provider.

[0033] Preferably, step S4 includes the following steps:

[0034] cloud service providers Receive Challenge Subset The aforementioned subset of challenges To the set of challenges The challenges selected through filtering are based on data blocks. Stored in In, that is ,in To store data blocks according to the data block location mapping table (Map). A collection of cloud service providers;

[0035] For each index According to data blocks exist The actual storage situation in the data determines a storage existence indicator value. When data blocks When fully existing ,otherwise ;

[0036] Based on data blocks Corresponding data fingerprint Challenge factors and storage existence indicator value Calculate the local holding response The calculation formula is as follows: ,in, N is a predefined large integer modulus.

[0037] Preferably, step S5 includes the following steps:

[0038] The verifier collects partial holding responses returned by all cloud service providers. ,in k represents the number of cloud service providers;

[0039] Calculate the actual aggregate value of all local holding responses. The calculation formula is as follows: Where N is a predefined large integer modulus;

[0040] According to the challenge set Each challenged data block Corresponding cross-cloud coupled data fingerprint And a data block location mapping table (Map) to calculate the expected aggregate value when a data block should theoretically be held completely. The calculation formula is as follows: ,in, To store data blocks according to Map A collection of cloud service providers;

[0041] The consistency verification metric V, used to measure the consistency between the actual and expected aggregate values, is calculated using the following formula: ,in, for Multiplicative inverse modulo N;

[0042] For each cloud service provider Calculate a response deviation metric The calculation formula is as follows: ,in, This indicates that it simultaneously belongs to the challenge set. And it should be stored by the cloud service provider. Data block index set;

[0043] Based on the consistency verification metric V and the response deviation measurement of all cloud service providers. Generate a comprehensive verification result R that includes information on the completeness and holding status of the data.

[0044] Preferably, step S6 includes the following steps:

[0045] The verifier compares the consistency verification metric V with a preset consistency threshold ϵ and measures the response deviation of all cloud service providers. Compare with the preset deviation threshold σ; when the condition is met... and If the original data file is fully held in the multi-cloud environment, it is determined that the original data file is not fully held in the multi-cloud environment; otherwise, it is determined that the original data file is not fully held in the multi-cloud environment.

[0046] When the original data file is determined to be incompletely held in a multi-cloud environment, the anomaly location mechanism and data repair process are triggered; calculations are performed for each cloud service provider. abnormal scores The calculation formula is as follows: ,in, , The preset weighting coefficients will be used to determine the outlier scores. Greater than the preset abnormal threshold cloud service providers Mark as an abnormal node;

[0047] For each node marked as abnormal Each data block stored on From the same data block Retrieve the correct copy from other non-abnormal cloud service providers; restore the retrieved correct copy to the original abnormal node. If the original faulty node becomes unavailable, the correct copy will be migrated to a new cloud service provider; at the same time, the data block location mapping table (Map) will be updated.

[0048] Compared with the prior art, the beneficial effects of the present invention are:

[0049] This invention uses a dynamic weighting model to evaluate the status indicators of each cloud service provider in real time and intelligently allocates storage locations for each data block, thereby achieving load balancing and reliability optimization and improving the overall robustness and efficiency of the multi-cloud storage system.

[0050] This invention introduces a challenge generation mechanism based on a combination of risk scoring and random selection to achieve targeted verification of high-risk data blocks, while maintaining randomness to prevent circumvention, thereby improving verification efficiency and anomaly detection sensitivity.

[0051] This invention enhances the uniqueness and tamper-proof capability of data identity by constructing a data fingerprint that simultaneously associates data content, cross-cloud storage location, and time-series random factors, providing a reliable foundation for cross-cloud consistency verification;

[0052] This invention achieves comprehensive comparison of multi-party responses and rapid location of abnormal nodes through a consistency verification function and response deviation measurement, supporting high-precision judgment of data integrity status and abnormal source.

[0053] When the present invention determines that the data is not fully held, it automatically triggers the anomaly location and repair process. By restoring the data from the normal node and updating the storage mapping, the system achieves self-repair and continuous availability, reducing the complexity of operation and maintenance and the risk of data loss. Attached Figure Description

[0054] Figure 1 This is a schematic diagram of the method flow of the present invention. Detailed Implementation

[0055] The technical solution of the present invention will be clearly and completely described below with reference to the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0056] Please see Figure 1 This invention provides a method for proving ownership of multi-cloud data, comprising the following steps:

[0057] S1: Divide the original data file into multiple data blocks. Based on the status indicators of multiple cloud service providers, determine the storage location for each data block through a dynamic weight model, and map and store the data blocks to multiple cloud service providers.

[0058] S2: For each data block, construct a data fingerprint that is simultaneously associated with its multiple cloud storage locations. This data fingerprint is generated by the data block content, cross-cloud association perturbation factor, and random values ​​generated based on time-series parameters.

[0059] S3: The verifier generates a challenge set containing specific data block indices and their corresponding challenge factors by combining the risk scores calculated based on each data block with screening and random selection.

[0060] S4: After receiving the challenge set, each cloud service provider calculates a local holding response based on its actual stored data blocks and corresponding data fingerprints, combined with the challenge factors.

[0061] S5: After collecting all partial holding responses returned by cloud service providers, the verifier performs a comprehensive calculation and comparison of all partial holding responses through a consistency verification function, and outputs a comprehensive verification result on the data integrity holding status.

[0062] S6: Compare the comprehensive verification results with the preset threshold to determine whether the data is fully held; if it is determined that the data is not fully held, trigger the anomaly location mechanism and data repair process.

[0063] Specifically, the process begins by dividing the original data file into multiple data blocks. A dynamic weighting model is used to analyze the real-time status indicators of each cloud service provider, calculating optimal storage locations for each data block and generating a location mapping table to achieve distributed data storage. Next, a data fingerprint is constructed for each data block, incorporating its content, cross-cloud storage location correlation factors, and time-series random values. Then, the verifier generates and distributes a set of challenges targeting specific data block indexes and challenge factors by filtering and randomly selecting risk scores calculated from each data block. Each cloud service provider calculates a local possession proof response based on the received challenges, the locally stored data block, and its fingerprint. After collecting all responses, the verifier performs comprehensive calculations and comparisons using a consistency verification function, outputting a comprehensive verification result of the data's complete possession status. Finally, this result is compared with a preset threshold to determine data integrity; if it fails, an abnormal node location and automatic data repair process is triggered.

[0064] In one embodiment of the present invention, step S1 includes the following steps:

[0065] The original data file is divided into n data blocks, forming a data block set. Monitoring multiple cloud service providers The status indicator, where k is the total number of cloud service providers;

[0066] For each data block ,in A dynamic weighting model is used for each cloud service provider. ,in Calculate a comprehensive storage weight score The calculation formula is as follows: Where p is the total number of status indicators. For cloud service providers The c-th standardized state index, , The dynamic weighting coefficients of each state index satisfy the following conditions: ;

[0067] Based on the comprehensive storage weight score For each data block Select multiple target cloud service providers and generate a data block location mapping table. , where 2≤r≤k; according to the data block location mapping table Map, each data block is stored to its corresponding multiple target cloud service providers.

[0068] Specifically, a dynamic weighting model based on real-time status indicators and preset policy rules intelligently selects multiple optimal cloud storage locations for each data block. The original data file D to be stored is obtained and divided into n data blocks of equal size or divided according to content structure; the set of data blocks after division is denoted as: Each data block The data can be divided into continuous or logical segments of the original data file; the data block size can be determined based on storage efficiency, network transmission cost and verification overhead, for example, fixed at 4KB or 1MB.

[0069] There are k cloud service providers, denoted as set: Each cloud service provider The status is evaluated using p real-time monitored metrics; these metrics include, but are not limited to: current availability (e.g., ping response time), available storage capacity, recent read / write latency, historical failure frequency, service cost (e.g., cost per GB of storage), geographic location (related to network latency), and security compliance level (e.g., encryption support, authentication mechanisms); for each status metric... Standardize the values ​​to ensure they fall within the same dimension (e.g., the [0,1] interval). Standardization methods can include min-max normalization or z-score standardization, depending on the nature of the indicator.

[0070] The preset strategy rules consist of two parts: weight configuration rules and dynamic adjustment rules. Specifically, the weight configuration rules involve managers setting initial dynamic weight coefficients for each status indicator. and satisfy The specific values ​​of the coefficients directly correspond to specific business objectives. For example, under a cost-first strategy, the weight of the service cost indicator can be set to 0.6, while the weights of other indicators can be reduced accordingly. Under an availability-first strategy, the availability and failure frequency indicators can be assigned weights of 0.4 and 0.3, respectively. During operation, these coefficients can be automatically adjusted according to dynamic adjustment rules. The dynamic adjustment rules define a set of triggering conditions and corresponding operations for automatically adjusting weight coefficients at runtime. The triggering conditions are based on the analysis of real-time monitored status indicators or their statistical characteristics. For example, a rule can be defined as follows: if the average request latency of a cloud service provider exceeds 200 milliseconds for three consecutive monitoring periods, then the weight of its performance indicators in all relevant evaluations will be automatically reduced by 50%.

[0071] The core calculation of the dynamic weight model lies in each data block and each cloud service provider Calculate a comprehensive storage weight score This reflects the preference for storing data blocks in the preferred storage location provided by the cloud service provider; its calculation formula is: ,in, For cloud service providers The standardized value of the c-th state index; The dynamic weight coefficient of the c-th state index satisfies .

[0072] For each data block Based on the comprehensive storage weight score of all its corresponding cloud service providers. Select the r cloud service providers with the highest overall storage weight scores as the target storage locations for the data blocks, where 2 ≤ r ≤ k (ensuring that each data block is stored on at least two different cloud service providers). After selecting the target storage locations for the data blocks, generate a data block location mapping table: This table records each data block. and its corresponding set of target cloud service providers.

[0073] Based on the data block location mapping table (Map), each data block... Upload and store the data blocks to their respective r target cloud service providers. During storage, ensure that data blocks can be encrypted before uploading (e.g., using AES encryption), with the key managed by the data owner; ensure that each data block copy on each cloud service provider has a unique identifier (e.g., a combination of data block index i and cloud service provider j identifier). After storage, record the actual storage location of each data block (i.e., ...). The data includes storage time and metadata, and updates the data block location mapping table Map. The metadata mainly includes information generated during the upload and storage process for data verification and management (e.g., storage confirmation credentials returned by the storage service provider, assigned location identifiers, timestamps, etc.).

[0074] In one embodiment of the present invention, step S2 includes the following steps:

[0075] For each data block , Construct a data fingerprint that simultaneously associates with multiple cloud storage locations. The calculation formula is as follows:

[0076]

[0077] in, For data blocks The hash value obtained by performing a hash operation on the content. For use in associating data blocks Cross-cloud correlation disturbance factors across multiple cloud storage locations These are random values ​​generated based on time series parameters.

[0078] Specifically, for each data block Construct a unique and secure data fingerprint This data fingerprint not only relies on the content of the data block, but also associates it with multiple cloud storage locations through an encryption mechanism, and introduces a time-sensitive random factor to prevent replay attacks and forgery; the core formula is: ,in, This refers to a cryptographic hash function (such as SHA-256). For data blocks Content hash value, For cross-cloud correlated disturbance factors, For random values ​​generated based on time series parameters, the symbol is... This indicates data concatenation.

[0079] For data blocks Calculate the hash value of the original content (or the ciphertext if it is encrypted): The hash function used should be collision resistant and one-way, such as SHA-256, SHA-3, etc.

[0080] For each data block Generate a random value that changes over time. This ensures that fingerprints generated from the same data block at different times are different; the calculation method is as follows: ,in, The current system timestamp (such as a Unix timestamp); A random number or counter associated with data block index i; The secret seed held by the verifier is known only to the trusted module; this secret seed is used to ensure... The generation of fingerprints has sufficient randomness and confidentiality to prevent attackers from predicting or replaying data fingerprints.

[0081] Each cloud service provider In storage data blocks At the same time, store the data fingerprint corresponding to the data block. Data fingerprints can be stored in a cloud-based metadata store or bundled with data blocks. (Time sequence parameters) Data fingerprints need to be recalculated when the strategy or periodic update is performed. It also updates the data fingerprint on all cloud service providers that store the data block.

[0082] In one embodiment of the present invention, the method for calculating the cross-cloud correlation perturbation factor in step S2 includes the following steps:

[0083] The cross-cloud associated disturbance factor The calculation method is as follows:

[0084]

[0085] in, For storing data blocks A collection of multiple cloud service providers, To cooperate with cloud service providers The associated secret perturbation factor, For data blocks In cloud service providers The storage location identifier in the file.

[0086] Specifically, cross-cloud correlation perturbation factors Used to transfer data blocks Cryptographically bind data fingerprints to multiple cloud service providers where it is actually stored to ensure data fingerprinting. It depends not only on the data content, but also on all storage locations of that data block. (Computation) The required data includes the hash value of the data block content. ; data block A collection of storage cloud service providers This originates from the data block location mapping table (Map); each cloud service provider Corresponding secret perturbation factor ; data block Each cloud service provider Storage location identifier on .

[0087] For each cloud service provider Assign a unique secret perturbation factor This value should be a cryptographically random number of sufficient length (e.g., 256 bits), generated and securely stored by a trusted party (e.g., the data owner or authentication server) using a cryptographically secure random number generator. Not publicly available; used only for data fingerprint generation and verification; updated regularly. To enhance security, the data fingerprints of all affected data blocks must be recalculated synchronously during updates.

[0088] Unique identifier data block In cloud service providers The storage location, such as a full path in object storage, a primary key or index value in a database, or a block handle in a distributed file system; this identifier is determined when the data block is uploaded and recorded in the metadata management system.

[0089] For each data block Calculate the cross-cloud correlation perturbation factor The calculation formula is as follows: For sets Each cloud service provider For each Calculate an intermediate hash value : ,in For a pre-defined cryptographic hash function (such as SHA-256). This indicates data concatenation; data needs to be concatenated before calculation. , and Convert to a definite byte sequence; all intermediate values ​​obtained Perform a bitwise XOR operation to obtain the final cross-cloud correlation perturbation factor: ,in Represents a set Size (i.e., storage data block) (Number of cloud service providers).

[0090] In one embodiment of the present invention, step S3 includes the following steps:

[0091] For each data block obtained, the verifier Where i is the index of the data block and A risk score is calculated based on multiple preset risk factors. The multiple risk factors include data blocks. The risk score includes at least one of the following: the number of historical verification failures, the frequency of abnormal events from the cloud service provider, the storage duration, the access interval, and the frequency of cross-cloud storage location changes; The calculation formula is: Where F is the total number of risk factors, For data blocks In the The values ​​that can be taken on each risk factor ; Let be the weights of each risk factor, and satisfy . ;

[0092] Based on the preset risk scoring threshold Select from all data blocks that meet the requirements The data blocks, with their index i, constitute a high-risk index set. ; with a preset random selection probability From all data block index sets A random set of indices is formed by randomly selecting a portion of the indices. ; Set high-risk indexes With random index set Take the union of the sets to obtain the final set of challenge indices. ;

[0093] For the challenge index set Each index in Generate corresponding challenge factors Forming a set of challenges Based on the data block location mapping table (Map), the challenge set will be... Distribute to the corresponding cloud service provider.

[0094] Specifically, the data ownership verification party (either the data owner or a trusted third party) verifies the ownership of each data block. Maintain a risk profile that records historical observations and statistics of a series of risk factors used to assess the risk of data block loss or corruption. Calculate a quantified risk score based on F predefined risk factors. This is used to indicate the likelihood of a data block being lost or corrupted; the formula is as follows: ,in, For data blocks The original observation or statistical value on the f-th risk factor; Yes The standardized values ​​typically map factors of different dimensions to the interval [0,1] or [-1,1], for example, using min-max normalization or Z-score standardization; Let f be the weight of the f-th risk factor, satisfying The weights can be set by the system administrator according to the security policy and can be dynamically adjusted; F is the total number of risk factors.

[0095] Common risk factors include, but are not limited to, the number of historical verification failures, the frequency of abnormal events from the cloud service provider, storage duration, access interval, and the frequency of cross-cloud storage location changes. The number of historical verification failures is recorded in data blocks. Number of times it was detected as missing or corrupt in recent data possession verifications It can be standardized as ,in This is a set maximum count limit. The frequency of abnormal events for each cloud service provider is monitored. Frequency of abnormal events (such as downtime, high latency, checksum errors) For data blocks stored on multiple cloud service providers The average or highest frequency of all cloud service providers storing that data block can be taken as... Storage duration is the number of data blocks. Length of time since initial storage to the cloud service provider Generally, the longer a data block has been stored, the higher the likelihood of silent errors due to hardware aging, software upgrades, etc.; a threshold can be set. Standardization The access interval is the time interval since the last successful read / write or data ownership verification operation on this data block. Data blocks that haven't been accessed for a long time may receive less attention, and their integrity may be overlooked; the standardization method is the same as the standardization method for storage duration. The frequency of cross-cloud storage location changes is the data block. The storage location (i.e., the set) Frequency of changes due to migration, optimization, and other operations Frequent migrations may introduce the risk of data inconsistency.

[0096] Preset a risk scoring threshold (For example, 0.7, this threshold can be set based on historical verification results, business risk tolerance, or empirical values, and continuously calibrated during system operation); risk scoring of all data blocks. Comparison with risk scoring thresholds: This set contains indexes of all data blocks considered "high-risk". To ensure the unpredictability of the challenge data block selection process and prevent malicious cloud service providers from maintaining only high-risk data blocks while ignoring other data, random sampling is introduced; a random selection probability is set. (For example, 0.05, or 5%, this probability can be set and adjusted based on the trade-off between security and verification overhead); for the entire data block index set. For each index i in the array, with probability Select them into a random set; the final set is denoted as . The set of high-risk indices is combined with the set of random indices to form the set of challenge indices for this verification. .

[0097] For the challenge index set For each index i in the algorithm, the verifier needs to generate a corresponding challenge factor. Challenge factors are typically random numbers (e.g., randomly selected from a large integer range) used to add randomness to the proof computation (i.e., the subsequent computation of local holding responses by the cloud service provider and the aggregation verification by the verifier) ​​to prevent the cloud service provider from pre-computing the proof; after all challenge factors are generated, a structured challenge set is formed: .

[0098] The verifier uses the data block location mapping table (Map) to set the global challenge set. The data is split and distributed to the corresponding cloud service providers; specifically, the verifier checks... Each challenge (i.e., a pair of tuples) (This represents a challenge request for a data block); if, according to the Map, the data block... Stored in Up (i.e.) If so, then the challenge needs to be sent to... Respond; provide all necessary responses The challenge items in the response are extracted and sent to [the relevant entity]. Challenge subset : The verification party will Send to the cloud service provider via a secure channel (such as TLS) .

[0099] In one embodiment of the present invention, step S4 includes the following steps:

[0100] cloud service providers Receive Challenge Subset The aforementioned subset of challenges To the set of challenges The challenges selected through filtering are based on data blocks. Stored in In, that is ,in To store data blocks according to the data block location mapping table (Map). A collection of cloud service providers;

[0101] For each index According to data blocks exist The actual storage situation in the data determines a storage existence indicator value. When data blocks When fully existing ,otherwise ;

[0102] Based on data blocks Corresponding data fingerprint Challenge factors and storage existence indicator value Calculate the local holding response The calculation formula is as follows: ,in, N is a predefined large integer modulus.

[0103] Specifically, cloud service providers Receive a subset of challenges from the verifier via a secure communication channel (such as TLS). The structure of this subset is as follows: ,in, It is the verification party's requirement The set of data block indexes that is proved to satisfy Each index Corresponding to a data block ; This is the challenge factor corresponding to index i, a large integer randomly generated by the verifier (e.g., a 128-bit or 256-bit random number). The cloud service provider parses and reads this. Obtain the list of data block indexes that need to be verified and the corresponding challenge factors.

[0104] For each challenged data block index cloud service providers Data blocks need to be checked Does it exist completely and correctly in its storage system? Determine the data block based on the data block location mapping table (or local storage metadata). exist Specific location identifier in storage system This identifier is the same as the one used when generating the data fingerprint. Consistent. Try from storage location. Retrieve data blocks If the corresponding storage object does not exist at that location, or the object is corrupted and cannot be read, the data block is considered non-existent. To ensure that the returned partial holding response is based on correct data, the cloud service provider can recalculate the data block locally. hash value It is then compared with stored metadata (such as the hash value used when the data block fingerprint was generated); if the hash value does not match, it indicates that the data block content has been tampered with or corrupted.

[0105] Based on the results of the checks on the existence and integrity of the data blocks, a binary indicator value is set for each challenged data block. If data block exist If the above content exists completely and is correct (passes integrity verification), then... If data block exist If the content does not exist, cannot be read, or is incomplete / tampered with, then... .

[0106] cloud service providers Each challenged data block needs to be obtained. Corresponding data fingerprint Data fingerprint It is calculated and stored when the data block is stored, usually as metadata stored with the data block, or stored in a separate metadata service. For each data block index... The cloud service provider retrieves data from local storage or metadata services. If it cannot be found If this happens, the data block status can be considered abnormal, and in this case, you can set... .

[0107] Local holding response The calculation formula is: ,in, This indicates a series of multiplication operations; It is a data block Data fingerprint; It is the challenge factor for the corresponding data block; It stores the existence indicator value (0 or 1); N is a predefined large integer modulus, usually a large prime number or the product of two large prime numbers (RSA modulus), with a sufficient number of bits (such as 2048 bits or more) to ensure security.

[0108] cloud service providers The calculated local holding response Encapsulated in a response message, it is returned to the verifier via a secure channel; the response message should at least include the cloud service provider identifier j and a locally held response value. .

[0109] In one embodiment of the present invention, step S5 includes the following steps:

[0110] The verifier collects partial holding responses returned by all cloud service providers. ,in k represents the number of cloud service providers;

[0111] Calculate the actual aggregate value of all local holding responses. The calculation formula is as follows: Where N is a predefined large integer modulus;

[0112] According to the challenge set Each challenged data block Corresponding cross-cloud coupled data fingerprint And a data block location mapping table (Map) to calculate the expected aggregate value when a data block should theoretically be held completely. The calculation formula is as follows: ,in, To store data blocks according to Map A collection of cloud service providers;

[0113] The consistency verification metric V, used to measure the consistency between the actual and expected aggregate values, is calculated using the following formula: ,in, for Multiplicative inverse modulo N;

[0114] For each cloud service provider Calculate a response deviation metric The calculation formula is as follows: ,in, This indicates that it simultaneously belongs to the challenge set. And it should be stored by the cloud service provider. Data block index set;

[0115] Based on the consistency verification metric V and the response deviation measurement of all cloud service providers. Generate a comprehensive verification result R that includes information on the completeness and holding status of the data.

[0116] Specifically, the verifier waits for and collects data from all k cloud service providers. The response from each cloud service provider; The returned response should at least include its local holding response value. The verifier must confirm that it has received responses from all target cloud service providers, or wait until the preset timeout period; for cloud service providers that do not respond within the timeout period, they can be removed from the verification process. Treat them as invalid or mark them as abnormal; the specific strategy is set by the administrator. Organize all received local holding response values ​​into a set. .

[0117] Actual aggregate value This represents the sum of the partial responses returned by all cloud service providers based on their actual storage state, and its calculation formula is the product of all partial holding response values ​​modulo N: ,in, For cloud service providers The returned local holding response value; N is a predefined large integer modulus; The calculations must be performed within a modular arithmetic system to prevent numerical overflow and ensure cryptographic security. This indicates a series of multiplication operations.

[0118] Expected aggregate value This represents the theoretical value of the aggregated partial responses that all cloud service providers should return under ideal conditions, i.e., when all challenged data blocks are intact in all their preset cloud storage locations; its calculation depends on the set of challenges. Data block fingerprint And the data block location mapping table (Map); the calculation formula is: ,in, It is a challenge index set (from) ); It is a data block Data fingerprint; It is the challenge factor for the corresponding data block; The data blocks that should be stored are determined based on the mapping table (Map). A collection of cloud service providers; It is a set The size of the data block The preset number of copies; N is a predefined large integer modulus.

[0119] The consistency verification metric V is used to quantify the actual aggregate value. With expected aggregate value The difference between them is calculated using the following formula: ,in, yes Multiplicative inverse modulo N; the definition of multiplicative inverse is that in modulo N operations, it satisfies... integers .

[0120] If all data blocks are held intact, theoretically each cloud service provider should return a correct response, then... ,thereby If any data block is lost or corrupted in any of its pre-defined storage locations, it will result in... and Inconsistency causes V to deviate from 1 (modulo N); the degree and pattern of V deviating from 1 contain information about the data integrity status.

[0121] To identify potentially problematic cloud service providers, the verifier needs to calculate for each cloud service provider. Response deviation measurement This metric reflects the local holding response value returned by the cloud service provider. The difference between this value and the theoretical local hold response value that would theoretically be made to a challenged data block stored therein; its calculation formula is as follows: ,in, yes The returned local holding response value; This indicates that it simultaneously belongs to the challenge set. And it should be stored by the cloud service provider. Data block index set; It is a cloud service provider Theoretically, the local holding response value should be calculated when all challenged data blocks in its storage are intact (i.e., when all...). time Theoretical value).

[0122] The comprehensive verification result R is a structured output that integrates the global consistency status and deviation information of individual cloud services. R includes a global consistency metric V for assessing overall data integrity, and a set of deviation metrics for each cloud service provider to identify those suspected of having problems. The auxiliary status information may include the index set of this challenge. Actual aggregate value Expected aggregate value wait.

[0123] In one embodiment of the present invention, step S6 includes the following steps:

[0124] The verifier compares the consistency verification metric V with a preset consistency threshold ϵ and measures the response deviation of all cloud service providers. Compare with the preset deviation threshold σ; when the condition is met... and If the original data file is fully held in the multi-cloud environment, it is determined that the original data file is not fully held in the multi-cloud environment; otherwise, it is determined that the original data file is not fully held in the multi-cloud environment.

[0125] When the original data file is determined to be incompletely held in a multi-cloud environment, the anomaly location mechanism and data repair process are triggered; calculations are performed for each cloud service provider. abnormal scores The calculation formula is as follows: ,in, , The preset weighting coefficients will be used to determine the outlier scores. Greater than the preset abnormal threshold cloud service providers Mark as an abnormal node;

[0126] For each node marked as abnormal Each data block stored on From the same data block Retrieve the correct copy from other non-abnormal cloud service providers; restore the retrieved correct copy to the original abnormal node. If the original faulty node becomes unavailable, the correct copy will be migrated to a new cloud service provider; at the same time, the data block location mapping table (Map) will be updated.

[0127] Specifically, the verifier will calculate the consistency verification metric V and measure the response deviations of all cloud service providers. It is compared with two pre-set thresholds to make a binary determination (full holding or incomplete holding). A complete holding is determined if and only if both conditions are met. and When the original data file is fully held in a multi-cloud environment, it is determined that it is not fully held; otherwise, it is determined that it is not fully held. It is a preset consistency threshold, which is a positive decimal (e.g., Its value can be set according to the tolerance for calculation error, the accuracy of numerical calculation, and experimental experience. As can be seen from the definition of the consistency verification index V, if the actual aggregate value... With expected aggregate value They are equal modulo N, that is Then, according to the properties of the multiplicative inverse, we have ; It is a preset deviation threshold, which is a positive integer (e.g., =1, this threshold is usually based on the integer difference. The tolerance setting defines the response value for a single cloud service provider. The maximum acceptable absolute deviation between its theoretical value and the actual value; It is the absolute value of the difference between ordinary integers. If its value exceeds If so, it is considered that the storage status of the cloud service provider is clearly abnormal.

[0128] When it is determined that the original data file is not fully held, an anomaly location mechanism is immediately triggered to identify the problematic cloud service provider (referred to as the anomalous node). The location method is for each cloud service provider... Calculate a quantified outlier score Abnormal scores The calculation formula is: ,in, A measure of response deviation for the cloud service provider; This will be the largest deviation metric among all cloud service providers. Normalize to the [0,1] interval (when all When both are 0, this item is defined as 0). It is a normalized value of the degree of deviation from global consistency. ≥ hour, A value greater than or equal to 1 indicates that global verification has failed; It is a preset weighting coefficient ( ≥0) is used to adjust the influence of global consistency bias on outlier scores. For example, if the bias of individual clouds is considered more important than global consistency, it can be adjusted. Set it to a value less than 1 (e.g., 0.5); if you consider both to be equally important, you can set it to 1.

[0129] After calculating the anomaly scores for all cloud service providers Then, it is compared with a preset anomaly threshold. Compare, if Then the cloud service provider Mark as an abnormal node, otherwise Considered a normal node; abnormal threshold Based on the tolerance for errors, historical false alarms (i.e., the frequency and pattern of normal nodes being incorrectly marked as abnormal, based on statistics from previous verification logs and review records), and Experimental calibration of the values ​​is performed; for example, it can be initially set to... =0.8; A reasonable strategy is, when =1 and global verification failed ( ≥ At that time, all cloud service providers It must be at least 1, therefore if set If the value is less than 1, then all cloud service providers will be flagged, which may be too strict; therefore The settings need to be consistent with Consider in conjunction with the decision-making logic. Generate a list of exception nodes: .

[0130] For each marked abnormal node This requires repairing the stored, lost, or corrupted data blocks; the principle of repair is to utilize data redundancy by obtaining correct copies from other normal cloud service providers for recovery. For abnormal nodes... Traverse the entire data block set Based on the data block location mapping table (Map), find all data stored in... The data blocks on the table form a list of data to be repaired. ,in It is a storage data block A collection of cloud service providers.

[0131] For lists Each data block in From the storage set of this data block In the middle, cloud service providers that have been marked as abnormal (including (Itself), to obtain a set of cloud service providers that can provide the correct copy. ;from Choose any available and healthy cloud service provider. (For example, select the one with the fastest recent response or the lowest load), to Initiate data block Download requests to retrieve stored data blocks. A correct copy (i.e., a copy that has not been damaged or tampered with).

[0132] After obtaining the correct copy, perform data repair operations; if the original abnormal node... If available (e.g., network connectivity, service normal), re-upload the downloaded correct copy to the original faulty node. The original storage location Overwrite potentially corrupted files or create new files; if the original abnormal node... If a service is unavailable (e.g., due to continuous downtime or permanent removal), a new cloud service provider needs to be selected from the set of alternative cloud service providers (e.g., the available cloud service providers remaining after removing the abnormal node set A from the cloud service provider set C, or other available cloud service providers dynamically registered by the system) based on a dynamic weighting model or a simple strategy. Upload the correct copy to the new cloud service provider. And record its new storage location identifier. In the data block location mapping table Map, In Replace with .

[0133] After successfully completing a data block After the repair, update the relevant metadata; specifically, if the data block content is repaired and its data fingerprint is updated... Dependent on time factor Then it needs to be recalculated and updated. If the storage location changes (e.g., the cloud service provider changes), the corresponding storage location identifier needs to be updated. or Update the data block location mapping table (Map) to ensure that it reflects the latest and correct storage location of the data blocks.

[0134] The above embodiments are only used to illustrate the technical methods of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical methods of the present invention without departing from the spirit and scope of the technical methods of the present invention.

Claims

1. A method for proving ownership of multi-cloud data, characterized in that, The method comprises the following steps: S1: dividing an original data file into a plurality of data blocks, determining a storage location for each data block based on a state index of a plurality of cloud service providers through a dynamic weight model, and mapping and storing the data blocks to the plurality of cloud service providers; S2: for each data block, constructing a data fingerprint simultaneously associated with a plurality of cloud storage locations of the data block, the data fingerprint being generated by a data block content, a cross-cloud association disturbance factor, and a random value generated based on a timing parameter; S3: a verifier generates a challenge set containing a specific data block index and a corresponding challenge factor through screening and random selection according to a risk score calculated for each data block; S4: each cloud service provider calculates a local possession response according to the data block actually stored and the corresponding data fingerprint in combination with the challenge factor after receiving the challenge set; S5: the verifier collects all the local possession responses returned by the cloud service providers, and then performs comprehensive calculation and comparison on all the local possession responses through a consistency verification function to output a comprehensive verification result about the complete possession state of the data; S6: comparing the comprehensive verification result with a preset threshold to determine whether the data is completely possessed; if it is determined that the data is not completely possessed, an abnormal positioning mechanism and a data repair process are triggered.

2. The method of claim 1, wherein, The S1 comprises the following steps: Divide the original data file into n data blocks to form a data block set ; monitor state indicators of a plurality of cloud service providers , k is the total number of cloud service providers; For each data block wherein a dynamic weight model is provided for each cloud service provider wherein a comprehensive storage weight score is calculated The formula is: wherein p is the total number of state indicators, the cth normalized state indicator of the cloud service provider , , is the dynamic weight coefficient of each state indicator and satisfies ; According to the comprehensive storage weight score For each data block Selecting a plurality of target cloud service providers, and generating a data block location mapping table Wherein 2≤r≤k; according to the data block location mapping table Map, storing each data block to its corresponding plurality of target cloud service providers.

3. The method of claim 1, wherein, The S2 comprises the following steps: For each data block , , a data fingerprint is constructed that simultaneously relates to multiple cloud storage locations thereof , the formula of which is: wherein, is a hash value obtained by performing a hash operation on the content of a data block , is a cross-cloud association perturbation factor for associating a plurality of cloud storage locations where a data block is stored, is a random value generated based on a timing parameter.

4. The method of claim 3, wherein, In the S2, the calculation method of the cross-cloud association disturbance factor comprises the following steps: The cross-cloud association perturbation factor The calculation method is as follows: wherein is a set of cloud service providers storing the data block , is a secret perturbation factor associated with the cloud service provider , is a storage location identifier for the data block in the cloud service provider .

5. The method of claim 1, wherein, The S3 comprises the following steps: For each data block obtained, the verifier Where i is the index of the data block and A risk score is calculated based on multiple preset risk factors. The multiple risk factors include data blocks. The risk score includes at least one of the following: the number of historical verification failures, the frequency of abnormal events from the cloud service provider, the storage duration, the access interval, and the frequency of cross-cloud storage location changes; The calculation formula is: Where F is the total number of risk factors, For data blocks In the The values ​​that can be taken on each risk factor ; Let be the weights of each risk factor, and satisfy . ; According to a preset risk score threshold , a data block satisfying is selected from all data blocks, and an index i thereof constitutes a high-risk index set ; a part of indexes is randomly selected from all data block index sets with a preset random selection probability to constitute a random index set ; a union of the high-risk index set and the random index set is taken to obtain a final challenge index set ; For the challenge index set Each index in Generate corresponding challenge factors Forming a set of challenges Based on the data block location mapping table (Map), the challenge set will be... Distribute to the corresponding cloud service provider.

6. The method of claim 1, wherein, The S4 comprises the following steps: Cloud service provider Receiving a subset of challenges ; the subset of challenges From a set of challenges , the filtering condition being a data block Stored in , i.e. , wherein The cloud service provider stores data blocks according to a data block location mapping table Map A set of cloud service providers For each index , a storage existence indication value is determined according to the actual storage condition of the data block in , when the data block is complete , otherwise ; Based on data blocks Corresponding data fingerprints Challenge factor And a storage presence indication value Calculate local possession response The calculation formula is: Wherein, N is a predefined large integer modulus.

7. The method of claim 1, wherein, The S5 comprises the following steps: The verifier collects all the partial possession responses returned by the cloud service providers wherein k is the number of cloud service providers; calculating an actual aggregate value of all local stickiness responses with the formula: where N is a predefined large integer modulus; According to the challenge set each challenged data chunk corresponding cross-cloud coupled data fingerprints and a data chunk location mapping table Map, the expected aggregated value when the data chunk should be held in theory The calculation formula is: Wherein, The cloud service provider according to the Map storage data chunk Set; A consistency verification index V is calculated for measuring the consistency between the actual aggregation value and the expected aggregation value, and the calculation formula is: wherein, is multiplicative inverse under modulo N; for each cloud service provider computing a response bias metric whose formula is: wherein, denotes the set of challenges that belong simultaneously to the set of challenges and should be stored in the set of data block indices of the cloud service provider ; based on the consistency verification indicator V and the response bias measure of all cloud service providers a comprehensive verification result R containing data integrity possession status information is generated.

8. The method of claim 1, wherein, The S6 comprises the following steps: The verifier compares the consistency verification indicator V with a preset consistency threshold ε, and compares the response deviation metrics of all cloud service providers with a preset deviation threshold σ; when the following conditions are met and , it is determined that the original data file is completely held in the multi-cloud environment, otherwise it is determined that the original data file is not completely held in the multi-cloud environment; When the original data file is determined to be incompletely held in a multi-cloud environment, the anomaly location mechanism and data repair process are triggered; calculations are performed for each cloud service provider. abnormal scores The calculation formula is as follows: ,in, , The preset weighting coefficients will be used to determine the outlier scores. Greater than the preset abnormal threshold cloud service providers Mark as an abnormal node; For each abnormal node marked Each data block stored in the upper , retrieve the correct copy from other non-abnormal cloud service providers storing the same data block ; re-store the retrieved correct copy to the original abnormal node ; if the original abnormal node is unavailable, migrate the correct copy to a new cloud service provider; and update the data block location mapping table Map.