WO2021114407A1 - 基于纠错码的云存储审计方法、系统及计算机设备 - Google Patents

基于纠错码的云存储审计方法、系统及计算机设备 Download PDF

Info

Publication number
WO2021114407A1
WO2021114407A1 PCT/CN2019/128756 CN2019128756W WO2021114407A1 WO 2021114407 A1 WO2021114407 A1 WO 2021114407A1 CN 2019128756 W CN2019128756 W CN 2019128756W WO 2021114407 A1 WO2021114407 A1 WO 2021114407A1
Authority
WO
WIPO (PCT)
Prior art keywords
audit
data
data block
error correction
evidence
Prior art date
Application number
PCT/CN2019/128756
Other languages
English (en)
French (fr)
Inventor
陈飞
蒙凤铭
Original Assignee
深圳大学
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 深圳大学 filed Critical 深圳大学
Publication of WO2021114407A1 publication Critical patent/WO2021114407A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Definitions

  • This application relates to the technical field of cloud storage auditing, and in particular to a cloud storage auditing method, system, computer equipment and storage medium based on error correction codes.
  • the current cloud storage audit system has the following defects:
  • the embodiments of the application provide a cloud storage audit method, system, computer equipment, and storage medium based on error correction codes, aiming to solve the problem that the cloud storage audit system in the prior art separates error correction codes from authentication information, and increases the number of cloud storage audits.
  • the additional storage overhead of the server does not make reasonable use of storage resources, and computationally intensive encryption techniques or complex exponentiation operations greatly reduce the problem of computational efficiency.
  • an embodiment of the present application provides a cloud storage audit method based on error correction codes, which is applied to a client and includes:
  • each initial redundant information is embedded with secret information and pseudo-random number processing to obtain homomorphic authentication and data error correction fusion authentication information, and each data block, and the homomorphic authentication and data corresponding to each data block
  • the error correction fusion authentication information is sent to the cloud server for storage;
  • the embodiments of the present application provide a cloud storage audit method based on error correction codes, which is applied to a cloud server, and includes:
  • the audit evidence generated by linear combination is performed according to the audit parameters; wherein the audit evidence includes data block evidence and redundant block evidence, and the operation corresponding to the linear combination is a vector operation ;
  • an embodiment of the present application provides a cloud storage audit system based on an error correction code, which includes at least one client and a cloud server, and the client is configured to execute the error correction code based on the above-mentioned first aspect.
  • the server side is used to execute the error correction code-based cloud storage audit method described in the second aspect.
  • an embodiment of the present application further provides a computer device, which includes a memory, a processor, and a computer program that is stored on the memory and can run on the processor, and the processor executes the computer
  • the program implements the error correction code-based cloud storage audit method of the foregoing first aspect, or the processor implements the foregoing error correction code-based cloud storage audit method of the second aspect when the computer program is executed.
  • the embodiments of the present application also provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor executes the above-mentioned first The cloud storage audit method based on error correction codes in one aspect, or when the computer program is executed by a processor, the processor executes the cloud storage audit method based on error correction codes in the second aspect.
  • the embodiments of the application provide a cloud storage audit method, system, computer equipment and storage medium based on error correction codes, which divide the data to be uploaded into several data blocks, and perform error correction codes on each data block to generate corresponding redundancy Information, by adding shielding information to redundant information to make it homomorphic authentication information, then according to the randomly generated index and coefficients, a data audit request is initiated to the cloud server, and the cloud server calculates the audit evidence and returns it to the client; the client receives the return After the audit evidence, the redundant block evidence is first unmasked and processed to obtain the linear combination of the redundant information, and then the data block evidence is re-encoded with error correction to obtain the new redundant information. Compare the two sets of redundant information to determine Whether the data in the cloud is complete.
  • error correction codes are used to process data blocks, and the generated redundant information is processed into homomorphic authentication information, which integrates data error correction and authentication, and is also a safe and efficient lightweight cloud storage audit implementation method.
  • FIG. 1 is a schematic diagram of an application scenario of a cloud storage audit method based on an error correction code provided by an embodiment of the application;
  • FIG. 2 is a schematic flowchart of a cloud storage audit method based on error correction codes provided by an embodiment of the application;
  • FIG. 3 is a schematic diagram of a sub-process of a cloud storage audit method based on an error correction code provided by an embodiment of the application;
  • FIG. 4 is a schematic diagram of another sub-process of the cloud storage audit method based on error correction codes provided by an embodiment of the application;
  • FIG. 5 is a schematic diagram of another sub-process of the cloud storage audit method based on error correction codes provided by an embodiment of the application;
  • FIG. 6 is a schematic diagram of another sub-process of the cloud storage audit method based on error correction codes provided by an embodiment of the application;
  • FIG. 7 is a schematic diagram of another process of a cloud storage audit method based on an error correction code provided by an embodiment of the application.
  • FIG. 8 is a schematic block diagram of a cloud storage audit system based on error correction codes provided by an embodiment of the application.
  • FIG. 9 is a schematic block diagram of a computer device provided by an embodiment of the application.
  • Figure 1 is a schematic diagram of an application scenario of a cloud storage audit method based on an error correction code provided by an embodiment of the application
  • Figure 2 is a schematic diagram of a cloud storage audit method based on an error correction code provided by an embodiment of the application
  • the cloud storage audit method based on error correction codes is applied to a client terminal, which is a terminal such as a desktop computer, a tablet computer, and a laptop computer, and the method is executed by application software installed in the client terminal.
  • the method includes steps S110 to S170.
  • Steps S110-S170 describe the technical solution from the perspective of the client
  • steps S210-S240 describe the technical solution from the perspective of the cloud server.
  • the first is the client, which is used to upload the data to be uploaded to the cloud server for storage, and after uploading the data to be uploaded, first verify the integrity of the data in the cloud server, and then delete the data in the client after passing the verification.
  • the saved data to be uploaded is the client, which is used to upload the data to be uploaded to the cloud server for storage, and after uploading the data to be uploaded, first verify the integrity of the data in the cloud server, and then delete the data in the client after passing the verification.
  • the second is the cloud server, which is used to store the client's original data and receive the audit parameters sent by the client. If the client's audit request is received, it can perform the linear combination of addition and multiplication of the corresponding vector to obtain audit evidence to feed back to Client to prove that the data to be uploaded is indeed and completely stored in the cloud server.
  • the user before the user uploads the data to be uploaded to the cloud server, the user needs to first generate the key and secret information corresponding to the safety factor according to the preset safety factor and the pre-stored key generation algorithm.
  • the obtained key and secret information can be used as the data basis for subsequent operations.
  • the bit length of the safety factor determines how difficult it is for the key to be violently broken. For example, setting the safety factor to 128 means that the key can resist brute force/exhaustive search attacks of the 128th power level.
  • step S110 includes:
  • the pre-stored key generation algorithm is the KeyGen algorithm
  • the input of the KeyGen algorithm is the safety factor
  • the output of the KeyGen algorithm is the key and secret information, where the key is denoted as K and the secret information is denoted as s .
  • the key K can be used as the key adapted to the generation of the pseudo-random number in the subsequent steps.
  • the keys and secret information generated by the KeyGen algorithm have high security.
  • the KeyGen algorithm is to randomly select arbitrary characters to form a key K with the same number of bits as the safety factor ⁇ and nk bytes of secret information s according to the set safety factor ⁇ , where n represents the pre-stored Reed-Solomon
  • n represents the pre-stored Reed-Solomon
  • k represents the message length of the pre-stored Reed-Solomon code algorithm.
  • the data to be uploaded can be divided into several data blocks by the message length and block length in the Reed-Solomon code algorithm, for example, the original data corresponding to the data to be uploaded Denoted as F, it is divided into n (where n is a positive integer) data blocks and then denoted as m 1 -m n .
  • linear error correction coding is performed on the data block m i (where 0 ⁇ i ⁇ n) in byte units to generate corresponding initial redundant information.
  • Each piece of initial redundant information is embedded with pseudo-random numbers and secret information to be shielded and processed, so that each piece of homomorphic authentication and data error correction fusion authentication information has the function of homomorphic authentication, and at the same time plays a role in shielding authentication information.
  • each data block is subjected to linear error correction coding to generate initial redundant information corresponding to each data block, and each initial redundant information is embedded secretly.
  • Information and pseudo-random number processing to obtain homomorphic authentication and data error correction fusion authentication information including:
  • S121 Perform linear error correction coding on each data block in byte units to generate initial redundant information corresponding to each data block;
  • the result of the calculation and the pseudo-random number AES_K(i) corresponding to the data block m i are subjected to the bitwise addition of the vector, and the homomorphic authentication and data error correction fusion authentication information ⁇ ′ i (which can be regarded as A redundant block), vector bitwise multiplication operation, vector bitwise division operation, vector bitwise addition operation, vector bitwise subtraction operation are the four arithmetic operations on the Galois field.
  • the original data F of the data to be uploaded becomes the processed data F'.
  • the processed data F' includes n data blocks and n redundant blocks.
  • the processed data F' has no change compared with the original data F. Only one more redundant data is added, and the redundant data and the original data F are stored separately and not merged together.
  • the processed data F' only has one more redundant data compared with the original data F, it can be easily extended to support the online preview function.
  • the processed data F′ previewed online is indistinguishable from the original data F because there is no need to embed redundant data of error correction codes in the original data F or directly embed the authentication information in the original data.
  • the client sends the data block and redundant block to the cloud server. Based on the generation process of the redundant block, the redundant block not only supports the recovery function of partial data damage, but also has the homomorphic authentication function, and at the same time plays the role of shielding the authentication information.
  • the user selects the audit length on the user operation interface of the client (the user operation interface is the UI interface of the cloud storage audit system displayed on the client) , That is, the data audit request is triggered, and finally the selected audit length quantity is randomly selected to form the audit parameters of the data block index and coefficients and sent to the cloud server to request the audit.
  • step S130 includes:
  • S133 Send the index of each data block and the audit parameters of each coefficient to the cloud server.
  • the user operates on the client to select the number of audit lengths, and at this time, the number of audit lengths is acquired by the client. For example, record the audit length as l, randomly select l data block indexes, and record the set of l data block indexes as ⁇ i 1 , i 2 ,..., i l ⁇ , in any Galois field GF( 2 m ) randomly select l coefficients ⁇ c 1 ,c 2 , whil,c l ⁇ , and form a set ⁇ i 1 ,i 2 , whil,i l ⁇ composed of l data block indexes, and l coefficients
  • the set of ⁇ c 1 , c 2 ,..., c l ⁇ forms the audit parameter q and sends it to the cloud server.
  • the cloud server is triggered to audit the stored data, which reduces the information sent with the data audit request, which also simplifies the data format of the request parameters.
  • S140 Receive the audit evidence generated by the cloud server according to the linear combination of the audit parameters; wherein the audit evidence includes data block evidence and redundant block evidence, and the operation corresponding to the linear combination is a vector operation.
  • the cloud server since the cloud server receives the data audit parameters sent from the client, in order to prove to the client that the data is still intactly stored in the cloud server, the cloud server according to the audit
  • the set of l data block indexes in the parameters ⁇ i 1 , i 2 , ??, i l ⁇ and the set of l coefficients ⁇ c 1 , c 2 , ising, c l ⁇ are used for data block evidence and redundancy respectively. Calculation of the remaining piece of evidence.
  • Equation 2 The algorithm for calculating data block evidence based on audit parameters is as shown in Equation 2, and the algorithm for calculating redundant block evidence based on audit parameters is as follows:
  • i j represents the audit index and i j belongs to the audit parameter q, Represents the data block selected according to the audit index, Representation and data block Corresponding redundant block.
  • the addition operation in formula 2 and formula 3 is the bitwise addition operation of the vector (the bitwise addition operation of the vector can also be understood as the Galois field addition operation), the multiplication operation in formula 2 and formula 3 is the vector addition operation Bit multiplication (vector bitwise multiplication can also be understood as Galois field multiplication).
  • the audit evidence composed of ( ⁇ , ⁇ ) is sent to the client, and the audit evidence received by the client includes data block evidence ⁇ and redundant block evidence ⁇ .
  • the cloud server receives the data audit request from the client, it calculates the linear combination of the data block with the specified index and the redundant block according to the coefficient, and uses the linear combination of the data block as the data block evidence, and the linear combination of the redundant block as the redundancy
  • the block evidence is returned to the client as audit evidence.
  • the client receives the data block evidence and redundant block evidence corresponding to the data audit request sent by the cloud server
  • the key and secret information are used to remove the mask information of the redundant block evidence (that is, when the outsourcing is removed)
  • the added pseudo-random number and secret information obtain a linear combination of redundant information.
  • the client also needs to perform linear error correction coding on the data block evidence again to obtain new redundant information, and compare the new redundant information obtained at this time with the removal of the masked information is the redundant evidence block data, and then it can be determined to be stored in the cloud The integrity of the data in the server.
  • step S150 a pseudo-random number is regenerated according to the audit parameter and the key, and the redundancy in the audit evidence is corrected by the pseudo-random number and the secret information.
  • the remaining pieces of evidence are processed for unshielding information to obtain redundant information returned by the cloud, including:
  • S152 Perform a vector bitwise multiplication of the pseudo-random number corresponding to each data block index in the audit parameter and each coefficient to obtain a pseudo-random number calculation result;
  • the client if the client receives the audit evidence ( ⁇ , ⁇ ) sent by the cloud server, since the client locally stores the audit parameter q, the key K, and the secret information s, the client first uses the key K recalculates the pseudo-random number F K (i j ) corresponding to the set ⁇ i 1 ,i 2 , whil, i l ⁇ composed of l data block indexes in the audit parameter q (where i j ⁇ ⁇ i 1 ,i 2 ,..., i l ⁇ ), specifically, each data block index ⁇ i 1 , i 2 ,..., i l ⁇ in the audit parameter q and the key K are respectively used as the AES encryption algorithm To obtain the pseudo-random number F K (i j ) corresponding to each data block index ⁇ i 1 , i 2 ,..., i l ⁇ in the audit parameter one-to-one. Then combine the secret information s to unshield the information, and get the cloud return redundant information s
  • linear error correction coding is performed on the data block evidence in the audit data to obtain the new state redundant data, which is specifically as follows: let the data block evidence ⁇ in the audit data be the coded data to be error-corrected, and the coded data to be error-corrected Perform linear error correction coding to obtain new state redundant data ⁇ '. Specifically, the Reed-Solomon code algorithm is used when linear error correction coding is performed on the coded data for error correction.
  • step S170 includes:
  • the verification result parameter of the integrity of the cloud storage data is set to 1, and the verification result parameter is displayed.
  • the cloud returned redundant information ⁇ is equal to the new state redundant data ⁇ ′, it means that the data F stored in the cloud server to be uploaded is complete, and it has passed the cloud storage data integrity verification.
  • step S160 it also includes:
  • the cloud-returned redundant information ⁇ is not equal to the new state redundant data ⁇ ′, it means that the data F stored in the cloud server to be uploaded is not complete, and it has not passed the cloud storage data integrity verification.
  • FIG. 7 is a schematic flowchart of an error correction code-based cloud storage audit method provided by another embodiment of the present application. As shown in FIG. 7, the cloud storage audit method based on error correction codes of this embodiment includes steps S210-S240.
  • S220 Determine whether the audit parameter sent by the client is received
  • the cloud server is mainly used to store the original data of the client (for example, the data to be uploaded in step S120) and receive the audit parameters sent by the client. After receiving the audit request from the client, the corresponding vector can be performed. After the linear combination of addition and multiplication, the audit evidence is obtained to feed back to the client to prove that the data to be uploaded is indeed stored in the cloud server completely.
  • the cloud server does not detect the audit parameters sent by the client, it does not perform any processing.
  • the linear combination operation of addition and multiplication of the corresponding vector can be performed. For details, refer to Equation 2 and Equation 3 in step S140.
  • the nature of the linear error correction code is fully utilized, and the cloud server is required to calculate a data evidence and redundant evidence to return to the client. The client verifies the data evidence through the redundant evidence to achieve data integrity check.
  • the general cloud storage service (that is, the architecture is client and cloud server), if dynamic data update is not supported, once the user uploads the data to the cloud server, the stored data cannot be inserted, modified, and deleted.
  • the cloud server in this application can be easily modified to support dynamic data update.
  • the client needs to set a variable to record the index of the current largest data block locally when storing the data to be uploaded, which is recorded as global_index, and the data block corresponding to the data block m 1 -m n divided by the data to be uploaded F
  • the indexes of multiple data blocks stored in the cloud server are also stored in the client using a metadata table, that is, the physical index and logical index of each data block are stored in the metadata table.
  • the metadata table stored in the client is shown in Table 1:
  • the metadata table in Figure 1 can be compressed as shown in Table 5. At this time, only the start and end points of the physical index and the start and end points of the logical index are stored:
  • the metadata table shown in Table 3 is because a data block is deleted, and the original metadata table is cut into two segments by the deleted data block. At this time, the metadata table in Table 3 can be compressed as shown in Table 7. At this time The start and end points of the physical index, and the start and end points of the logical index, of the data table cut into two segments from the original metadata table to be deleted, need to be saved:
  • the physical index of the client's local storage data block and the way of saving its logical index can facilitate the collection ⁇ i 1 , i 2 of l data block indexes after the cloud server receives the audit parameter q uploaded by the client. ,..., i l ⁇ (these data block indexes refer to physical indexes), the logical index corresponding to each data block index is obtained in the metadata table, and each data block logical index is used as the data block index i to participate in the operation .
  • the dynamic update operation will cause the data index to change (for example, insert or delete a data block at a certain position, then the redundant information from the position to the last data block must be recalculated because the index has changed).
  • logical indexes and physical indexes are introduced.
  • the indexes used in outsourcing are called logical indexes, and all those used in auditing are called physical indexes. If there is no dynamic data in the life cycle of the entire storage system Operation (that is, the original scheme), then the physical index and the logical index are equal; once there is a dynamic update operation, the physical index will not always be equal to the logical index.
  • the physical index is used, but the logical index is required to regenerate the pseudo-random number during the verification. And compressing the metadata table can effectively reduce storage overhead.
  • the embodiment of the present application also provides a cloud storage audit system based on error correction codes.
  • the cloud storage audit system based on error correction codes includes at least one client and a cloud server, and the client is used to execute the aforementioned cloud storage based on error correction codes.
  • the audit method can be used for client-side execution, and the cloud server is used to execute the aforementioned error correction code-based cloud storage audit method that can be used for cloud server execution.
  • FIG. 8 is a schematic block diagram of a cloud storage audit system based on an error correction code provided by an embodiment of the present application.
  • the cloud storage audit system 100 based on error correction codes includes at least one client 101 and a cloud server 102.
  • the client 101 includes: a key production unit 110, a data outsourcing unit 120, an audit parameter sending unit 130, and an audit The evidence receiving unit 140, the multiple redundant data calculating unit 150, the multiple redundant data comparing unit 160, and the verification passing prompt unit 170.
  • the cloud server 102 includes: a data block receiving unit 210, an audit parameter detecting unit 220, an audit evidence generating unit 230, and an audit evidence sending unit 240.
  • the key generation unit 110 is configured to generate a key and secret information corresponding to the safety factor according to a preset safety factor and a pre-stored key generation algorithm.
  • the key generation unit 110 includes:
  • the calling unit is used to call the preset safety factor and the pre-stored key generation algorithm
  • the generating unit is configured to use the safety factor as the input of the key generation algorithm to obtain a key with the same number of bits as the safety factor and secret information composed of a random number in the Galois field.
  • the data outsourcing unit 120 is configured to divide the data to be uploaded into several data blocks according to the message length and block length of the pre-stored Reed-Solomon code algorithm, and perform linear error correction coding on each data block to generate a
  • the initial redundant information corresponding to the data block is processed by embedding secret information and pseudo-random numbers for each initial redundant information to obtain homomorphic authentication and data error correction fusion authentication information.
  • the corresponding homomorphic authentication and data error correction fusion authentication information is sent to the cloud server for storage.
  • the data outsourcing unit 120 includes:
  • the initial redundant information acquisition unit is used to perform linear error correction coding on each data block in byte units to generate initial redundant information corresponding to each data block;
  • the first pseudo-random number generating unit is used to call a pre-stored AES encryption algorithm, using the data block index of each data block as the plaintext of the AES encryption algorithm, and using the key as the key of the AES encryption algorithm Encryption is performed separately to obtain the ciphertext corresponding to each data block as a pseudo-random number corresponding to each data block; wherein, the AES encryption algorithm is an advanced encryption standard algorithm;
  • the first Galois field operation unit is used to perform a vector bitwise multiplication operation on the secret information in the initial redundant information corresponding to each data block to obtain the initial operation result corresponding to each data block, and correspond each data block to The initial operation result of and the pseudo-random number of the corresponding data block are subjected to the bitwise addition of the vector to obtain the homomorphic authentication and data error correction fusion authentication information corresponding to each data block.
  • the audit parameter sending unit 130 is configured to obtain the selected number of audit lengths, and randomly obtain data block indexes and coefficients having the same number as the audit length number to form audit parameters and send them to the cloud server.
  • the audit parameter sending unit 130 includes:
  • the data block index obtaining unit is used to randomly obtain the data block indexes with the same number of audit lengths corresponding to the data audit request;
  • a coefficient obtaining unit configured to randomly obtain a coefficient having an equal number with the index of the data block in the Galois field
  • the audit parameter acquisition unit is used to send the index of each data block and the audit parameters composed of each coefficient to the cloud server.
  • the audit evidence receiving unit 140 is configured to receive the audit evidence generated by the cloud server according to the linear combination of the audit parameters; wherein the audit evidence includes data block evidence and redundant block evidence, and the operation corresponding to the linear combination is a vector Operation.
  • the multiple redundant data calculation unit 150 is configured to regenerate a pseudo-random number according to the audit parameters and the key, and use the pseudo-random number and the secret information to remove redundant block evidence in the audit evidence.
  • the information processing is shielded to obtain the cloud return redundant information, and linear error correction coding is performed on the data block evidence in the audit data to obtain the new state redundant data.
  • the multiple redundant data calculation unit 150 includes:
  • the second pseudo-random number generating unit is used for encrypting each data block index in the audit parameter as the plaintext of the AES encryption algorithm, and using the key as the key of the AES encryption algorithm to obtain
  • the ciphertext corresponding to each data block index in the audit parameter is used as a pseudo-random number corresponding to each data block index;
  • the linear combination operation unit is used to perform vector bitwise multiplication of the pseudo-random number corresponding to each data block index in the audit parameter and each coefficient to obtain a pseudo-random number calculation result;
  • the second Galois field operation unit is used to perform a vector bitwise subtraction operation on the data block evidence in the audit evidence and the pseudo-random number calculation result to obtain a subtraction operation result, and compare the subtraction operation result with the
  • the secret information is subjected to the bitwise division operation of the vector to obtain the cloud return redundant information.
  • the multiple redundant data comparing unit 160 is configured to determine whether the cloud-returned redundant information is equal to the new state redundant data.
  • the verification passed prompting unit 170 is configured to perform an information prompt that the cloud storage data integrity verification has passed if the cloud returned redundant information is equal to the new state redundant data.
  • the verification passing prompt unit 170 is further used to:
  • the verification result parameter of the integrity of the cloud storage data is set to 1, and the verification result parameter is displayed.
  • the cloud storage audit system 100 based on error correction codes further includes:
  • the verification failed prompt unit 180 is configured to perform an information prompt that the cloud storage data integrity verification fails if the redundant information returned by the cloud is not equal to the redundant data in the new state.
  • the data block receiving unit 210 is configured to receive each data block uploaded by the client and the homomorphic authentication and data error correction fusion authentication information corresponding to each data block.
  • the audit parameter detection unit 220 is used to determine whether the audit parameter sent by the client is received.
  • the audit evidence generating unit 230 is configured to, if the audit parameters sent by the client are received, perform a linear combination corresponding to the audit evidence generated according to the audit parameters; wherein the audit evidence includes data block evidence and redundant block evidence, and The operation corresponding to linear combination is vector operation.
  • the audit evidence sending unit 240 is configured to send the audit evidence to the client.
  • the above-mentioned cloud storage audit system based on error correction codes can be implemented in the form of a computer program, and the computer program can be run on a computer device as shown in FIG. 9.
  • FIG. 9 is a schematic block diagram of a computer device according to an embodiment of the present application.
  • the computer device 500 may be an electronic device with communication functions such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device.
  • the server may be an independent server or a server cluster composed of multiple servers.
  • the computer device 500 includes a processor 502, a memory, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
  • the non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032.
  • the computer program 5032 When the computer program 5032 is executed, it can make the processor 502 execute the cloud storage audit method based on error correction code, which can be used by the client, or can make the processor 502 execute the cloud storage audit method based on error correction code, and can be used in the cloud.
  • the processor 502 is used to provide calculation and control capabilities, and support the operation of the entire computer device 500.
  • the internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503.
  • the processor 502 can execute the cloud storage audit method based on error correction codes.
  • the method executed by the client, or the cloud storage audit method based on the error correction code that can be executed by the processor 502 can be used for the method executed by the cloud server.
  • the network interface 505 is used for network communication, such as providing data information transmission.
  • the structure shown in FIG. 9 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied.
  • the specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
  • the processor 502 is configured to run a computer program 5032 stored in a memory to implement the error correction code-based cloud storage audit method disclosed in the embodiment of the present application that can be used for client execution, or an error correction code-based method
  • the cloud storage audit method can be used for the method executed by the cloud server.
  • the embodiment of the computer device shown in FIG. 9 does not constitute a limitation on the specific configuration of the computer device.
  • the computer device may include more or less components than those shown in the figure. Or some parts are combined, or different parts are arranged.
  • the computer device may only include a memory and a processor. In such embodiments, the structures and functions of the memory and the processor are the same as those of the embodiment shown in FIG. 9 and will not be repeated here.
  • the processor 502 may be a central processing unit (Central Processing Unit, CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
  • a computer-readable storage medium may be a non-volatile computer-readable storage medium.
  • the computer-readable storage medium stores a computer program, wherein when the computer program is executed by the processor, the method that can be used for client execution in the error correction code-based cloud storage audit method disclosed in the embodiments of the present application is realized, or the computer program is executed by the processor.
  • the method that can be used for cloud server execution in the cloud storage audit method based on error correction code disclosed in the embodiment of the present application is implemented during execution.
  • the disclosed equipment, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods, or the units with the same function may be combined into one. Units, for example, multiple units or components can be combined or integrated into another system, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium.
  • the technical solution of this application is essentially or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium. It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了基于纠错码的云存储审计方法、系统、计算机设备及存储介质,将待上传数据分割为若干数据块,对每一数据块进行纠错编码生成相应的冗余信息,通过对冗余信息添加屏蔽信息使其成为同态认证信息,之后根据随机生成的索引和系数对云服务器发起数据审计请求,云服务器计算审计证据并返回至客户端;客户端接收到返回的审计证据后先对冗余块证据进行去屏蔽信息处理得到冗余信息的线性组合,然后对数据块证据重新进行纠错编码得到新的冗余信息,比较两组冗余信息,就能确定云中数据是否完整。本申请中使用纠错码处理数据块,并将生成的冗余信息加工成同态认证信息,融合了数据纠错与认证,而且也是安全、高效的轻量级云存储审计实现方式。

Description

基于纠错码的云存储审计方法、系统及计算机设备
本申请是以申请号为201911276727.1、申请日为2019年12月12日的中国专利申请为基础,并主张其优先权,该申请的全部内容在此作为整体引入本申请中。
技术领域
本申请涉及云存储审计技术领域,尤其涉及一种基于纠错码的云存储审计方法、系统、计算机设备及存储介质。
背景技术
随着云服务的普及,越来越多用户选择云平台计算、存储、开发,云存储审计系统也应运而生。目前的云存储审计系统存在以下缺陷:
1)将纠错编码与认证信息分开,增大了云服务器的额外存储开销,没有合理利用存储资源;
2)使用计算密集型加密技术或复杂的幂运算,大大降低了计算效率;
3)用户难以理解其原理和概念;
4)原数据和认证信息的混合处理,不便于在线预览;
5)改造为动态数据方案需要付出的代价较大,成本也较高。
申请内容
本申请实施例提供了一种基于纠错码的云存储审计方法、系统、计算机设备及存储介质,旨在解决现有技术中云存储审计系统将纠错编码与认证信息分开,增大了云服务器的额外存储开销,没有合理利用存储资源,而且计算密集型加密技术或复杂的幂运算,大大降低了计算效率的问题。
第一方面,本申请实施例提供了一种基于纠错码的云存储审计方法,应用于客户端,其包括:
根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息;
根据预先存储的里德-所罗门码算法的消息长度和块长度将待上传数据划分 为若干个数据块,对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,将每一数据块、及每一数据块对应的同态认证及数据纠错融合认证信息发送至云服务器以进行存储;
获取所选定的审计长度数量,随机获取与审计长度数量有相同个数的数据块索引和系数,以组成审计参数并发送至云服务器;
接收云服务器根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算;
根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行去屏蔽信息处理以得到云返回冗余信息,并对所述审计数据中的数据块证据进行线性纠错编码以得到新状态冗余数据;
判断所述云返回冗余信息是否等于所述新状态冗余数据;以及
若所述云返回冗余信息等于所述新状态冗余数据,进行已通过云存储数据完整性验证的信息提示。
第二方面,本申请实施例提供了一种基于纠错码的云存储审计方法,应用于云服务器,其包括:
接收客户端上传的每一数据块,及与每一数据块对应的同态认证及数据纠错融合认证信息;
判断是否接收到客户端发送的审计参数;
若接收到客户端发送的审计参数,根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算;
将所述审计证据发送至客户端。
第三方面,本申请实施例提供了一种基于纠错码的云存储审计系统,其包括至少一客户端和云服务器,所述客户端用于执行上述第一方面所述的基于纠错码的云存储审计方法,所述服务器端用于执行上述第二方面所述的基于纠错码的云存储审计方法。
第四方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理 器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于纠错码的云存储审计方法,或者所述处理器执行所述计算机程序时实现上述第二方面所述的基于纠错码的云存储审计方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于纠错码的云存储审计方法,或者所述计算机程序当被处理器执行时使所述处理器执行上述第二方面所述的基于纠错码的云存储审计方法。
本申请实施例提供了一种基于纠错码的云存储审计方法、系统、计算机设备及存储介质,将待上传数据分割为若干数据块,对每一数据块进行纠错编码生成相应的冗余信息,通过对冗余信息添加屏蔽信息使其成为同态认证信息,之后根据随机生成的索引和系数对云服务器发起数据审计请求,云服务器计算审计证据并返回至客户端;客户端接收到返回的审计证据后先对冗余块证据进行去屏蔽信息处理得到冗余信息的线性组合,然后对数据块证据重新进行纠错编码得到新的冗余信息,比较两组冗余信息,就能确定云中数据是否完整。本申请中使用纠错码处理数据块,并将生成的冗余信息加工成同态认证信息,融合了数据纠错与认证,而且也是安全、高效的轻量级云存储审计实现方式。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于纠错码的云存储审计方法的应用场景示意图;
图2为本申请实施例提供的基于纠错码的云存储审计方法的流程示意图;
图3为本申请实施例提供的基于纠错码的云存储审计方法的子流程示意图;
图4为本申请实施例提供的基于纠错码的云存储审计方法的另一子流程示意图;
图5为本申请实施例提供的基于纠错码的云存储审计方法的另一子流程示意图;
图6为本申请实施例提供的基于纠错码的云存储审计方法的另一子流程示意图;
图7为本申请实施例提供的基于纠错码的云存储审计方法的另一流程示意图;
图8为本申请实施例提供的基于纠错码的云存储审计系统的示意性框图;
图9为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本申请实施例提供的基于纠错码的云存储审计方法的应用场景示意图;图2为本申请实施例提供的基于纠错码的云存储审计方法的流程示意图,该基于纠错码的云存储审计方法应用于客户端中,所述客户端为台式电脑、平板电脑、手提电脑等终端,该方法通过安装于客户端中的应用软件进行执行。
如图2所示,该方法包括步骤S110~S170。
S110、根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息。
在本实施例中,为了更清楚的理解本申请的技术方案,下面对本申请中所涉及的终端进行介绍,其中本申请是在客户端和云服务器的角度均描述了技术方案。步骤S110-S170是在客户端的角度描述了技术方案,步骤S210-S240是在云服务器的角度描述了技术方案。
第一是客户端,用于将待上传数据上传至云服务器进行存储,而且在上传该待上传数据之后先对云服务器中该数据的完整性进行一次验证,通过该验证后再删除客户端中保存的该待上传数据。
第二是云服务器,用于存储客户端的原始数据并接收客户端发送的审计参数,若在接收到客户端的审计请求后,可以进行对应向量的加法和乘法线性组合运算后得到审计证据以反馈至客户端,以证明待上传数据确实完整地存储在云服务器中。
即当用户将待上传数据上传至云服务器之前,需要首先根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息。所得到的密钥和秘密信息可以用作后续运算的数据基础。其中,安全系数的位长度决定密钥被暴力攻破的难易程度,比如将安全系数设为128,代表着该密钥能抵抗2的128次方级别的蛮力/穷举搜索攻击。
在一实施例中,如图3所示,步骤S110包括:
S111、调用预设的安全系数及预先存储的密钥生成算法;
S112、将所述安全系数作为所述密钥生成算法的输入,得到与所述安全系数有相同位数的密钥,及由伽罗华域内的一个随机数而组成的秘密信息。
在本实施例中,预先存储的密钥生成算法为KeyGen算法,KeyGen算法的输入为安全系数,KeyGen算法的输出为密钥和秘密信息,其中将密钥记为K、将秘密信息记为s。其中,密钥K可以作为后续步骤中伪随机数的生成时所适应的密钥。通过KeyGen算法生成的密钥和秘密信息,安全性较高。更具体的,KeyGen算法就是根据设置的安全系数λ,随机选择任意字符组成与安全系数λ位数相同的密钥K,和n-k字节的秘密信息s,其中n表示预先存储的里德-所罗门码算法的块长度,k表示预先存储的里德-所罗门码算法的消息长度。
S120、根据预先存储的里德-所罗门码算法的消息长度和块长度将待上传数 据划分为若干个数据块,对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,将每一数据块、及每一数据块对应的同态认证及数据纠错融合认证信息发送至云服务器以进行存储。
在本实施例中,待上传数据上传至云服务器之前,可以通过里德-所罗门码算法中的消息长度和块长度将待上传数据划分为若干个数据块,例如将待上传数据对应的原始数据记为F,其划分为n(其中,n为正整数)个数据块后分别记为m 1-m n。此时,对数据块m i(其中,0≤i≤n)按字节单位进行线性纠错编码生成对应的初始冗余信息。对每一块初始冗余信息进行嵌入伪随机数和秘密信息的屏蔽加工操作,使得到的每一块同态认证及数据纠错融合认证信息具备同态认证功能,同时起到屏蔽认证信息的作用。
在一实施例中,如图4所示,步骤S120中对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,包括:
S121、将每一数据块按字节单位进行线性纠错编码,生成与每一数据块对应的初始冗余信息;
S122、调用预先存储的AES加密算法,以每一数据块的数据块索引为所述AES加密算法的明文、以所述密钥为所述AES加密算法的密钥分别进行加密,得到与每一数据块对应的密文以作为每一数据块对应的伪随机数;其中,所述AES加密算法为高级加密标准算法;
S123、将每一数据块对应的初始冗余信息中与所述秘密信息进行向量的按位乘法运算得到各数据块对应的初始运算结果,将各数据块对应的初始运算结果与对应数据块的伪随机数进行向量的按位加法运算,得到与每一数据块对应的同态认证及数据纠错融合认证信息。
在本实施例中,通过里德-所罗门码算法中的消息长度将待上传数据F划分为数据块m 1-m n之后,将数据块m i按字节单位进行线性纠错编码,生成与数据块m i对应的初始冗余信息δ i
之后随机获取数据块的数据块索引i,将数据块的数据块索引i为所述AES加密算法的明文、及以所述密钥K分别作为所述AES加密算法的密钥进行加密,得到与数据块m i对应的密文以作为该数据块m i对应的伪随机数AES_K(i),此时 将初始冗余信息δ i经过如下运算:
Figure PCTCN2019128756-appb-000001
其中,式1中初始冗余信息δ i与秘密信息s进行的是向量的按位乘法运算,所计算得到的是数据块m i对应的初始运算结果,之后再将数据块m i对应的初始运算结果与数据块m i对应的伪随机数AES_K(i)进行向量的按位加法运算,即可得到每一数据块对应的同态认证及数据纠错融合认证信息δ′ i(可以视为一个冗余块),向量的按位乘法运算、向量的按位除法运算、向量的按位加法运算、向量的按位减法运算是伽罗华域上的四则运算。此时待上传数据的原始数据F变为了加工后数据F’,加工后数据F’中包括n个数据块和n个冗余块,加工后数据F'与原数据F相比没有任何变化,只是多了一个冗余数据,且冗余数据与原数据F是分开存储而没有融合在一起。
由于加工后数据F'与原数据F相比只是多了一个冗余数据,故可轻易将其扩展为支持在线预览功能。在线预览的加工后数据F'与原数据F相比是无区别的,因为无需在原数据F中嵌入纠错编码的冗余数据或是直接将认证信息嵌入在原数据。经过上传数据的外包操作后,客户端将数据块和冗余块发送至云服务器。基于冗余块的生成过程,使得冗余块既支持部分数据损坏的恢复功能,又具备同态认证功能,同时起到屏蔽认证信息的作用。
S130、获取所选定的审计长度数量,随机获取与审计长度数量有相同个数的数据块索引和系数,以组成审计参数并发送至云服务器。
在本实施例中,当客户端将待上传数据F上传至云服务器后,用户在客户端的用户操作界面(该用户操作界面为客户端上显示的云存储审计系统的UI界面)上选择审计长度,即触发了所述数据审计请求,最后将所选定出来的审计长度数量随机选定数据块索引和系数组成审计参数发送到云服务器以请求审计。
在一实施例中,如图5所示,步骤S130包括:
S131、随机获取与数据审计请求对应选定的审计长度数量有相同个数的数据块索引;
S132、在伽罗华域中随机获取与所述数据块索引具有相等个数的系数;
S133、将各数据块索引、及各系数组成审计参数发送至云服务器。
在本实施例中,用户在客户端中操作选定审计长度数量,此时该审计长度数量被客户端所获取。例如,记审计长度为l,随机选择l个数据块索引,将这 l个数据块索引组成的集合记为{i 1,i 2,……,i l},在任意伽罗华域GF(2 m)中随机选择l个系数{c 1,c 2,……,c l},将l个数据块索引组成的集合{i 1,i 2,……,i l}、l个系数组成的集合{c 1,c 2,……,c l}组成审计参数q发送至云服务器。通过发送审计参数触发云服务器对已存储的数据进行审计,减少了与数据审计请求一同发送的信息,也即简化了请求参数的数据格式。
S140、接收云服务器根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算。
在本实施例中,客户端触发了数据审计请求后,由于云服务器接收了来自客户端发送的数据审计参数,为了向客户端证明数据仍完整的存储在云服务器中,此时云服务器根据审计参数中l个数据块索引组成的集合{i 1,i 2,……,i l}以及l个系数组成的集合{c 1,c 2,……,c l}分别进行数据块证据和冗余块证据的计算。
根据审计参数计算数据块证据的算法如下式2,根据审计参数计算冗余块证据的算法如下式3:
Figure PCTCN2019128756-appb-000002
Figure PCTCN2019128756-appb-000003
其中,i j表示审计索引且i j属于审计参数q,
Figure PCTCN2019128756-appb-000004
表示根据审计索引选出的数据块,
Figure PCTCN2019128756-appb-000005
表示与数据块
Figure PCTCN2019128756-appb-000006
对应的冗余块。其中,式2和式3中的加法运算是向量的按位加法运算(向量的按位加法运算也可以理解为伽罗华域加法运算),式2和式3中的乘法运算是向量的按位乘法运算(向量的按位乘法运算也可以理解为伽罗华域乘法运算)。
之后,由(χ,Γ)组成审计证据发送至客户端,客户端所接收的审计证据包括数据块证据χ和冗余块证据Γ。
也即云服务器接收到来自客户端的数据审计请求后,根据系数计算指定索引的数据块和冗余块的线性组合,将数据块的线性组合作为数据块证据,冗余块的线性组合作为冗余块证据一起返回给客户端以作为审计证据。
S150、根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行去屏蔽信息处理以得到云返回冗余信息,并对所述审计数据中的数据块证据进行线性纠错编码以得到新状态冗余数据。
在本实施例中,若客户端接收到云服务器发送的与数据审计请求对应的数据块证据和冗余块证据后,使用密钥和秘密信息去除冗余块证据的屏蔽信息(即去除外包时添加的伪随机数和秘密信息)得到冗余信息的线性组合。客户端还需要对数据块证据再次执行线性纠错编码,得到新的冗余信息,将此时得到新的冗余信息与去除屏蔽信息是冗余证块据相比较,即可确定存储在云服务器中数据的完整性。
在一实施例中,如图6所示,步骤S150中根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行去屏蔽信息处理以得到云返回冗余信息,包括:
S151、将所述审计参数中的各数据块索引分别作为所述AES加密算法的明文、将所述密钥分别作为所述AES加密算法的密钥进行加密,得到与所述审计参数中各数据块索引对应的密文以作为各数据块索引对应的伪随机数;
S152、将所述审计参数中各数据块索引对应的伪随机数与各系数进行向量的按位乘法,得到伪随机数计算结果;
S153、将所述审计证据中的数据块证据与所述伪随机数计算结果进行向量的按位减法运算得到减法运算结果,将所述减法运算结果与所述秘密信息进行向量的按位除法运算得到云返回冗余信息。
在本实施例中,若客户端接收了云服务器发送的审计证据(χ,Γ)后,由于客户端的本地存储有审计参数q、密钥K和秘密信息s,此时客户端先使用密钥K重新计算审计参数q中l个数据块索引组成的集合{i 1,i 2,……,i l}分别对应的伪随机数F K(i j)(其中i j∈{i 1,i 2,……,i l}),具体是将所述审计参数q中的各数据块索引{i 1,i 2,……,i l}和所述密钥K分别作为所述AES加密算法的输入,得到与所述审计参数中各数据块索引{i 1,i 2,……,i l}一一对应的伪随机数F K(i j)。之后结合秘密信息s进行去屏蔽信息操作,得到云返回冗余信息σ,其中
Figure PCTCN2019128756-appb-000007
Figure PCTCN2019128756-appb-000008
之后对所述审计数据中的数据块证据进行线性纠错编码以得到新状态冗余数据,具体如下:令所述审计数据中的数据块证据χ为待纠错编码数据,对待纠错编码数据进行线性纠错编码得到新状态冗余数据σ′。具体的,对待纠错编码数据进行线性纠错编码时采用里德-所罗门码算法。
S160、判断所述云返回冗余信息是否等于所述新状态冗余数据。
在本实施例中,为了验证云服务器中存储的待上传数据F是完整的,此时 只需比较云返回冗余信息σ与新状态冗余数据σ′是否相等。
S170、若所述云返回冗余信息等于所述新状态冗余数据,进行已通过云存储数据完整性验证的信息提示。
在一实施例中,步骤S170中包括:
若所述云返回冗余信息等于所述新状态冗余数据,将云存储数据完整性的验证结果参数置为1,将所述验证结果参数进行显示。
在本实施例中,若云返回冗余信息σ与新状态冗余数据σ′是相等,表示云服务器中存储的待上传数据F是完整的,其通过了云存储数据完整性验证,此时在客户端上进行已通过云存储数据完整性验证的信息提示,例如在用户端的用户交互界面上显示“验证结果参数=1,云服务器中存储数据通过完整性验证”的提示信息。
步骤S160之后还包括:
S180、若所述云返回冗余信息不等于所述新状态冗余数据,进行未通过云存储数据完整性验证的信息提示。
在本实施例中,若云返回冗余信息σ与新状态冗余数据σ′是不相等的,表示云服务器中存储的待上传数据F不是完整的,其未通过云存储数据完整性验证,此时在客户端上进行未通过云存储数据完整性验证的信息提示,例如在用户端的用户交互界面上显示“验证结果参数=0,云服务器中存储数据未通过完整性验证”的提示信息。
图7是本申请另一实施例提供的一种基于纠错码的云存储审计方法的流程示意图。如图7所示,本实施例的基于纠错码的云存储审计方法包括步骤S210-S240。
S210、接收客户端上传的每一数据块,及与每一数据块对应的同态认证及数据纠错融合认证信息;
S220、判断是否接收到客户端发送的审计参数;
S230、若接收到客户端发送的审计参数,根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算;
S240、将所述审计证据发送至客户端。
在本实施例中,云服务器主要是用于存储客户端的原始数据(例如步骤S120 中的待上传数据)并接收客户端发送的审计参数,若在接收到客户端的审计请求后,可以进行对应向量的加法和乘法线性组合运算后得到审计证据以反馈至客户端,以证明待上传数据确实完整地存储在云服务器中。当云服务器未检测客户端发送的审计参数时,则不作任何处理。
在云服务器中对接收到客户端的审计请求后,可以进行对应向量的加法和乘法线性组合运算,具体可参考步骤S140中的式2和式3。本申请中充分利用线性纠错码的性质,要求云服务器分别计算一个数据证据和冗余证据返回给客户端,客户端通过冗余证据验证数据证据即可实现数据的完整性检查。
目前一般的云存储服务(即架构为客户端和云服务器),若不支持动态数据更新,一旦用户将数据上传到云服务器,就不能对已存储的数据进行插入、修改和删除操作。本申请中云服务器可轻易修改使其支持动态数据更新。其中,客户端在将待上传数据时需要设置一个用于记录当前最大数据块索引的变量存储在本地,记为global_index,并将待上传数据F划分的数据块m 1-m n对应的数据块数量n赋值给global_index,即global_index=n,此时数据块数量n为初始赋值,之后global_index会随着更新操作的执行而变化。
存储在云服务器中的多个数据块的索引还在客户端中使用一个元数据表来存储,即每一数据块的物理索引和逻辑索引存储在元数据表中。
例如客户端中存储的元数据表如下表1:
物理索引 逻辑索引
1 1
2 2
3 3
4 4
5 5
6 6
……  
w w
表1
其中,w=global_index。
当需要在云服务器中物理索引=5的位置处插入一个数据块(也即新增一个 数据块),此时将物理索引=5之后数据块的物理索引全部加1同时保持数据块的逻辑索引不变,此时云服务器中物理索引=5的位置处插入的数据块物理索引=5且逻辑索引=global_index+1,从而得到如表2的元数据表:
物理索引 逻辑索引
1 1
2 2
3 3
4 4
5 w+1
6 5
……  
w w-1
w+1 w
表2
同理,当需要在云服务器中物理索引=5的位置处删除一个数据块时,此时将物理索引=5之后数据块的物理索引全部减1同时保持数据块的逻辑索引不变,具体如表3:
物理索引 逻辑索引
1 1
2 2
3 3
4 4
5 6
6 7
……  
w-2 w-1
w-1 w
表3
也即对元数据表中插入数据块或删除数据块操作都不会改变原始已存储在 该元数据表中的逻辑索引。
当需要在云服务器中物理索引=5的位置处修改一个数据块时,此时将物理索引=5之后数据块的物理索引全部保持不变且将物理索引=5的位置处的数据块的逻辑索引修改为global_index加1,具体如表4:
物理索引 逻辑索引
1 1
2 2
3 3
4 4
5 w+1
6 6
……  
w-1 w-1
w w
表4
为了压缩存储元数据表,图表1的元数据表可压缩为如表5,此时只用存储物理索引的起点和终点、及逻辑索引的起点和终点:
物理索引 1 w
逻辑索引 1 w
表5
如表2所示的元数据表是因为插入一个数据块,将原始的元数据表通过所插入的数据块切割为两段,此时表2的元数据表可以压缩为如表6,此时原始的元数据表被插入的数据表切割为两段的物理索引的起点和终点、及逻辑索引的起点和终点均需保存,切割的数据块对应的物理索引和逻辑索引需保存(即物理索引=5,逻辑索引=w+1):
物理索引 1 4 5 6 w+1
逻辑索引 1 4 w+1 5 w
表6
如表3所示的元数据表是因为删除一个数据块,将原始的元数据表通过所 删除的数据块切割为两段,此时表3的元数据表可以压缩为如表7,此时原始的元数据表被删除的数据表切割为两段的物理索引的起点和终点、及逻辑索引的起点和终点均需保存:
物理索引 1 4 5 w-1
逻辑索引 1 4 6 w
表7
如表4所示的元数据表是因为在指定物理索引位置处修订一个数据块,将原始的元数据表通过所修订的数据块切割为两段,此时表4的元数据表可以压缩为如表8,此时原始的元数据表被插入的数据表切割为两段的物理索引的起点和终点、及逻辑索引的起点和终点均需保存,切割的数据块对应的物理索引和逻辑索引需保存(即物理索引=5,逻辑索引=w+1):
物理索引 1 4 5 6 w
逻辑索引 1 4 w+1 6 w
表8
也即客户端的本地存储数据块的物理索引、也保存其逻辑索引的方式,可以方便在云服务器接收到客户端上传的审计参数q后根据l个数据块索引组成的集合{i 1,i 2,……,i l}(这些数据块索引指的是物理索引),在元数据表中对应得到每一数据块索引对应的逻辑索引,以每一数据块逻辑索引作为数据块索引i参与运算。
由于在数据外包的时候嵌入了一个伪随机数在初始冗余信息中(从而得到了与每一数据块对应的同态认证及数据纠错融合认证信息),为了保证每一个冗余块(冗余块可以理解为每一数据块对应的同态认证及数据纠错融合认证信息)的伪随机数都是唯一的,故使用逻辑索引i作为明文,也就是说,冗余块的伪随机数依赖于逻辑索引。
而动态更新操作会引起数据索引的变化(比如在某一位置插入或删除一个数据块,那么从该位置起始到最后一个数据块的冗余信息都要重新计算,因为其索引变化了)。为了减少非必要的计算,引入了逻辑索引和物理索引,在外包时使用到的索引称之为逻辑索引,审计用到的所有称为物理索引,若整个存储系统的生命周期中都没有动态数据操作(也就是原始的方案),那么物理索 引与逻辑索引是相等的;一旦有动态更新操作,那么物理索引就不会总是与逻辑索引相等。审计时,使用了物理索引,但验证时需要使用逻辑索引来重新产生伪随机数。而且对元数据表进行压缩,可以有效减小存储开销。
该方法实施时具有以下有益效果:
1)更简洁,以Reed-Solomon code为基础,在其上融合密码学认证技术,保障了数据完整性,编程实现方便;
2)更高效,无任何计算密集型加密运算,没有任何复杂的计算,计算速度更快,效率更高;
3)更轻量级,合理利用冗余数据,不引入新的额外存储开销即可实现同态验证;
4)功能齐全,支持数据纠错等操作。
本申请实施例还提供一种基于纠错码的云存储审计系统,该基于纠错码的云存储审计系统包括至少一客户端和云服务器,客户端用于执行前述基于纠错码的云存储审计方法中可用于客户端执行的方法,云服务器用于执行前述基于纠错码的云存储审计方法中可用于云服务器执行的方法。具体地,请参阅图8,图8是本申请实施例提供的基于纠错码的云存储审计系统的示意性框图。
如图8所示,基于纠错码的云存储审计系统100包括至少一个客户端101和云服务器102,客户端101包括:密钥生产单元110、数据外包单元120、审计参数发送单元130、审计证据接收单元140、多冗余数据计算单元150、多冗余数据比较单元160、验证通过提示单元170。
云服务器102包括:数据块接收单元210、审计参数检测单元220、审计证据生成单元230、审计证据发送单元240。
其中,密钥生产单元110,用于根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息。
在一实施例中,密钥生产单元110包括:
调用单元,用于调用预设的安全系数及预先存储的密钥生成算法;
生成单元,用于将所述安全系数作为所述密钥生成算法的输入,得到与所述安全系数有相同位数的密钥,及由伽罗华域内的一个随机数而组成的秘密信息。
数据外包单元120,用于根据预先存储的里德-所罗门码算法的消息长度和 块长度将待上传数据划分为若干个数据块,对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,将每一数据块、及每一数据块对应的同态认证及数据纠错融合认证信息发送至云服务器以进行存储。
在一实施例中,数据外包单元120包括:
初始冗余信息获取单元,用于将每一数据块按字节单位进行线性纠错编码,生成与每一数据块对应的初始冗余信息;
第一伪随机数产生单元,用于调用预先存储的AES加密算法,以每一数据块的数据块索引为所述AES加密算法的明文、以所述密钥为所述AES加密算法的密钥分别进行加密,得到与每一数据块对应的密文以作为每一数据块对应的伪随机数;其中,所述AES加密算法为高级加密标准算法;
第一伽罗华域运算单元,用于将每一数据块对应的初始冗余信息中与所述秘密信息进行向量的按位乘法运算得到各数据块对应的初始运算结果,将各数据块对应的初始运算结果与对应数据块的伪随机数进行向量的按位加法运算,得到与每一数据块对应的同态认证及数据纠错融合认证信息。
审计参数发送单元130,用于获取所选定的审计长度数量,随机获取与审计长度数量有相同个数的数据块索引和系数,以组成审计参数并发送至云服务器。
在一实施例中,审计参数发送单元130包括:
数据块索引获取单元,用于随机获取与数据审计请求对应选定的审计长度数量有相同个数的数据块索引;
系数获取单元,用于在伽罗华域中随机获取与所述数据块索引具有相等个数的系数;
审计参数获取单元,用于将各数据块索引、及各系数组成审计参数发送至云服务器。
审计证据接收单元140,用于接收云服务器根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算。
多冗余数据计算单元150,用于根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行 去屏蔽信息处理以得到云返回冗余信息,并对所述审计数据中的数据块证据进行线性纠错编码以得到新状态冗余数据。
在一实施例中,多冗余数据计算单元150,包括:
第二伪随机数产生单元,用于将所述审计参数中的各数据块索引分别作为所述AES加密算法的明文、将所述密钥分别作为所述AES加密算法的密钥进行加密,得到与所述审计参数中各数据块索引对应的密文以作为各数据块索引对应的伪随机数;
线性组合运算单元,用于将所述审计参数中各数据块索引对应的伪随机数与各系数进行向量的按位乘法,得到伪随机数计算结果;
第二伽罗华域运算单元,用于将所述审计证据中的数据块证据与所述伪随机数计算结果进行向量的按位减法运算得到减法运算结果,将所述减法运算结果与所述秘密信息进行向量的按位除法运算得到云返回冗余信息。
多冗余数据比较单元160,用于判断所述云返回冗余信息是否等于所述新状态冗余数据。
验证通过提示单元170,用于若所述云返回冗余信息等于所述新状态冗余数据,进行已通过云存储数据完整性验证的信息提示。
在一实施例中,验证通过提示单元170还用于:
若所述云返回冗余信息等于所述新状态冗余数据,将云存储数据完整性的验证结果参数置为1,将所述验证结果参数进行显示。
在一实施例中,如图7所示,基于纠错码的云存储审计系统100还包括:
验证未通过提示单元180,用于若所述云返回冗余信息不等于所述新状态冗余数据,进行未通过云存储数据完整性验证的信息提示。
数据块接收单元210,用于接收客户端上传的每一数据块,及与每一数据块对应的同态认证及数据纠错融合认证信息。
审计参数检测单元220,用于判断是否接收到客户端发送的审计参数。
审计证据生成单元230,用于若接收到客户端发送的审计参数,根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算。
审计证据发送单元240,用于将所述审计证据发送至客户端。
该系统实施时具有以下有益效果:
1)更简洁,以Reed-Solomon code为基础,在其上融合密码学认证技术,保障了数据完整性,编程实现方便;
2)更高效,无任何计算密集型加密运算,没有任何复杂的计算,计算速度更快,效率更高;
3)更轻量级,合理利用冗余数据,不引入新的额外存储开销即可实现同态验证;
4)功能齐全,支持数据纠错等操作。
上述基于纠错码的云存储审计系统可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的计算机设备的示意性框图。该计算机设备500为客户端时,可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。或者该计算机设备500是云服务器时,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于纠错码的云存储审计方法可用于客户端执行的方法,或者可使得处理器502执行基于纠错码的云存储审计方法可用于云服务器执行的方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于纠错码的云存储审计方法可用于客户端执行的方法,或者可使得处理器502执行基于纠错码的云存储审计方法可用于云服务器执行的方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本申请实施例公开的基于纠错码的云存储审计方法可用于客户端执行的方法,或者基于纠错码的云存储审计方法可用于云服务器执行的方法。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的基于纠错码的云存储审计方法中可用于客户端执行的方法,或者计算机程序被处理器执行时实现本申请实施例公开的基于纠错码的云存储审计方法中可用于云服务器执行的方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

  1. 一种基于纠错码的云存储审计方法,其特征在于,应用于客户端,所述方法包括:
    根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息;
    根据预先存储的里德-所罗门码算法的消息长度和块长度将待上传数据划分为若干个数据块,对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,将每一数据块、及每一数据块对应的同态认证及数据纠错融合认证信息发送至云服务器以进行存储;
    获取所选定的审计长度数量,随机获取与审计长度数量有相同个数的数据块索引和系数,以组成审计参数并发送至云服务器;
    接收云服务器根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算;
    根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行去屏蔽信息处理以得到云返回冗余信息,并对所述审计数据中的数据块证据进行线性纠错编码以得到新状态冗余数据;
    判断所述云返回冗余信息是否等于所述新状态冗余数据;以及
    若所述云返回冗余信息等于所述新状态冗余数据,进行已通过云存储数据完整性验证的信息提示。
  2. 根据权利要求1所述的基于纠错码的云存储审计方法,其特征在于,所述根据预设的安全系数及预先存储的密钥生成算法,生成与所述安全系数相对应的密钥和秘密信息,包括:
    调用预设的安全系数及预先存储的密钥生成算法;
    将所述安全系数作为所述密钥生成算法的输入,得到与所述安全系数有相同位数的密钥,及由伽罗华域内的一个随机数而组成的秘密信息。
  3. 根据权利要求1所述的基于纠错码的云存储审计方法,其特征在于,所 述对每一数据块均进行线性纠错编码,产生与每一数据块对应的初始冗余信息,对每一初始冗余信息进行嵌入秘密信息和伪随机数的加工,得到同态认证及数据纠错融合认证信息,包括:
    将每一数据块按字节单位进行线性纠错编码,生成与每一数据块对应的初始冗余信息;
    调用预先存储的AES加密算法,以每一数据块的数据块索引为所述AES加密算法的明文、以所述密钥为所述AES加密算法的密钥分别进行加密,得到与每一数据块对应的密文以作为每一数据块对应的伪随机数;其中,所述AES加密算法为高级加密标准算法;
    将每一数据块对应的初始冗余信息中与所述秘密信息进行向量的按位乘法运算得到各数据块对应的初始运算结果,将各数据块对应的初始运算结果与对应数据块的伪随机数进行向量的按位加法运算,得到与每一数据块对应的同态认证及数据纠错融合认证信息。
  4. 根据权利要求3所述的基于纠错码的云存储审计方法,其特征在于,所述随机获取与数据审计请求对应选定的审计长度数量有相同个数的数据块索引和系数,以组成审计参数并发送至云服务器,包括:
    随机获取与数据审计请求对应选定的审计长度数量有相同个数的数据块索引;
    在伽罗华域中随机获取与所述数据块索引具有相等个数的系数;
    将各数据块索引、及各系数组成审计参数发送至云服务器。
  5. 根据权利要求4所述的基于纠错码的云存储审计方法,其特征在于,所述根据所述审计参数及所述密钥重新产生伪随机数,通过所述伪随机数及所述秘密信息对所述审计证据中的冗余块证据进行去屏蔽信息处理以得到云返回冗余信息,包括:
    将所述审计参数中的各数据块索引分别作为所述AES加密算法的明文、将所述密钥分别作为所述AES加密算法的密钥进行加密,得到与所述审计参数中各数据块索引对应的密文以作为各数据块索引对应的伪随机数;
    将所述审计参数中各数据块索引对应的伪随机数与各系数进行向量的按位乘法,得到伪随机数计算结果;
    将所述审计证据中的数据块证据与所述伪随机数计算结果进行向量的按位 减法运算得到减法运算结果,将所述减法运算结果与所述秘密信息进行向量的按位除法运算得到云返回冗余信息。
  6. 根据权利要求4所述的基于纠错码的云存储审计方法,其特征在于,所述若所述云返回冗余信息等于所述新状态冗余数据,进行已通过云存储数据完整性验证的信息提示,包括:
    若所述云返回冗余信息等于所述新状态冗余数据,将云存储数据完整性的验证结果参数置为1,将所述验证结果参数进行显示。
  7. 一种基于纠错码的云存储审计方法,其特征在于,应用于云服务器,所述方法包括:
    接收客户端上传的每一数据块,及与每一数据块对应的同态认证及数据纠错融合认证信息;
    判断是否接收到客户端发送的审计参数;
    若接收到客户端发送的审计参数,根据所述审计参数进行线性组合对应生成的审计证据;其中,所述审计证据包括数据块证据和冗余块证据,所述线性组合对应的运算为向量运算;
    将所述审计证据发送至客户端。
  8. 一种基于纠错码的云存储审计系统,其特征在于,包括至少一客户端和云服务器,所述客户端用于执行如权利要求1-6任一项所述的方法,所述服务器端用于执行如权利要求7所述的方法。
  9. 一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于纠错码的云存储审计方法,或是实现如权利要求7所述的基于纠错码的云存储审计方法。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的基于纠错码的云存储审计方法,或是执行如权利要求7所述的基于纠错码的云存储审计方法。
PCT/CN2019/128756 2019-12-12 2019-12-26 基于纠错码的云存储审计方法、系统及计算机设备 WO2021114407A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911276727.1 2019-12-12
CN201911276727.1A CN110995734B (zh) 2019-12-12 2019-12-12 基于纠错码的云存储审计方法、系统及计算机设备

Publications (1)

Publication Number Publication Date
WO2021114407A1 true WO2021114407A1 (zh) 2021-06-17

Family

ID=70092919

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128756 WO2021114407A1 (zh) 2019-12-12 2019-12-26 基于纠错码的云存储审计方法、系统及计算机设备

Country Status (2)

Country Link
CN (1) CN110995734B (zh)
WO (1) WO2021114407A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115801256B (zh) * 2023-02-09 2023-04-18 广东广宇科技发展有限公司 一种基于量子密钥的网络安全验证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710757A (zh) * 2012-05-21 2012-10-03 北京航空航天大学 一种分布式云存储数据完整性保护方法
US20190020470A1 (en) * 2017-07-14 2019-01-17 Raytheon Company Entwined encryption and error correction
CN110008755A (zh) * 2019-03-21 2019-07-12 广东优世联合控股集团股份有限公司 一种云存储可撤销动态数据完整性验证系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089323B2 (en) * 2012-04-05 2018-10-02 Microsoft Technology Licensing, Llc Telemetry system for a cloud synchronization system
CN103425941B (zh) * 2013-07-31 2016-12-28 数安时代科技股份有限公司 云存储数据完整性的验证方法、设备和服务器
CN105320899B (zh) * 2014-07-22 2018-01-09 北京大学 一种面向用户的云存储数据完整性保护方法
CN104811300B (zh) * 2015-04-22 2017-11-17 电子科技大学 云存储的密钥更新方法及云数据审计系统的实现方法
CN104811450B (zh) * 2015-04-22 2017-10-17 电子科技大学 云计算中一种基于身份的数据存储方法及完整性验证方法
CN105515778B (zh) * 2015-12-25 2018-10-16 河南城建学院 云存储数据完整性服务签名方法
CN107743125A (zh) * 2017-10-17 2018-02-27 华北电力大学 一种电力业务终端的数据安全管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710757A (zh) * 2012-05-21 2012-10-03 北京航空航天大学 一种分布式云存储数据完整性保护方法
US20190020470A1 (en) * 2017-07-14 2019-01-17 Raytheon Company Entwined encryption and error correction
CN110008755A (zh) * 2019-03-21 2019-07-12 广东优世联合控股集团股份有限公司 一种云存储可撤销动态数据完整性验证系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Chinese Master’s Theses Full-text Database (electronic journal), Engineering Science & Technology", 1 April 2016, article LI, ZHONGHAI: "Research on the Technology of Integrity Checking and Recovery for Cloud-based Big Data in VANET", pages: 1 - 56, XP055820252 *
LI, ZHONGHAI: "Chinese Master’s Theses Full-text Database (electronic journal), Engineering Science & Technology)", CHINESE MASTER’S THESES FULL-TEXT DATABASE (ELECTRONIC JOURNAL), ENGINEERING SCIENCE & TECHNOLOGY, 28 February 2017 (2017-02-28) *
XIAO DA; YANG YAN; YAO WENBIN; WU CHUNHUA; LIU JIANYI; YANG YIXIAN: "Multiple-File Remote Data Checking for cloud storage", COMPUTERS & SECURITY., ELSEVIER SCIENCE PUBLISHERS. AMSTERDAM., NL, vol. 31, no. 2, 1 January 1900 (1900-01-01), NL, pages 192 - 205, XP028897061, ISSN: 0167-4048, DOI: 10.1016/j.cose.2011.12.005 *

Also Published As

Publication number Publication date
CN110995734B (zh) 2020-12-15
CN110995734A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
TWI711287B (zh) 基於區塊鏈的交易共識處理方法及裝置、電子設備
CN110378139B (zh) 一种数据密钥保护方法、系统及电子设备和存储介质
US8392713B2 (en) Secure offline activation process for licensed software application programs
CN110610105B (zh) 一种云环境下基于秘密共享的三维模型文件的认证方法
WO2019237550A1 (zh) 加密方法、装置、终端设备及存储介质
CN113259132B (zh) 数据传输加解密方法、装置、计算机设备及存储介质
US9231927B2 (en) Information processing apparatus, data generation method, information processing method, and information processing system for updating and verifying software programs
CN115580396A (zh) 匿踪查询系统及匿踪查询方法
CN111404892B (zh) 数据监管方法、装置和服务器
CN112635009A (zh) 基于区块链的医疗数据加密方法
CN114244530A (zh) 资源访问方法及装置、电子设备、计算机可读存储介质
WO2021114407A1 (zh) 基于纠错码的云存储审计方法、系统及计算机设备
CN109951275B (zh) 密钥生成方法、装置、计算机设备及存储介质
CN112184441A (zh) 数据处理方法、装置、节点设备及存储介质
CN112434094A (zh) 基于加密算法的数据库连接方法、装置及计算机设备
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP4914381B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
JP6273224B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法
CN111865891B (zh) 一种数据传输方法、用户端、电子设备及可读存储介质
CN113721986A (zh) 一种数据压缩方法、装置及电子设备和存储介质
CN114244517A (zh) 数据加密及签名方法、装置、计算机设备和存储介质
CN112184440A (zh) 数据处理方法、装置、节点设备及存储介质
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质
CN113014384B (zh) 基于dh密钥交换算法的数据比较方法、装置、计算机设备及存储介质
CN116827553A (zh) 基于sm3算法的认证码生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19955923

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12/10/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19955923

Country of ref document: EP

Kind code of ref document: A1