CN114398648A - Practical cloud storage method and system supporting dynamic operation and multi-user storage certification - Google Patents

Practical cloud storage method and system supporting dynamic operation and multi-user storage certification Download PDF

Info

Publication number
CN114398648A
CN114398648A CN202111505808.1A CN202111505808A CN114398648A CN 114398648 A CN114398648 A CN 114398648A CN 202111505808 A CN202111505808 A CN 202111505808A CN 114398648 A CN114398648 A CN 114398648A
Authority
CN
China
Prior art keywords
data
cloud
user
file
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111505808.1A
Other languages
Chinese (zh)
Other versions
CN114398648B (en
Inventor
姜涛
孔藤
徐淑浩
马建峰
孟文娟
徐芷君
成琼
黄一凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202111505808.1A priority Critical patent/CN114398648B/en
Publication of CN114398648A publication Critical patent/CN114398648A/en
Application granted granted Critical
Publication of CN114398648B publication Critical patent/CN114398648B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention belongs to the technical field of storage security, and discloses a practical cloud storage method and a practical cloud storage system supporting dynamic operation and multi-user storage certification, wherein the practical cloud storage method supporting the dynamic operation and the multi-user storage certification comprises the following steps: the system initializes all participants according to a Setup protocol, wherein the participants comprise users, cloud service providers and third party verifiers; triggering an Upload protocol when a client wants to Upload data; the POR protocol is used for assisting the verifier to verify the integrity of data and copies in the cloud by the cloud user; the Update protocol is used for independently updating files according to own will in a system for realizing data deduplication by a cloud user. The invention can effectively resist the malicious attacks of all parties including the user and the cloud storage provider and the collusion between part of users and the cloud storage provider; and computing, storage and bandwidth overhead of cloud storage providers and cloud user sides can be significantly reduced.

Description

Practical cloud storage method and system supporting dynamic operation and multi-user storage certification
Technical Field
The invention belongs to the technical field of storage security, and particularly relates to a practical cloud storage method and system supporting dynamic operation and multi-user storage certification.
Background
At present, with continuous innovation and breakthrough of information technology, particularly generation and development of internet of things, artificial intelligence and cloud computing technology, data is undergoing explosive growth. According to IDC estimation, the average data volume of people reaches 5200GB by 2020. The appearance of cloud storage provides a solution to this problem, and cloud storage becomes a development trend of future information storage. Since individuals and businesses can store, access, and seamlessly synchronize data from different devices, cloud storage services have become an indispensable part of everyday life and have received widespread attention from both academic and industrial communities.
Since the Cloud Service Provider (CSP) is an independent management entity, outsourcing is actually relinquishing the user's ultimate control over their data fate. Thus, availability and integrity are the most important challenges in cloud storage, but data may be corrupted due to hardware bugs, software bugs, and human mishandling. Recently, large cloud service providers have experienced large data loss or severe outage events, exacerbating these concerns. And in a general cloud storage model, a semi-honest CSP may decide to hide data errors or losses for profit. Recent studies have shown that in standard file systems, deduplication across users can save more than 50% of storage cost, and in backup applications up to 90-95% of storage cost. Data deduplication is therefore a common technique used by CSPs to save storage and bandwidth, which would ideally allow customers to gain economic benefit from a CSP's discount.
Currently, the current state of the art commonly used in the industry is such that: [1] the [2], [3], [4], [5] take a lot of effort to effectively verify the integrity of the outsourced data. In these solutions, the owner pre-processes the document prior to outsourcing, creates a validation tag using secret material, and then the owner or verifier verifies the integrity of the document.
However, the above scheme is only applicable to static archive storage, i.e. files that are outsourced and never altered. In fact, outsourced data will be frequently updated in real-world cloud storage, such as business transaction logs, editable documents, cloud databases, and health records for hospitals. Therefore, supporting data dynamics through the most common forms of data manipulation (e.g., block modification, insertion, and deletion) is also an important step towards practical use. Later, to solve this problem, dynamic versions of prior PDP/POR schemes [6], [7], [8], [9], [10], [11], [12] were proposed to support a more generic storage model. These schemes basically implement data dynamics using skip list or merkle hash trees.
Inspired by the benefits of data deduplication, many researchers explored various data deduplication mechanisms [13], [14], [15] on cloud storage platforms. Critical or sensitive data needs to be uploaded to a remote server in encrypted form for security and privacy concerns. Convergent Encryption (CE) [16], Message-Locked Encryption (MLE) [17] and its variants [18], [19], [20], [21], [22] are intended to support cross-user data deduplication in the encrypted domain, ensure that files are only accessible by legitimate owners, and to resist curious cloud providers.
[1].F.Armknecht,J.-M.Bohli,G.O.Karame,Z.Liu,and C.A.Reuter,“Outsourced proofs of retrievability,”ACM SIGSAC Conference on Computer and Communications Security,CCS’14,p.831–843,Association for Computing Machinery,2014.
[2].K.D.Bowers,A.Juels,and A.Oprea,“Hail:A high-availability and integrity layer for cloud storage,”16th ACM Conference on Computer and Communications Security,CCS’09,p.187–198,Association Computing Machinery,2009.
[3].A.Juels and B.S.Kaliski,“Pors:Proofs of retrievability for large files,”14th ACM Conference on Computer and Communications Security,CCS’07,p.584–597,Association for Computing Machinery,2007.
[4].H.Shacham and B.Waters,“Compact proofs of retrievability,”in Advances in Cryptology–ASIACRYPT 2008(J.Pieprzyk,ed.),(Berlin,Heidelberg),pp.90–107,Springer Berlin Heidelberg,2008.
[5].G.Ateniese,R.Burns,R.Curtmola,J.Herring,L.Kissner,Z.Peterson,and D.Song,“Provable data possession at untrusted stores,”in Proceedings of the 14th ACM Conference on Computer and Communications Security,CCS’07,(New York,NY,USA),p.598–609,Association for Computing Machinery,2007.
[6].Q.Wang,C.Wang,K.Ren,W.Lou,and J.Li,“Enabling public auditability and data dynamics for storage security in cloud computing,”IEEE Transactions on Parallel and Distributed Systems,vol.22,no.5,pp.847–859,2011.
[7].G.Ateniese,R.Di Pietro,L.V.Mancini,and G.Tsudik,“Scalable and efficient provable data possession,”in Proceedings of the 4th International Conference on Security and Privacy in Communication Netowrks,SecureComm’08,(New York,NY,USA),Association for Computing Machinery,2008.
[8].C.Erway,A.
Figure BDA0003403133570000031
C.Papamanthou,and R.Tamassia,“Dynamic provable data possession,”CCS’09,(New York,NY,USA),p.213–222,Association for Computing Machinery,2009.
[9].E.Shi,E.Stefanov,and C.Papamanthou,“Practical dynamic proofs of retrievability,”in 2013 ACM SIGSAC Conference on Computer and Communications Security,CCS’13,Berlin,Germany,November 4-8,2013(A.Sadeghi,V.D.Gligor,and M.Yung,eds.),pp.325–336,ACM,2013.
[10].D.Cash,A.
Figure BDA0003403133570000032
and D.Wichs,“Dynamic proofs of retrievability via oblivious RAM,”in Advances in Cryptology–EUROCRYPT 2013,32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques,Athens,Greece,May 26-30,2013.Proceedings(T.Johansson and P.Q.Nguyen,eds.),vol.7881 of Lecture Notes in Computer Science,pp.279–295,Springer,2013.
[11].M.Etemad and A.
Figure BDA0003403133570000033
“Transparent,distributed,and replicated dynamic provable data possession,”in Applied Cryptography and Network Security(M.Jacobson,M.Locasto,P.Mohassel,and R.Safavi-Naini,eds.),(Berlin,Heidelberg),pp.1–18,Springer Berlin Heidelberg,2013.
[12].W.Guo,S.Qin,F.Gao,H.Zhang,W.Li,Z.Jin,and Q.Wen,“Comments on“provable multicopy dynamic data possession in cloud computing systems”,”IEEE Transactions on Information Forensics and Security,vol.15,pp.2584–2586,2020.
[13].D.Bhagwat,K.Eshghi,D.D.E.Long,and M.Lillibridge,“Extreme binning:Scalable,parallel deduplication for chunk-based file backup,”in 2009 IEEE International Symposium on Modeling,Analysis Simulation of Computer and Telecommunication Systems,pp.1–9,2009.
[14].K.Srinivasan,T.Bisson,G.R.Goodson,and K.Voruganti,“idedup:latency-aware,inline data deduplication for primary storage.,”in Fast,vol.12,pp.1–14,2012.
[15].W.Xia,H.Jiang,D.Feng,and Y.Hua,“Silo:A similarity-locality based near-exact deduplication scheme with low ram overhead and high throughput.,”in USENIX annual technical conference,pp.26–30,2011.
[16].J.R.Douceur,A.Adya,W.J.Bolosky,P.Simon,and M.Theimer,“Reclaiming space from duplicate files in a serverless distributed file system,”in Proceedings 22nd International Conference on Distributed Computing Systems,pp.617–624,2002.
[17].M.Bellare,S.Keelveedhi,and T.Ristenpart,“Message-locked encryption and secure deduplication,”in Advances in Cryptology–EURO-CRYPT 2013(T.Johansson and P.Q.Nguyen,eds.),(Berlin,Heidelberg),pp.296–312,Springer Berlin Heidelberg,2013.
[18].M.Abadi,D.Boneh,I.Mironov,A.Raghunathan,and G.Segev,“Message-locked encryption for lock-dependent messages,”in Advances in Cryptology–CRYPTO 2013(R.Canetti and J.A.Garay,eds.),(Berlin,Heidelberg),pp.374–391,Springer Berlin Heidelberg,2013.
[19].M.Bellare and S.Keelveedhi,“Interactive message-locked encryption and secure deduplication,”in Public-Key Cryptography–PKC 2015(J.Katz,ed.),(Berlin,Heidelberg),pp.516–538,Springer Berlin Heidelberg,2015.
[20].S.Keelveedhi,M.Bellare,and T.Ristenpart,“Dupless:Server-aided encryption for deduplicated storage,”in 22nd USENIX Security Symposium(USENIX Security 13),(Washington,D.C.),pp.179–194,USENIX Association,Aug.2013.
[21].J.Liu,N.Asokan,and B.Pinkas,“Secure deduplication of encrypted data without additional independent servers,”in Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security,CCS’15,(New York,NY,USA),p.874–885,Association for Computing Machinery,2015.
[22].R.Di Pietro and A.Sorniotti,“Proof of ownership for deduplication systems:A secure,scalable,and efficient solution,”Computer Communications,vol.82,pp.71–82,2016.
In summary, the problems of the prior art are as follows:
(1) since most of the existing technologies only focus on one or two technical problems, the assumed cloud storage model is not universal enough to be inconsistent with the existing cloud storage system. And the current scheme can not efficiently integrate data deduplication, data dynamics and data integrity verification characteristics of multiple users into the same system.
(2) The inefficiency of the prior art that enables cloud service providers to spend a great deal of computing, communication, and storage overhead, even beyond the overhead of storing files, for implementing certain functions makes current cloud storage providers undesirable to integrate such functions in their own systems.
(3) In the existing technology supporting data dynamics, when data is modified, the identification of a file is not updated synchronously, which is not beneficial to data deduplication across users, and is also not practical.
The difficulty of solving the technical problems is as follows:
(1) as the number of users sharing the same file increases, the metadata storage for each block is quite considerable. Although the publicly verifiable POR allows anyone to challenge the cloud server without using the private key, in practice, different users tend to be untrusted each other, and if a malicious user shares his private key to the CSP, the security of the other users is defeated.
(2) In the new cloud storage model, dynamic operation of data should also be separated, that is, although data deduplication is performed on files of different users, the files are updated individually as desired.
The significance of solving the technical problems is as follows: the present invention designs a DPOR-MU scheme to solve the above-mentioned problems, which efficiently supports cross-user data deduplication and flexible multi-user data dynamic storage. Allowing different users to share metadata of the same file, even if they do not trust each other, enhances the economic incentive for cloud storage providers to integrate storage attestation functions in their products. Although files of different users are deduplicated, the files can be updated independently according to own wishes, so that the flexibility of the cloud storage system is improved, and the requirements of users in the real world on the encryption cloud storage system are met. From the perspective of a cloud storage provider, the DPOR-MU scheme can perform file-level and block-level data deduplication on files uploaded by multiple users, while providing storage service proof with lower resources. From the user's perspective, the DPOR-MU allows users to publicly verify the availability/integrity of their files and update the files independently. The DPOR-MU scheme is ingenious in design, and can remarkably reduce the computing, storage and bandwidth overhead of CSP and cloud user sides. And the scheme can resist collusion attacks between malicious users and cloud service providers and between the users and CSPs.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a practical cloud storage method and system supporting dynamic operation and multi-user storage certification.
The invention is realized in such a way that a practical cloud storage method supporting dynamic operation and multi-user storage certification comprises the following steps:
initializing all participants according to a Setup protocol, wherein the participants comprise a user, a cloud service provider and a third party verifier;
triggering an Upload protocol when a client wants to Upload data;
the POR protocol is used for assisting the verifier to verify the integrity of data and copies in the cloud by the cloud user;
the Update protocol is used for independently updating files according to own will in a system for realizing data deduplication by a cloud user.
Further, the Setup protocol is used for initialization of all system participants, and comprises a group of key generation algorithms; first, the system operates
Figure BDA0003403133570000061
The algorithm generates and shares corresponding common parameters with all participants, where k is a security parameter,
Figure BDA0003403133570000062
is a population of Gap-Diffie-Hellman (GDH), p is the number of kappa prime and g is a generator; all legitimate users then need to run
Figure BDA0003403133570000063
Wherein, pkPIs a public key, skPIs a private key, accepts as input a public parameter and outputs a pair of public/private keys (pk)P,skP) (ii) a P, S and V generate a key pair for authentication and encrypted communication, respectively, where P is the data owner, S is the remote cloud server, and V is the third party auditor; eventually, each party secretly stores its private key and transmits its public key to the other parties in the system.
Further, the Upload protocol is an interactive protocol running between P and S, as shown in the following formula:
Figure BDA0003403133570000071
for preprocessing files to be uploaded, completing cross-client data deduplication and uploading files to S, P-outsourced files F ═ { b }1,...,bm}, and its private key skPAs input, S takes the public key pk of PPDatabase, and recording medium
Figure BDA0003403133570000072
And F as input, where logFRecording the updating and uploading log of the F;
p wants to upload F ═ b in an encrypted manner1,...,bmTo protect privacy, P runs
Figure BDA0003403133570000073
Obtaining an encryption key set and running an Encyypt algorithm
Figure BDA0003403133570000074
Get ciphertext, P run
Figure BDA0003403133570000075
Constructing a rank-based Mercker hash Tree RMHT and obtaining an IDFAnd sig (. gamma.), where IDFAs the only handler for F, sig (γ) is the signature of root γ; before uploading, P will check if any other user passes the IDFAnd logFStoring F for source end data deduplication; but block identification
Figure BDA0003403133570000076
Is derived from a ciphertext for server-side block-level data deduplication, and performs P to verify whether an outsourced file in a storage server is intact and not compromised as contractually specified
Figure BDA0003403133570000077
Calculating homomorphic integrity verification labels by an algorithm, and uploading corresponding files to the S; upon receipt of the data, S aggregates tags and sig (γ) from multiple untrusted users, and logsFUpdated to logF′(ii) a Finally, S maintains the ciphertext block correctly
Figure BDA0003403133570000078
And metadata; and P deletes the source file F, corresponding tag, block identification, and RMHT from its local memory.
Further, the rank-based merkel tree is constructed in a bottom-up order and includes the rank of the node in each node, and includes an algorithm: location, Verification, Updates;
location: locating the positions of leaf nodes on the tree according to the indexes of the blocks;
verification: the server verifies the integrity of the block i for the verifier through the tree;
updates: the tree is updated to support data operations where clients perform data modification, data insertion, and data deletion.
Further, the POR protocol allows verifier V to check whether the file is still completely stored at S, as shown in the following equation:
Figure BDA0003403133570000081
p outsourcing the integrity verification of F to V without his/her secret material, V randomly generating and sending a challenge chal to S; s is used and stored according to the requirements of chalDocumentation of file and metadata calculation stored in its databasevAnd responds to V; on the validating side, V scrutinizes profvAnd outputs res ═ { True, False }; if res ═ True, the data is complete; otherwise, the data is corrupt or the computing process is in error; v notifies the owner in time and assists in re-verifying or negotiating claims.
Further, the Update protocol is an interactive protocol running between P and S, as shown in the following formula:
Figure BDA0003403133570000082
files for independently updating P stored on the server, dynamic operations commonly used in cloud storage including modification, insertion and deletion, denoted M, I and D respectively; the mentioned flexible data deduplication involves two cases: (a) the updated file will also create a separate entry; (b) the updating operation also triggers data deduplication, and if the updated file F' is judged to exist, the P directly subscribes to the file;
p ID of file to be updatedFIts private key skPOperation type op, index i and new block b*As an input; first, P obtains the key k*And calculates ciphertext block c*Its identity id*And a mark σ*Then P sends update request with data to S; s generates ID of new file through TreeF′And determining subsequent operations; s, executing different operations according to different conditions, and completing updating for P; s-construct update profuAnd returned to P; finally, P-checks prove and update the new root γ 'of Tree' and its signature sig '(γ').
It is a further object of the invention to provide a computer device comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to perform the steps of the utility cloud storage method supporting dynamic operations and multi-user storage attestation.
It is another object of the present invention to provide a computer-readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the utility cloud storage method supporting dynamic operations and multi-user storage attestation.
Another object of the present invention is to provide an information data processing terminal for implementing the practical cloud storage method that supports dynamic operations and multi-user storage attestation.
Another object of the present invention is to provide a utility cloud storage system supporting dynamic operation and multi-user storage attestation implementing the utility cloud storage method supporting dynamic operation and multi-user storage attestation, the utility cloud storage supporting dynamic operation and multi-user storage attestation including:
the client side is used for storing the data by using the cloud storage service, and is used for blocking file data, generating an encryption key, encrypting a file, constructing file uploading, downloading and deleting data, checking whether the file stored in the cloud storage server is complete or not and realizing dynamic data updating;
the cloud service provider CSP is used for executing cross-user duplicate removal, storing the files uploaded by the client, and simultaneously ensuring the integrity and reliability of the files, ensuring the data availability of all data owners and executing a deletion request of the client;
and the third party auditor TPA is used for triggering the POR protocol to periodically perform data integrity audit for the client.
By combining all the technical schemes, the invention has the advantages and positive effects that: the invention provides a DPOR-MU scheme to effectively support cross-user data deduplication and flexible multi-user data dynamic storage by using secret key homomorphism based on bilinear mapping and a Merckel tree based on rank. The DPOR-MU provided by the invention is the first scheme for simultaneously supporting data deduplication, disclosing multi-user storage certification and multi-user data dynamics, and the cloud storage model can better meet the use requirements of individuals and organizations in the real world. The DPOR-MU can save storage space in the server through the combination of file-level data deduplication and block-level data deduplication and the aggregation of multi-user data labels on the premise of not influencing data confidentiality and integrity. So that cloud storage providers are more willing to integrate storage attestation functions in their products. Compared with the prior art, the invention can reduce the storage overhead from a linear level to a constant level (such as table 1) without increasing the calculation and communication overhead. In addition, the invention can resist collusion attack between malicious users and cloud service providers and between the users and CSP.
Drawings
Fig. 1 is a flowchart of a practical cloud storage method supporting dynamic operation and multi-user storage attestation according to an embodiment of the present invention.
FIG. 2 is a schematic structural diagram of a practical cloud storage system supporting dynamic operations and multi-user storage attestation, provided by an embodiment of the present invention;
in fig. 2: 1. client (data owner); 2. CSP (cloud service provider); 3. TPA (third party auditor).
Fig. 3 is a specific flowchart of modifying the ith block of F in the Update protocol according to an embodiment of the present invention.
Fig. 4 is a specific flowchart of the Upload protocol according to the embodiment of the present invention.
Fig. 5 is a specific flowchart of POR protocol provided by the embodiment of the present invention.
Fig. 6 is a specific flowchart of the Update protocol according to an embodiment of the present invention.
Fig. 7 is a process of preprocessing a file F before uploading the file F in the Upload protocol according to the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In view of the problems in the prior art, the present invention provides a practical cloud storage method and system supporting dynamic operation and multi-user storage certification, and the following describes the present invention in detail with reference to the accompanying drawings.
As shown in fig. 1, the method for supporting a dynamic operation and a multi-user storage attestation for a utility cloud storage provided by the present invention includes the following steps:
s101: the system initializes all participants according to a Setup protocol, wherein the participants comprise users, cloud service providers and third party verifiers;
s102: triggering an Upload protocol when a client wants to Upload data;
s103: the POR protocol is used for assisting the verifier to verify the integrity of data and copies in the cloud by the cloud user;
s104: the Update protocol is used for independently updating files according to own will in a system for realizing data deduplication by a cloud user.
Those of ordinary skill in the art may also implement other steps in the method for providing a practical cloud storage supporting dynamic operations and multi-user storage attestation, and the invention of fig. 1 is provided as only one specific embodiment.
As shown in fig. 2, the utility cloud storage system supporting dynamic operation and multi-user storage attestation provided by the present invention includes:
the client 1 is used for storing data by using a cloud storage service, and is used for blocking file data, generating an encryption key, encrypting a file, constructing file uploading, downloading and deleting data, checking whether the file stored in the cloud storage server is complete or not and realizing dynamic data updating;
a CSP (cloud service provider) 2, configured to perform cross-user deduplication, store files uploaded by the client, and simultaneously ensure integrity and reliability of the files, ensure data availability of all data owners, and perform a delete request of the client;
TPA (third party auditor) 3 for triggering the POR protocol to periodically perform data integrity audits for clients.
The technical solution of the present invention is further described below with reference to the accompanying drawings.
The practical cloud storage system supporting dynamic operation and multi-user storage certification comprises a group of clients 1, a cloud storage server 2 and a third-party auditor 3. The work performed by each end of the system is shown in fig. 2, where client 1 (i.e., Users) stores files in CSP. The cloud storage server 2 (i.e., CSP) manages a large amount of storage resources, powerful computing power, and professional administrators, and provides a flexible and reliable data storage service for individuals or organizations. TPA (third party auditor) 3 has professional capabilities and resources to perform data integrity audits on a regular basis instead of the data owner.
The core of the system comprises a Setup operation, an Upload operation, an Update operation and a POR protocol, through the operations and the protocols, and a rank-based Merkle hash tree (RMHT) obtained by improving the traditional Merkle hash tree, the invention can complete cross-user data deduplication, multi-user storage certification and flexible data dynamic storage, so that a cloud provider can effectively prove the integrity of data stored on the cloud provider to a client. And can be resistant to curious or malicious system parties.
The rank-based Merkle Hash Tree (RMHT) obtained by improving the traditional Merkle Hash Tree is an efficient data structure supporting data dynamics, and each node v of the RMHT stores two pointers, namely left children and right children, which are respectively represented by lft (v) and rgt (v). Note that a leaf node has no child node, and therefore lft (v) null, rgt (v) null. Further, in this configuration, each node v of the RMHT stores the number of leaf nodes associated with v. This value is referred to herein as the rank of v and is denoted by r (v). In addition, node v also stores a label l (v) that is calculated by applying an anti-collision hash function (i.e., l (v) ═ h (l (lft (v)), l (rgt (v)), r (v))). While MHT is generally used to verify the value of a data block, in the proposed scheme, the invention further uses MHT to verify the value and location of a data block. Suppose now that file F and the RMHT of the file are already stored on the semi-honest server, and the order of the leaf nodes (i.e., left to right) indicates the order of the file blocks. That is, the leftmost node of RMHT is associated with the first block. The value of node a is l (a) ═ H (c)1) 1), where 1 is the rank of the leaf node. In the second level, the children of node E are node a and node B, whose labels are l (E) ═ h (l (a), l (B), 2 of whichIs the rank of node E. If the Merkle tree has only four leaves, then the rank of the RMHT root is 4. Note that RMHT is constructed bottom-up, so for non-leaf nodes v, r (v) ═ r (lft (v)) + r (rgt (v)). RMHT includes the algorithm: location, Verification, Updates.
Location: both verifying integrity and updating the tree require locating the positions of leaf nodes on the tree based on the index of the block. The server then first executes an algorithm to find leaf nodes for later verification or update operations.
Verification: the verifier wants to verify the integrity of block i and therefore sends a verification request to the server, which executes the algorithm. It is first determined which leaf in RMHT that block i corresponds to. The server then constructs a peer set of this leaf (i.e., the peer nodes on the path from the leaf to the RMHT root R), denoted as Ωi={vx,...,vkWhere k is the leaf depth (root depth is zero). Finally, the server returns an MHT verification certificate of pi (i) { H (c) }i),ΩiGiving the verifier. The verifier generates a root R' using Π (i) and checks its correctness by comparison with R.
Updates: in the solution of the invention, the possible data operations include data modification (i.e. modification of the ith block), data insertion (i.e. insertion of a new block after a given block i) and data deletion (i.e. deletion of the ith block). For data modification, the operation is relatively simple, assuming that the client wishes to have the ith chunk ciIs modified to c'i. The server locates the ith leaf using a location algorithm and puts H (H (c) in RMHTi) 1) is replaced by H (H (c'i) 1), then regenerating a new root R'. Finally, the server generates a sibling node set omegaiAnd use demonstration of profu={ΠiR '} in response to the client making an update, the client will validate the update and update the root R with R'.
In contrast to data modification, which does not change the logical structure of the client data file, another general form of data manipulation, data insertion, refers to the insertion of new blocks after some specified location in the data file F. Suppose a client wants to be in the ith block ciThen insert block c*. In this scheme, forThe present invention defines rules: 1) the original ith leaf node is no longer a leaf node, but is the parent node of the original ith block and the inserted block; 2) the inserted block is the sibling node of the original ith block and the inserted node must be the right child. Obviously, only a portion of the nodes are affected by the insert operation. The server will add a leaf H (H (c)*) 1) leaf H (H (c) in RMHT1) 1) thereafter, a new root R' is regenerated according to the above rules. Finally, as with the modification described above, the server generates a proof and proves to the client that the client updates the root R with R'.
Data deletion is the reverse of data insertion. For deletion, the invention also defines rules: the deleted leaf node is deleted from the RMHT with its parent node replaced with its remaining sibling nodes. At the same time, the remaining nodes are adjusted according to the deletion rules, wherein the label values of the nodes affected by the operation are changed. The details of the program are similar to those of the data modification and insertion, and are therefore omitted here.
The relevant interactive protocols in the system are as follows:
(1) setup protocol: in DPOR-MU, a multiple signature scheme based on BLS signatures is employed. To this end, the system executes the Init algorithm to deploy a group with a prime order p of generator g
Figure BDA0003403133570000131
And a computationally efficient bilinear map
Figure BDA0003403133570000132
Each client P participating in the scheme then needs to prepare a pair of signature and authentication keys. More precisely, P selects a random
Figure BDA0003403133570000133
And by calling KeyGenPTo calculate y ← gxmod p. In this scenario, the present invention assumes that communications between all participants in the system are previously authenticated and encrypted. Thus, P, S and V generate their key pairs to authenticate and encrypt communications, respectively. Finally, the parties' secretsSaves its private key and transmits its public key to other parties in the system.
(2) The Upload protocol: whenever the client P wishes to upload the file F ═ b1,...,bmWill trigger the Upload protocol. First, P runs KeyGenEncTo obtain a set of encryption keys for each block
Figure BDA0003403133570000141
More precisely, for each block, by ki=H(bi) (i is more than or equal to 1 and less than or equal to m). A message-based key is computed. Next, P performs the Encrypt algorithm to Encrypt block bi(i is more than or equal to 1 and less than or equal to m) generating ciphertext block
Figure BDA0003403133570000142
Wherein c isi←Enc(ki,bi)。
Then, P is in the ciphertext
Figure BDA0003403133570000143
Is sequentially constructed on the block of (a) a rank-based Merkle hash tree, i.e., the labels of the leaf nodes are c with the rank of the leafi(i 1.. m) an ordered set of hashes, i.e., l (v)i)=h(ci,1). Get root γ of RMHT, and assign the identity of F as the root, i.e., ID, of RMHTFγ. P sends ID to SFThen S checks that it has IDFWhether the corresponding file has been stored by other users. Now, depending on the query results, two cases arise: (a) the file has not been previously stored, (b) the file has been stored by other owners. In the latter case, the user will continue to execute the Upload*And (4) protocol.
The present invention proposes the concept of an ancestor file, which represents the initial version of the file in S. Although the file has been updated, its ancestor (ID)A) Will not change, therefore, the ID of FAIs IDF. P signs the root under the private key. Sig (gamma) ← h1(γ)x. Similar to most schemes, each ciphertext block has a length of s sectors, where each sector is
Figure BDA0003403133570000144
And c is an element ofijWherein i is more than or equal to 1 and less than or equal to m, and j is more than or equal to 1 and less than or equal to s. For 1. ltoreq. j. ltoreq. s, group elements
Figure BDA0003403133570000145
Is pseudo-randomly extracted from the duplicate copy as uj=h2(IDAJ). Subsequent uploaders of third party auditors V or documents may access the public parameter IDAGenerating { uj}j=1,...,s. In addition, P computes block identification for block-level data deduplication in S
Figure BDA0003403133570000146
Wherein
Figure BDA0003403133570000147
Next, for subsequent integrity verification of F, P executes the TagGen algorithm to obtain a verification tag set. Similar to the BLS scheme, for each block index i ∈ { 1., m }, the validation token σ is verifiediIs calculated as follows:
Figure BDA0003403133570000148
then, the mark set
Figure BDA0003403133570000149
Please note that σiThe BLS signature under private key x, which effectively represents the following value:
Figure BDA0003403133570000151
after TagGen, user P sends to cloud service provider S
Figure BDA0003403133570000152
S after receiving the data, firstlyThe validity of the upload tag is checked. More specifically, the cloud service provider S samples each chunk index i as a random index
Figure BDA0003403133570000153
And checks whether the following verification holds:
Figure BDA0003403133570000154
wherein ω isiCalculated by S based on the public knowledge and the ciphertext block. If the key and token are correct, S will create a log file consisting of tuples to store the authentication key of F. Each tuple contains two sets, the former being a set of public keys and the other being a set of indices, indicating that the authentication key corresponding to the block in the latter consists of the key in the former. Here, logFBy { ({ pk)P}, {1,.., m }) }.
S then returns P a file access link which can be identified by the file and log file logFThe document is retrieved. To ensure logFP checks if his/her public key is logFIn the first tuple. Finally, P may delete source file F, its ciphertext block, and the corresponding tag from its local memory. But P stores the ID of the file locallyF、IDb
Figure BDA0003403133570000155
Log for generating authentication keysFAnd for subsequently generating the value { u }j}j=1,...,sID of ancestor fileA
(3) Upload protocol: due to source-side data deduplication, the protocol is not used for uploading files twice, but for updating the authentication token and the root of RMHT, which may allow the new client P to obtain file guarantees.
First, S compares the ID of file FAAnd returning to P. Similar to the Upload protocol, P generates a set of encryption keys
Figure BDA0003403133570000156
And calculate a ciphertext set
Figure BDA0003403133570000157
Block IDbDocument authentication mark
Figure BDA00034031335700001512
And signature tree root set sig (γ). Note that due to file identity, it is used for computation
Figure BDA00034031335700001513
{ u } ofj}j=1,...,sAs with the previous owner. Then, unlike the Upload protocol, P will only be
Figure BDA0003403133570000158
And uploading to S.
Upon receiving
Figure BDA0003403133570000159
Afterwards, S still checks the correctness of the newly uploaded tag. Of course, S may perform tag validation using the method in the Upload protocol, but this may require S to recalculate or store the value ωi. Has been stored
Figure BDA00034031335700001510
The verification tags of (1) are correct because S has previously verified them, S has no incentive to damage them. It is shown that S can be on the newly uploaded tag T ═ σ1,...,σm}
Figure BDA00034031335700001511
And tags already stored in S
Figure BDA0003403133570000161
Cross validation is applied in between. Suppose that
Figure BDA0003403133570000162
Wherein
Figure BDA0003403133570000163
So the key set
Figure BDA0003403133570000164
Wherein
Figure BDA0003403133570000165
For batch verification, S samples a portion of the blocks (e.g., ξ blocks), treating the index of each block as i, where 1 ≦ i ≦ ξ. Then S selects a random index
Figure BDA0003403133570000166
And check if the following equations are equal:
Figure BDA0003403133570000167
if not, the subscription is rejected, and if equal, the flag is correct. The correctness of sig (gamma) is verified in the same way. After successful verification, S needs to update logF
Figure BDA0003403133570000168
And sig' (γ) to ensure that POR access is successful across multiple users. More precisely, for labels
Figure BDA0003403133570000169
Sigma for Si·σi' update them. Similarly, S updates the stored signatures sig '(γ) by replacing them with sig' (γ) · sig (γ), and by replacing pkPAttached to each tuple
Figure BDA00034031335700001610
To update logF
Finally, S sends the user the access link and log of the fileF. Similar to the Upload protocol, P checks if his/her public key is logFAnd delete the source file, its ciphertext block, and the corresponding tag.
(4) POR protocol: the purpose of the POR protocol is to allow trusted verifier V (or owner) to check whether the file is still fully stored at S by querying server S and verifying the response from S. First, to help the owner P prove the integrity of F, V needs to compute a set of authentication keys
Figure BDA00034031335700001611
And the authentication key pk of RMHTγ. Although P or V stores log locallyFHowever, the new user may also perform data deduplication on the same file. Thus, V downloads from S to be current
Figure BDA00034031335700001612
And check whether or not all
Figure BDA00034031335700001613
Comprising pkP. If so, the set of keys is verified as
Figure BDA00034031335700001614
And
Figure BDA00034031335700001615
wherein
Figure BDA00034031335700001616
Is log'FThe last one of (a).
V then creates a random challenge chal ═ { l, k1,k2And sends it to S, where l is the number of blocks to challenge. k is a radical of1(PRP π) and k2(PRF ψ) is a new key chosen randomly in each challenge. K for both V and S1Keyed sum of pi and k2The keyed psi generates a set of pairs of random exponentials and random values Q { (i, v)i) Therein of
Figure BDA0003403133570000171
And
Figure BDA0003403133570000172
after receiving chal and generating a set Q, S calculates:
Figure BDA0003403133570000173
wherein j is not less than 1 and not more than s, and:
Figure BDA0003403133570000174
wherein
Figure BDA0003403133570000175
In addition, S also prepares for RMHT verification that pi ═ { pi (i) |1 ≦ i ≦ l } as described in section IV-B. Finally, prof will be demonstratedv={{μθ,1,...,μθ,sThe } sigma, sig (gamma), pi } is sent back to V.
At the verifier end, V also gets the set Q and uses the IDAGenerating ui. First, V builds RMHT using knowledge of Π, and generates root γ'. V then authenticates it by checking if it is equal:
e(sig(γ),g)=e(γ′,pkγ)
if authentication fails, V will reject by returning False, otherwise V will further verify whether the following equations are equal:
Figure BDA0003403133570000176
if the two are equal, the output is True; otherwise, the output is False. If this verification fails, V determines that the file has been modified and takes action, such as notifying the user or downloading and rewriting the file.
(5) Update protocol: common dynamic operations in cloud storage include modification, insertion, and deletion. P is valid assuming F is shared by multiple users. P intends to modify the ith block, insert a new block after the ith block or delete the ith block, which other users do not. Obviously, modifications and insertions require preparation for the sameData block b of*And the delete operation does not. For modifications and insertions, P passed KeyGenEncGenerating a secret key k*And obtain ciphertext block c*←Enc(k*,b*). P then calculates the block id according to the Upload protocol*And a label sigma*From the IDAMiddle extracted value { u }j}j=1,...,s. Update request update ═ { op, i, [ c [ ]*,id*,σ*]Send S, where op may be M, I or D. If op ═ D, then the data in square brackets is not needed.
For example, P modifies the i-th block to b*Then update is { M, i, c ═ M*,id*,σ*It sends it to S. S is based on { c1,...,ci-1,c*,...,cmGenerate a new RMHT and obtain a modified IDF′. Then, S checks whether the ID is already storedF′The corresponding file of (2). If file F' does not exist, S will create a session IDF′New file entry of index, i.e. F' ═ { c1,...,ci-1,c*,...,cm}. In fact, F is not modified, nor is blocks of data copied, but these blocks are each pointed to an ID by a pointerFOr IDF′. S Create LogF′And initialize it to
Figure BDA0003403133570000181
Wherein
Figure BDA0003403133570000182
Suppose that the index i is
Figure BDA0003403133570000183
Then, S direction logF′Appending a tuple ({ pk)PH, { i }) and from
Figure BDA0003403133570000184
In deletion of i, i
Figure BDA0003403133570000185
Then, S will be one tuple ({ pk)PI) attached to logF′. Namely, it is
Figure BDA0003403133570000186
Finally, S updates prof withu={Πi,sig(γ),IDF′,logF′P, where ΠiSig (. gamma.) at IDFOn the RMHT of (c). P is used firstiRoot gamma of RMHT, and
Figure BDA0003403133570000187
wherein
Figure BDA0003403133570000188
Is that
Figure BDA0003403133570000189
The second last digit of (c). And by checking e (sig (γ), g) ═ e (γ, pk)γ) The root is verified if equal. If true, P is determined by using { Ω }i,H(ci) Calculate the new root γ' and associate it with IDF′A comparison is made to check if the server has performed the modification as required. P then signs the new root and sends it to S.
If the file F' already exists, S verifies the signature σ using a cross-validation method*And registers P with F'. S will mark σiSubstitution as sigmai·σ*And by mixing pkPAppended to the last tuple
Figure BDA00034031335700001810
To update logF′. Furthermore, S updates prof withu={Πi,sig(γ),IDF′,logF′The proof of response P, P verifies the update and sends a signature sig (γ') to S. Finally, S verifies the signature and replaces it with sig (γ '). sig ' (γ ').
The whole process of insertion and deletion is the same as the modification process, note that the index of the file block is changed during the insertion or deletion process, and S is managed separately using two sets of indexes.
The technical effects of the present invention will be described in detail with reference to simulations.
The invention realizes DPOR by simulation and evaluates the performance of DPOR in detail, realizes a DPOR prototype system by using a C/C + + language and OpenSSL and PBC code libraries, and stores metadata information related to each file by using a MySQL database as a back-end data storage system. The experiment simulates a client, a verifier and a cloud server on three independent machines, and the client, the verifier and the cloud server all run on a system with a CPU of 3.10GHz Intel Core i9-9900 and a memory of 16GB Ubuntu 16.04 LTS. The communication bandwidth of the wired connection between the two is set to be 100Mbps, and Socket is adopted for communication. In the experiment, a plurality of computers are used as clients, a large number of files are uploaded, downloaded, integrity audited and updated on the same server host to evaluate the overall performance of the system, and various malicious behaviors such as tampering, forging and destroying of the server and malicious users are simulated. Typically, users can correctly recover and audit their files, and the audit will fail once the server makes any malicious activity. Experiment results show that the communication and calculation cost of the system is similar to that of the existing scheme and is acceptable, and the storage cost meets the requirement of table 1, so that the method is greatly improved compared with other schemes.
TABLE 1
Figure BDA0003403133570000191
It should be noted that the embodiments of the present invention can be realized by hardware, software, or a combination of software and hardware. The hardware portion may be implemented using dedicated logic; the software portions may be stored in a memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the apparatus and methods described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided on a carrier medium such as a disk, CD-or DVD-ROM, programmable memory such as read only memory (firmware), or a data carrier such as an optical or electronic signal carrier, for example. The apparatus and its modules of the present invention may be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., or by software executed by various types of processors, or by a combination of hardware circuits and software, e.g., firmware.
The above description is only for the purpose of illustrating the present invention and the appended claims are not to be construed as limiting the scope of the invention, which is intended to cover all modifications, equivalents and improvements that are within the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A practical cloud storage method supporting dynamic operation and multi-user storage attestation is characterized by comprising the following steps:
initializing all participants according to a Setup protocol, wherein the participants comprise a user, a cloud service provider and a third party verifier;
triggering an Upload protocol when a client wants to Upload data;
the POR protocol is used for assisting the verifier to verify the integrity of data and copies in the cloud by the cloud user;
the Update protocol is used for independently updating files according to own will in a system for realizing data deduplication by a cloud user.
2. The utility cloud storage method supporting dynamic operations and multi-user storage attestation of claim 1, wherein the Setup protocol is used for initialization of all participants of the system, including a set of key generation algorithms; first, the system operates
Figure FDA0003403133560000011
The algorithm generates and shares corresponding common parameters with all participants, where k is a security parameter,
Figure FDA0003403133560000012
is a population of Gap-Diffie-Hellman (GDH), p is the number of kappa prime and g is a generator; all legitimate users then need to run
Figure FDA0003403133560000013
Wherein, pkPIs a public key, skPIs a private key, accepts as input a public parameter and outputs a pair of public/private keys (pk)P,skP) (ii) a P, S and V generate a key pair for authentication and encrypted communication, respectively, where P is the data owner, S is the remote cloud server, and V is the third party auditor; eventually, each party secretly stores its private key and transmits its public key to the other parties in the system.
3. The method of claim 1, wherein the Upload protocol is an interactive protocol running between P and S, as shown in the following equation:
Figure FDA0003403133560000014
for preprocessing files to be uploaded, completing cross-client data deduplication and uploading files to S, P-outsourced files F ═ { b }1,...,bm}, and its private key skPAs input, S takes the public key pk of PPDatabase, and recording medium
Figure FDA0003403133560000015
And F as input, where logFRecording the updating and uploading log of the F;
p wants to upload F ═ b in an encrypted manner1,...,bmTo protect privacy, P runs
Figure FDA0003403133560000021
Obtaining an encryption key set and operating an Encrypt algorithm
Figure FDA0003403133560000022
Get ciphertext, P run
Figure FDA0003403133560000023
Constructing a rank-based Mercker hash Tree RMHT and obtaining an IDFAnd sig (. gamma.), where IDFAs the only handler for F, sig (γ) is the signature of root γ; before uploading, P will check if any other user passes the IDFAnd logFStoring F for source end data deduplication; but block identification
Figure FDA0003403133560000024
Is derived from a ciphertext for server-side block-level data deduplication, and performs P to verify whether an outsourced file in a storage server is intact and not compromised as contractually specified
Figure FDA0003403133560000025
Calculating homomorphic integrity verification labels by an algorithm, and uploading corresponding files to the S; upon receipt of the data, S aggregates tags and sig (γ) from multiple untrusted users, and logsFUpdated to logF′(ii) a Finally, S maintains the ciphertext block correctly
Figure FDA0003403133560000026
And metadata; and P deletes the source file F, corresponding tag, block identification, and RMHT from its local memory.
4. The method of claim 3, wherein the rank-based Mercker tree is constructed in bottom-up order and includes in each node the rank of the node, and comprises an algorithm: location, Verification, Updates;
location: locating the positions of leaf nodes on the tree according to the indexes of the blocks;
verification: the server verifies the integrity of the block i for the verifier through the tree;
updates: the tree is updated to support data operations where clients perform data modification, data insertion, and data deletion.
5. The method of claim 1 in which the POR protocol allows verifier V to check whether the file is still fully stored at S, as shown by the following equation:
Figure FDA0003403133560000027
p outsourcing the integrity verification of F to V without his/her secret material, V randomly generating and sending a challenge chal to S; s uses the files and metadata stored in its database to compute proof prof according to the requirements of chalvAnd responds to V; on the validating side, V scrutinizes profvAnd outputs res ═ { True, False }; if res ═ True, the data is complete; otherwise, the data is corrupt or the computing process is in error; v notifies the owner in time and assists in re-verifying or negotiating claims.
6. The method of claim 1, wherein the Update protocol is an interactive protocol running between P and S, as shown in the following equation:
Figure FDA0003403133560000031
files for independently updating P stored on the server, dynamic operations commonly used in cloud storage including modification, insertion and deletion, denoted M, I and D respectively; the mentioned flexible data deduplication involves two cases: (a) the updated file will also create a separate entry; (b) the updating operation also triggers data deduplication, and if the updated file F' is judged to exist, the P directly subscribes to the file;
p ID of file to be updatedFIts private key skPOperation type op, index i and new block b*As an input; first, P obtains the key k*And calculates ciphertext block c*Its identity id*And a mark σ*Then P sends update request with data to S; s generates ID of new file through TreeF′And determining subsequent operations; s, executing different operations according to different conditions, and completing updating for P; s-construct update profuAnd returned to P; finally, P-checks prove and update the new root γ 'of Tree' and its signature sig '(γ').
7. A computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method of any one of claims 1 to 6 for utility cloud storage supporting dynamic operations and multi-user storage attestation.
8. A computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the utility cloud storage method supporting dynamic operations and multi-user storage attestation of any one of claims 1 to 6.
9. An information data processing terminal, characterized in that the information data processing terminal is used for implementing a practical cloud storage method for supporting dynamic operation and multi-user storage certification according to any one of claims 1 to 6.
10. A utility cloud storage system supporting dynamic operations and multi-user storage attestation implementing the utility cloud storage method supporting dynamic operations and multi-user storage attestation of any one of claims 1 to 6, characterized in that implementing utility cloud storage supporting dynamic operations and multi-user storage attestation comprises:
the client side is used for storing the data by using the cloud storage service, and is used for blocking file data, generating an encryption key, encrypting a file, constructing file uploading, downloading and deleting data, checking whether the file stored in the cloud storage server is complete or not and realizing dynamic data updating;
the cloud service provider CSP is used for executing cross-user duplicate removal, storing the files uploaded by the client, and simultaneously ensuring the integrity and reliability of the files, ensuring the data availability of all data owners and executing a deletion request of the client;
and the third party auditor TPA is used for triggering the POR protocol to periodically perform data integrity audit for the client.
CN202111505808.1A 2021-12-10 2021-12-10 Practical cloud storage method and system supporting dynamic operation and multi-user storage certification Active CN114398648B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111505808.1A CN114398648B (en) 2021-12-10 2021-12-10 Practical cloud storage method and system supporting dynamic operation and multi-user storage certification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111505808.1A CN114398648B (en) 2021-12-10 2021-12-10 Practical cloud storage method and system supporting dynamic operation and multi-user storage certification

Publications (2)

Publication Number Publication Date
CN114398648A true CN114398648A (en) 2022-04-26
CN114398648B CN114398648B (en) 2024-09-17

Family

ID=81227791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111505808.1A Active CN114398648B (en) 2021-12-10 2021-12-10 Practical cloud storage method and system supporting dynamic operation and multi-user storage certification

Country Status (1)

Country Link
CN (1) CN114398648B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292752A (en) * 2022-10-09 2022-11-04 深圳市明源云科技有限公司 Storage verification method, storage verification device, equipment and medium for file data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699851A (en) * 2013-11-22 2014-04-02 杭州师范大学 Remote data completeness verification method facing cloud storage
CN109525403A (en) * 2018-12-29 2019-03-26 陕西师范大学 A kind of anti-leakage that supporting user's full dynamic parallel operation discloses cloud auditing method
CN110213042A (en) * 2019-05-09 2019-09-06 电子科技大学 A kind of cloud data duplicate removal method based on no certification agency re-encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699851A (en) * 2013-11-22 2014-04-02 杭州师范大学 Remote data completeness verification method facing cloud storage
CN109525403A (en) * 2018-12-29 2019-03-26 陕西师范大学 A kind of anti-leakage that supporting user's full dynamic parallel operation discloses cloud auditing method
CN110213042A (en) * 2019-05-09 2019-09-06 电子科技大学 A kind of cloud data duplicate removal method based on no certification agency re-encryption

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林康: "基于RMHT云存储数据完整性审计方案研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 09, 15 September 2018 (2018-09-15), pages 137 - 15 *
郭浩: "云存储系统中数据完整性验证方案的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 11, 15 November 2017 (2017-11-15), pages 137 - 58 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292752A (en) * 2022-10-09 2022-11-04 深圳市明源云科技有限公司 Storage verification method, storage verification device, equipment and medium for file data

Also Published As

Publication number Publication date
CN114398648B (en) 2024-09-17

Similar Documents

Publication Publication Date Title
Xie et al. zkbridge: Trustless cross-chain bridges made practical
Barsoum et al. Provable multicopy dynamic data possession in cloud computing systems
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
Mao et al. A position-aware Merkle tree for dynamic cloud data integrity verification
Guo et al. Outsourced dynamic provable data possession with batch update for secure cloud storage
Barsoum et al. On verifying dynamic multiple data copies over cloud servers
Fu et al. DIPOR: An IDA-based dynamic proof of retrievability scheme for cloud storage systems
CN111144881A (en) Selective access to asset transfer data
Peng et al. Efficient, dynamic and identity-based remote data integrity checking for multiple replicas
Chen et al. Data dynamics for remote data possession checking in cloud storage
Thangavel et al. Enabling ternary hash tree based integrity verification for secure cloud data storage
Hahn et al. Enabling fast public auditing and data dynamics in cloud services
Sookhak et al. Towards dynamic remote data auditing in computational clouds
Gudeme et al. Certificateless multi-replica public integrity auditing scheme for dynamic shared data in cloud storage
CN113162768A (en) Intelligent Internet of things equipment authentication method and system based on block chain
Zhao et al. Distributed machine learning oriented data integrity verification scheme in cloud computing environment
US20230038304A1 (en) Method for providing information to be stored and method for providing a proof of retrievability
Hariharasitaraman et al. A dynamic data security mechanism based on position aware Merkle tree for health rehabilitation services over cloud
Mishra et al. Dynamic large branching hash tree based secure and efficient dynamic auditing protocol for cloud environment
Xu et al. Data tag replacement algorithm for data integrity verification in cloud storage
CN111565234A (en) Cloud security storage method, medium and equipment for duplicate files
Sinha et al. Luciditee: A tee-blockchain system for policy-compliant multiparty computation with fairness
Shen et al. A certificateless provable data possession scheme for cloud-based EHRs
CN112887281B (en) Storage method and system supporting efficient audit and multi-backup ciphertext deduplication and application
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant