Multi-version data integrity cloud audit method and system
By verifying signed metadata on the server side and establishing a trusted channel, the problem of large computing and communication overhead in multi-version data integrity cloud audit is solved, and efficient data integrity verification is achieved.
Patent Information
- Application Number
- CN202110520638.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-13
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2041-05-13
AI Technical Summary
In cloud data audit, how to achieve integrity audit of multi-version data while avoiding serious computing and communication overheads on the user side and server side has become an urgent problem that needs to be solved by cloud data integrity audit.
By verifying the signed metadata on the server side, establishing a trusted container and a trusted channel between the client and the server, and then verifying the integrity of the current version file and historical version file in the trusted container.
Reduces the computing and communication overhead of multi-version data integrity cloud auditing, and improves the accuracy and efficiency of data integrity verification.
Smart Images

Figure CN113139213B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing technology, and in particular to a multi-version data integrity cloud audit method and system. Background Art
[0002] This section is intended to provide a background or context to the embodiments of the invention recited in the claims. No admission is made that the description herein is prior art by inclusion in this section.
[0003] In order to save storage space, cloud storage services often save data in incremental form during data updates and data backups. Saving data in incremental form can not only effectively save storage space, but also facilitate data rollback. In the process of continuous data modification, multi-version data is formed by incremental data saving. In cloud data auditing, how to implement integrity auditing of multi-version data while avoiding severe computing and communication overhead on the user side and the server side has become an urgent problem to be solved in cloud data integrity auditing. Summary of the invention
[0004] An embodiment of the present invention provides a multi-version data integrity cloud audit method, which is used to reduce the computation and communication overhead of multi-version data integrity cloud audit. The multi-version data integrity cloud audit method includes:
[0005] The server verifies the signature of the current version of the file sent by the client based on the metadata of the verification signature;
[0006] After the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client;
[0007] The server verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel.
[0008] The embodiment of the present invention further provides a multi-version data integrity cloud audit system, which is used to reduce the computation and communication overhead of multi-version data integrity cloud audit. The multi-version data integrity cloud audit system includes:
[0009] The signature verification module is used to verify the signature of the current version file sent by the client according to the metadata of the verification signature;
[0010] The operating environment authentication module is used to establish a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client after the signature verification of the current version file is passed;
[0011] The integrity verification module is used to verify the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel.
[0012] An embodiment of the present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned multi-version data integrity cloud audit method when executing the computer program.
[0013] An embodiment of the present invention also provides a computer-readable storage medium, which stores a computer program for executing the above-mentioned multi-version data integrity cloud audit method.
[0014] In an embodiment of the present invention, the server verifies the signature of the current version file sent by the client based on the metadata of the signature verification; after the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container based on the operating environment authentication request sent by the client; the server verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel. In an embodiment of the present invention, after the signature verification of the current version file is passed, a trusted channel is established between the trusted container and the server trusted container, and the integrity of the current version file and the historical version file is verified in the trusted container, which can reduce the computational and communication overhead of multi-version data integrity cloud auditing. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0016] Figure 1 A flowchart of the implementation of the multi-version data integrity cloud audit method provided by the embodiment of the present invention;
[0017] Figure 2 A flowchart for implementing step 101 in the multi-version data integrity cloud audit method provided in an embodiment of the present invention;
[0018] Figure 2-1 A schematic diagram of a reverse incremental version control chain provided by an embodiment of the present invention;
[0019] Figure 3 A flowchart for implementing step 201 in the multi-version data integrity cloud audit method provided in an embodiment of the present invention;
[0020] Figure 4 A flowchart for implementing step 202 in the multi-version data integrity cloud audit method provided in an embodiment of the present invention;
[0021] Figure 5 A flowchart for implementing step 102 in the multi-version data integrity cloud audit method provided in an embodiment of the present invention;
[0022] Figure 6 A flowchart for implementing step 103 in the multi-version data integrity cloud audit method provided in an embodiment of the present invention;
[0023] Figure 7 Another implementation flow chart of step 103 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention;
[0024] Figure 7-1 A schematic diagram of a reverse incremental version control chain provided by an embodiment of the present invention;
[0025] Figure 8 A functional module diagram of a multi-version data integrity cloud audit system provided by an embodiment of the present invention;
[0026] Fig. 9 A structural block diagram of the signature verification module 801 in the multi-version data integrity cloud audit system provided by an embodiment of the present invention;
[0027] Fig.10 A structural block diagram of a client signature generation unit 901 in a multi-version data integrity cloud audit system provided in an embodiment of the present invention;
[0028] Fig.11 A structural block diagram of a server-side control chain hash value generation unit 902 in a multi-version data integrity cloud audit system provided in an embodiment of the present invention;
[0029] Fig.12 A structural block diagram of the operating environment authentication module 802 in the multi-version data integrity cloud audit system provided in an embodiment of the present invention;
[0030] Fig.13 A structural block diagram of the integrity verification module 803 in the multi-version data integrity cloud audit system provided in an embodiment of the present invention;
[0031] Fig.14 Another structural block diagram of the integrity verification module 803 in the multi-version data integrity cloud audit system provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0032] To make the purpose, technical solution and advantages of the embodiments of the present invention more clear, the embodiments of the present invention are further described in detail below in conjunction with the accompanying drawings. Here, the exemplary embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0033] Figure 1 The implementation process of the multi-version data integrity cloud audit method provided by the embodiment of the present invention is shown. For the convenience of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0034] like Figure 1 As shown, the multi-version data integrity cloud audit method is applied to a multi-version data integrity cloud audit system including a server and a client that have deployed software protection extension instructions. The multi-version data integrity cloud audit method includes:
[0035] Step 101, the server verifies the signature of the current version file sent by the client according to the metadata of the verification signature;
[0036] Step 102: After the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client;
[0037] Step 103: The server verifies the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel.
[0038] A multi-version data integrity cloud audit method is applied to a multi-version data integrity cloud audit system, wherein the multi-version data integrity cloud audit system includes a server and a client that deploy Software Guard Extensions (SGX).
[0039] Among them, the client can organize and store files in an incremental manner, and the preferred client organizes and stores files in an inverse incremental manner. In the case of inverse incremental storage, there are multiple versions of the file (data), the latest version is stored in full, and the other versions are stored in an inverse incremental manner. Specifically, when performing a cloud audit on the integrity of multi-version data, the client uses an inverse incremental method to send the signature of the current version of the file and the metadata for verifying the (client's) signature to the server. The server then verifies the signature of the current version of the file sent by the client based on the metadata for verifying the signature.
[0040] After the signature verification of the current version file passes, it means that the file is authentic and valid. At this time, the server feeds back a message to the client that the signature verification of the current version file has passed. Then, based on the verification message fed back by the server, the client sends a runtime environment authentication request to the server. Then, the server establishes a trusted container based on the runtime environment authentication request sent by the client, and establishes a trusted channel between the client and the server trusted container.
[0041] After establishing a trusted container and a trusted channel between the client and server trusted containers, the client sends a file identifier corresponding to the current version of the file and an integrity verification request for the current version of the file through the established trusted channel. The server then verifies the integrity of the current version of the file based on the file identifier and the integrity verification request.
[0042] In an embodiment of the present invention, the server verifies the signature of the current version file sent by the client based on the metadata of the signature verification; after the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container based on the operating environment authentication request sent by the client; the server verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel. In an embodiment of the present invention, after the signature verification of the current version file is passed, a trusted channel is established between the trusted container and the server trusted container, and the integrity of the current version file and the historical version file is verified in the trusted container, which can reduce the computational and communication overhead of multi-version data integrity cloud auditing.
[0043] The signature of the current version file may be verified or not. In a preferred embodiment, in order to ensure data security, Figure 1 Based on the steps of the method shown, the multi-version data integrity cloud audit method also includes:
[0044] When the signature verification of the current version file fails, the server will feedback the signature verification failure message to the client. The signature verification failure of the current version file indicates that the current version file may be unsafe or not a valid file. At this time, the signature verification failure message is fed back to the client to ensure data security.
[0045] The current version file may be complete or incomplete. In a preferred embodiment, in order to understand the integrity status of the current version file, Figure 1 Based on the steps of the method shown, the multi-version data integrity cloud audit method also includes:
[0046] When the server verifies that the current version of the file is complete, it sends a message to the client that the current version of the file is complete.
[0047] When the server verifies that the current version of the file is incomplete, it feeds back a message to the client indicating that the current version of the file is damaged.
[0048] Figure 2 The implementation process of step 101 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0049] In one embodiment of the present invention, the metadata of the signature includes a one-way hash function and a secure hash function of a multi-version data integrity cloud audit system. In order to improve the accuracy of client digital signature verification, such as Figure 2 As shown, in step 101, the server verifies the signature of the current version file sent by the client according to the metadata of the verification signature, including:
[0050] Step 201: The client generates a client digital signature corresponding to the current version file using the private key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system;
[0051] Step 202: The server generates a server-side version control chain hash value corresponding to the current version file using the public key in the public key-private key pair according to the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system;
[0052] Step 203: The server verifies the client digital signature corresponding to the current version file according to the public key and the server-side version control chain hash value corresponding to the current version file.
[0053] The multi-version data integrity cloud audit system includes a server and a client. The absolute value of the large prime number p of the multi-version data integrity cloud audit system is equal to the security parameter l of the multi-version data integrity cloud audit system, that is, |p|=l. G is the multiplication cyclic group of the large prime number p, g is the generator of the multiplication cyclic group G, h(·) and H(·) are the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system, respectively, and are defined as H(·):{0,1} * →G. The client generates a public key and private key pair (x, pk), where x is the private key and pk is the public key, and the private key x, public key pk and generator g satisfy: pk = g x In addition, the client publishes its public key pk to the server.
[0054] When verifying the signature of the current version of the file (client digital signature), the client organizes and stores the file in a reverse incremental manner. The latest version of the reverse incremental version control is fully saved, while other versions are saved in a reverse incremental form. Figure 2-1 FIG. 2 shows a schematic diagram of the reverse incremental version control chain provided by an embodiment of the present invention. Δi (i=1, 2, ..., v-2, v-1) represents the i-th version file F i The client generates the corresponding file identifier F for the first version file F1. id All subsequent version files use this file identifier F id . v indicates the latest version number, F v is the latest version of the file. The inverse increment Δi and the file satisfy: F i+1 =F i +Δi.F i+1 Indicates the i+1th version file.
[0055] Then, the client uses the current version file F i The corresponding file identifier F id , the one-way hash function h(·) and the secure hash function H(·) of the multi-version data integrity cloud audit system use the private key x in the public key-private key pair (x, pk) to generate the client digital signature σ corresponding to the current version file i1 The client will copy the current version file F i , file identifier F id And client digital signatureσ i1 Send to the server and delete the local current version file F i .
[0056] Then, the server uses the file identifier F corresponding to the current version file id , the one-way hash function h(·) and the secure hash function H(·) of the multi-version data integrity cloud audit system, use the public key pk in the public key-private key pair (x, pk) to generate the current version file F i The corresponding server-side version control chain hash value θ i2 ;
[0057] Then, the server generates the current version file F according to the public key pk i The corresponding server-side version control chain hash value θ i2 , for the current version file F i The corresponding client digital signature σ i1 Verify the current version of the file F i The client digital signature σ i1 The validity of the client digital signature σ i1 The verification can be expressed as follows:
[0058] δ=Verify(pk,σ i1 ,θ i2 );
[0059] Where δ represents the client digital signature σ i1 Verify(pk,σ i1 ,θ i2 ) indicates the use of the public key pk and the current version file F i The corresponding server-side version control chain hash value θ i2 , for the current version file F i The corresponding client digital signature σ i1 If the verification result δ is true, the server saves the current version file F sent by the client. i ; If the verification result δ is false, the server will feedback a message that the signature verification failed to the client.
[0060] In an embodiment of the present invention, the client generates a client digital signature corresponding to the current version file using the private key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the server generates a server-side version control chain hash value corresponding to the current version file using the public key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the server verifies the client digital signature corresponding to the current version file based on the public key and the server-side version control chain hash value corresponding to the current version file. In an embodiment of the present invention, the client generates a client digital signature using the private key based on the one-way hash function and the secure hash function, and the server generates a server-side version control chain hash value based on the one-way hash function and the secure hash function. Furthermore, the public key and the server-side version control chain hash value are used to verify the client digital signature, which can improve the accuracy of the client digital signature verification.
[0061] Figure 3 The implementation process of step 201 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0062] In one embodiment of the present invention, in order to improve the security of the client digital signature, Figure 3 As shown, in step 201, the client generates a client digital signature corresponding to the current version file using the private key in the public key-private key pair according to the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system, including:
[0063] Step 301, the client determines the client aggregate value of the inverse incremental hash corresponding to the current version file according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system;
[0064] Step 302: The client determines the client version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the client aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system;
[0065] Step 303: The client generates a client digital signature corresponding to the current version file based on the client version control chain hash value corresponding to the current version file according to the private key.
[0066] The client generates the current version file F i The corresponding client digital signature σ i1 When the client first i The corresponding file identifier F id and the one-way hash function h(·) of the multi-version data integrity cloud audit system to determine the current version file F i The corresponding client-side aggregate value E of the inverse incremental hash i1 The current version file F can be determined by the following formula: i The corresponding client-side aggregate value E of the inverse incremental hash i1 :
[0067]
[0068] Then, the client will use the current version file F i The corresponding file identifier F id and the client-side aggregate value E of the inverse incremental hash i2 , the one-way hash function h(·) and the secure hash function H(·) of the multi-version data integrity cloud audit system, determine the current version file F i The corresponding client version control chain hash value θ i1 Specifically, the current version of file F can be determined in the following way: i The corresponding client version control chain hash value θ i1 :
[0069] θ i1 =H(F id ||(E i1 +h(F i )));
[0070] The client determines the current version of file F i The corresponding client version control chain hash value θ i1Then, use the private key x to access the current version file F i The corresponding client version control chain hash value θ i1 , generate the current version file F i The corresponding client digital signature σ i1 Specifically, the current version of file F can be determined in the following way: i The corresponding client digital signature σ u+1 =SIG(x,θ u+1 ):
[0071] σ i1 =SIG(x,θ i1 );
[0072] Among them, SIG(x,θ i1 ) indicates that the client version control chain hash value θ is quantified using private key x i1 Generate client digital signature (Boneh-Lynn-Shacham signature, referred to as BLS signature)σ i1 .
[0073] In an embodiment of the present invention, the client determines the client aggregation value of the inverse incremental hash corresponding to the current version of the file based on the file identifier corresponding to the current version of the file and the one-way hash function of the multi-version data integrity cloud audit system; the client determines the client version control chain hash value corresponding to the current version of the file based on the file identifier corresponding to the current version of the file and the client aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the client generates a client digital signature corresponding to the current version of the file based on the client version control chain hash value corresponding to the current version of the file using the private key. In an embodiment of the present invention, the client determines the client aggregation value through the file identifier and the one-way hash function, and then determines the client version control chain hash value through the file identifier, the client aggregation value, the one-way hash function and the secure hash function. Finally, the client generates the client digital signature using the private key and the client version control chain hash value, which can improve the security of the client digital signature.
[0074] Figure 4 The implementation process of step 202 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0075] In one embodiment of the present invention, in order to improve the accuracy of the server-side version control chain hash value, as Figure 4As shown, step 202, based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system, uses the public key in the public key-private key pair to generate the server-side version control chain hash value corresponding to the current version file, including:
[0076] Step 401, the server determines the server-side aggregate value of the inverse incremental hash corresponding to the current version file according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system;
[0077] In step 402, the server determines the server-side version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the server-side aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
[0078] The client will be the current version of the file F i , file identifier F id And client digital signatureσ i1 After being sent to the server, the server first i The corresponding file identifier F id and the one-way hash function h(·) of the multi-version data integrity cloud audit system to determine the current version file F i The corresponding server-side aggregate value E of the inverse incremental hash i2 The current version file F can be determined by the following formula: i The corresponding server-side aggregate value E of the inverse incremental hash i2 :
[0079]
[0080] Then, the server will use the current version file F i The corresponding file identifier F id and the server-side aggregate value E of the inverse incremental hash i2 , the one-way hash function h(·) and the secure hash function H(·) of the multi-version data integrity cloud audit system, determine the current version file F i The corresponding server-side version control chain hash value θ i2 Specifically, the current version of file F can be determined in the following way: i The corresponding server-side version control chain hash value θ i2 :
[0081] θ i2 =H(F id ||(E i2 +h(F i ))).
[0082] In an embodiment of the present invention, the server determines the server-side aggregate value of the inverse incremental hash corresponding to the current version of the file based on the file identifier corresponding to the current version of the file and the one-way hash function of the multi-version data integrity cloud audit system; the server determines the server-side version control chain hash value corresponding to the current version of the file based on the file identifier corresponding to the current version of the file and the server-side aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system. In an embodiment of the present invention, the server determines the server-side aggregate value through the file identifier and the one-way hash function, and then the server determines the server-side version control chain hash value based on the file identifier and the server-side aggregate value, the one-way hash function and the secure hash function, which can improve the accuracy of the server-side version control chain hash value.
[0083] Figure 5 The implementation process of step 102 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0084] In one embodiment of the present invention, in order to improve the security of file data, Figure 5 As shown, in step 102, after the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client, including:
[0085] Step 501: After the signature verification of the current version file is passed, the server creates a trusted container according to the operating environment authentication request sent by the client, and sends the hash value of the trusted container to the client;
[0086] Step 502, the client verifies whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the software certification program in the software protection extension instruction;
[0087] Step 503: When the hash value of the trusted container sent by the verification server is consistent with the expected hash value, a trusted channel is established between the client and the trusted container of the server.
[0088] After the signature verification of the current version file is passed, the client sends an operating environment authentication request to the server based on the signature verification message fed back by the server. The server creates a trusted container (enclave) based on the operating environment authentication request sent by the client, and sends the hash value of the trusted container (enclave) to the client.
[0089] After receiving the hash value sent by the server's trusted container, the client verifies whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the Software Attestation program in the Software Guard Extension (SGX) instruction. When the hash value of the trusted container sent by the server is verified to be consistent with the expected hash value, it means that the trusted container is reliable and it is safe to transmit data through the trusted container. Therefore, a trusted channel is established between the client and the server's trusted container to transmit file data through the trusted channel to ensure the security of file data.
[0090] In an embodiment of the present invention, after the signature verification of the current version of the file is passed, the server creates a trusted container according to the operating environment authentication request sent by the client, and sends the hash value of the trusted container to the client; the client verifies whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the software certification program in the software protection extension instruction; when the hash value of the trusted container sent by the server is verified to be consistent with the expected hash value, a trusted channel is established between the client and the trusted container of the server. In an embodiment of the present invention, the server creates a trusted container based on the operating environment authentication request, and when the client verifies that the hash value of the trusted container sent by the server is consistent with the expected hash value, a trusted channel is established between the client and the trusted container of the server, thereby improving the security of file data.
[0091] In addition, the hash value of the trusted container sent by the server may be consistent with the expected hash value, or it may be inconsistent. In a preferred embodiment, in order to further ensure data security, based on the above method steps, the multi-version data integrity cloud audit method also includes:
[0092] When the hash value of the trusted container sent by the verification server is inconsistent with the expected hash value, the server feeds back a message to the client indicating that the operating environment authentication has failed.
[0093] Figure 6 The implementation process of step 103 in the multi-version data integrity cloud audit method provided by the embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0094] In one embodiment of the present invention, in order to improve the accuracy of data integrity verification, Figure 6 As shown, in step 103, the server verifies the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel, including:
[0095] Step 601: The server loads the current version file corresponding to the file identifier and the inverse increment corresponding to the current version file from outside the trusted container into the trusted container according to the file identifier, the integrity verification request and the client version control chain hash value corresponding to the current version file sent by the client through the trusted channel;
[0096] Step 602: The server determines the trusted container aggregation value of the inverse incremental hash corresponding to the current version file in the trusted container based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system;
[0097] Step 603: The server determines the trusted container version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the trusted container aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system;
[0098] Step 604: The server verifies whether the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file.
[0099] The server is updating the current version of file F i When verifying the integrity of the historical version file, the client challenges the server, that is, the client sends the current version file F through a trusted channel. i File identifier F id , the current version file F i and integrity verification requests for historical version files, as well as the current version file F i The corresponding client version control chain hash value θ i1 After receiving the above information sent by the client, the server will i File identifier F id , load the file identifier F from outside the trusted container id The corresponding current version file F i , and the inverse increment Δi corresponding to the current version file to the trusted container.
[0100] Then, the server executes the trusted container according to the current version file F i The corresponding file identifier F id , the one-way hash function h(·) of the multi-version data integrity cloud audit system determines the current version file F i The corresponding inverse incremental hash of the trusted container aggregate value E i3 The current version file F can be determined by the following formula: i The corresponding client-side aggregate value E of the inverse incremental hash i3 :
[0101]
[0102] Then, the server will use the current version file F i The corresponding file identifier F id and the client-side aggregate value E of the inverse incremental hash i3 , the one-way hash function h(·) and the secure hash function H(·) of the multi-version data integrity cloud audit system, determine the current version file F i The corresponding client version control chain hash value θ i3 Specifically, the current version of file F can be determined in the following way: i The corresponding client version control chain hash value θ i3 :
[0103] θ i3 =H(F id ||(E i3 +h(F i )));
[0104] The server determines the current version of file F i The corresponding trusted container version control chain hash value θ i3 After that, the server verifies the current version file F i The corresponding trusted container version control chain hash value θ i3 With the current version file F i The corresponding client version control chain hash value θ i1 Are they consistent? In the trusted container version control chain hash value θ i3 The client version control chain hash value θ i1 If they are consistent, it means the current version file F i The file data of the historical version files is complete, and the hash value θ in the trusted container version control chain i3 The client version control chain hash value θ i1 If inconsistent, it means that the current version file F i If the file data of the historical version file is damaged, the server will feedback the file damage message to the client so that the client can understand the file integrity status in time.
[0105] In an embodiment of the present invention, the server loads the current version file corresponding to the file identifier and the inverse increment corresponding to the current version file from outside the trusted container into the trusted container based on the file identifier, integrity verification request and client version control chain hash value corresponding to the current version file sent by the client through a trusted channel; the server determines the trusted container aggregate value of the inverse increment hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system in the trusted container; the server determines the trusted container version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the trusted container aggregate value of the inverse increment hash, the one-way hash function and the security hash function of the multi-version data integrity cloud audit system; the server verifies whether the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file. The server of the embodiment of the present invention determines the trusted container aggregation value based on the file identifier and the one-way hash function in the trusted container, and then determines the trusted container version control chain hash value according to the file identifier and the trusted container aggregation value, the one-way hash function and the secure hash function. By verifying whether the trusted container version control chain hash value is consistent with the client version control chain hash value, the integrity of the file data is verified, and the accuracy of data integrity verification can be improved.
[0106] Figure 7 Another implementation process of step 103 in the multi-version data integrity cloud audit method provided by an embodiment of the present invention is shown. For ease of description, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0107] In one embodiment of the present invention, in order to facilitate the client to timely understand the file integrity status, such as Figure 7 As shown, based on the above method steps, step 103, the server verifies the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel, and also includes:
[0108] Step 701, when verifying that the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file, the server feeds back a notification of file integrity to the client.
[0109] When the hash value of the trusted container version control chain is verified to be consistent with the hash value of the client version control chain, it means that the data of the current version file and the historical version file are complete. In order to facilitate the client to timely understand the file integrity status, the server will feedback the file completeness notification to the client.
[0110] In an embodiment of the present invention, when verifying that the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file, the server feeds back a file integrity notification to the client, which enables the client to timely understand the file integrity status.
[0111] The hash value of the trusted container version control chain may be consistent with or inconsistent with the hash value of the client version control chain. In a preferred embodiment, in order to facilitate the client to timely understand the file integrity status, based on the above method steps, the multi-version data integrity cloud audit method also includes:
[0112] When verifying that the trusted container version control chain hash value corresponding to the current version file is inconsistent with the client version control chain hash value corresponding to the current version file, the server feeds back a notification of incomplete file to the client.
[0113] When the hash value of the trusted container version control chain is verified to be inconsistent with the hash value of the client version control chain, it means that the data of the current version file and the historical version file are incomplete or damaged. In order to facilitate the client to timely understand the file integrity status, the server will feedback the incomplete file notification to the client.
[0114] Figure 7-1 FIG. 1 shows a schematic diagram of a reverse incremental version control chain provided by an embodiment of the present invention, from Figure 7-1 As shown in the figure, the current file version is u, and the latest (to be updated) file version should be u+1, that is, the file is from F u Updated to F u+1 , the file inverse increment is Δu.
[0115] The client first calculates the client aggregation value of the inverse incremental hash and the client version control chain hash value θ (u+1)1 =H(F id ||(E (u+1)1 +h(F u+1 ))) Then use the private key x to hash the client version control chain value θ (u+1)1 , generate client digital signature σ (u+1)1 =SIG(x,θ (u+1)1 ).
[0116] Then, the client uploads the inverse increment Δu of the file and the client digital signature σ (u+1)1 When the server receives the information uploaded by the client, it will verify the integrity of the file data. The server first calculates the server aggregate value of the inverse incremental hash Then calculate the server-side version control chain hash value θ (u+1)2 =H(F id ||(E (u+1)2+h(F u+1 ))) Then use the public key pk and the server-side version control chain hash value θ (u+1)2 Digital signature for the client (u+1)1 Verify. The details are as follows: u+1 =Verify(pk,θ (u+1)2 ,σ (u+1)1 ). If δ u+1 If true, the latest file F is determined u+1 =F u +Δu, save the latest file F u+1 , if δ u+1 If false, the client is required to re-upload the file.
[0117] The embodiments of the present invention also provide a multi-version data integrity cloud audit system, as described in the following embodiments. Since the principles of solving problems in these systems are similar to those of the multi-version data integrity cloud audit method, the implementation of these systems can refer to the implementation of the method, and the repeated parts will not be repeated.
[0118] Figure 8 The functional modules of the multi-version data integrity cloud audit system provided by the embodiment of the present invention are shown. For the convenience of explanation, only the parts related to the embodiment of the present invention are shown, which are described in detail as follows:
[0119] refer to Figure 8 The modules included in the multi-version data integrity cloud audit system are used to perform Figure 1 For details of each step in the corresponding embodiment, please refer to Figure 1 as well as Figure 1 The relevant description in the corresponding embodiment is not repeated here. In the embodiment of the present invention, the multi-version data integrity cloud audit system includes a client and a server that deploy software protection extension instructions. The multi-version data integrity cloud audit system includes a signature verification module 801, an operating environment authentication module 802 and an integrity verification module 803.
[0120] The signature verification module 801 is used to verify the signature of the current version file sent by the client according to the metadata of the verification signature.
[0121] The operating environment authentication module 802 is used to establish a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client after the signature verification of the current version file is passed.
[0122] The integrity verification module 803 is used to verify the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel.
[0123] In an embodiment of the present invention, the signature verification module 801 verifies the signature of the current version file sent by the client based on the metadata of the verification signature; the operating environment authentication module 802 establishes a trusted container and a trusted channel between the client and the server trusted container based on the operating environment authentication request sent by the client after the signature verification of the current version file passes; the integrity verification module 803 verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel. In an embodiment of the present invention, after the signature verification of the current version file passes, the operating environment authentication module 802 establishes a trusted channel between the trusted container and the server trusted container, and the integrity verification module 803 verifies the integrity of the current version file and the historical version file in the trusted container, which can reduce the computational and communication overhead of multi-version data integrity cloud auditing.
[0124] Fig. 9 The structure of the signature verification module 801 in the multi-version data integrity cloud audit system provided by the embodiment of the present invention is shown. For the convenience of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0125] In one embodiment of the present invention, the signed metadata includes a one-way hash function and a secure hash function of a multi-version data integrity cloud audit system. Fig. 9 The various units included in the signature verification module 801 are used to execute Figure 2 For details of each step in the corresponding embodiment, please refer to Figure 2 as well as Figure 2 In the embodiment of the present invention, the signature verification module 801 includes a client signature generation unit 901 , a server control chain hash value generation unit 902 and a client signature verification unit 903 .
[0126] The client signature generation unit 901 is used for the client to generate a client digital signature corresponding to the current version file using the private key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
[0127] The server-side control chain hash value generation unit 902 is used to generate the server-side version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system, and the public key in the public key and private key pair.
[0128] The client signature verification unit 903 is used to verify the client digital signature corresponding to the current version file according to the public key and the server version control chain hash value corresponding to the current version file.
[0129] In an embodiment of the present invention, the client signature generation unit 901 generates the client digital signature corresponding to the current version file using the private key in the public key-private key pair according to the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the server-side control chain hash value generation unit 902 generates the server-side version control chain hash value corresponding to the current version file using the public key in the public key-private key pair according to the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the client signature verification unit 903 verifies the client digital signature corresponding to the current version file according to the public key and the server-side version control chain hash value corresponding to the current version file. In an embodiment of the present invention, the client signature generation unit 901 generates the client digital signature using the private key according to the one-way hash function and the secure hash function, and the server-side control chain hash value generation unit 902 generates the server-side version control chain hash value according to the one-way hash function and the secure hash function. Then, the client signature verification unit 903 verifies the client digital signature using the public key and the server-side version control chain hash value, which can improve the accuracy of the client digital signature verification.
[0130] Fig.10 The structure of the client signature generation unit 901 in the multi-version data integrity cloud audit system provided by the embodiment of the present invention is shown. For the convenience of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0131] In one embodiment of the present invention, in order to improve the security of the client digital signature, reference Fig.10 The various sub-units included in the client signature generation unit 901 are used to perform Figure 3 For details of each step in the corresponding embodiment, please refer to Figure 3 as well as Figure 3 In the embodiment of the present invention, the client signature generation unit 901 includes a client aggregation value determination subunit 1001 , a client control chain hash value determination subunit 1002 and a client signature generation subunit 1003 .
[0132] The client aggregate value determination subunit 1001 is used to determine the client aggregate value of the inverse incremental hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system.
[0133] The client control chain hash value determination subunit 1002 is used to determine the client version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the client aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
[0134] The client signature generation subunit 1003 is used to generate a client digital signature corresponding to the current version file according to the client version control chain hash value corresponding to the current version file based on the private key.
[0135] In the embodiment of the present invention, the client aggregate value determination subunit 1001 determines the client aggregate value of the inverse incremental hash corresponding to the current version file according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; the client control chain hash value determination subunit 1002 determines the client version control chain hash value corresponding to the current version file according to the file identifier corresponding to the current version file and the client aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the client signature generation subunit 1003 generates the client digital signature corresponding to the current version file according to the private key to the client version control chain hash value corresponding to the current version file. In the embodiment of the present invention, the client aggregate value determination subunit 1001 determines the client aggregate value through the file identifier and the one-way hash function, and then the client control chain hash value determination subunit 1002 determines the client version control chain hash value through the file identifier, the client aggregate value, the one-way hash function and the secure hash function, and finally the client signature generation subunit 1003 generates the client digital signature using the private key and the client version control chain hash value, which can improve the security of the client digital signature.
[0136] Fig.11 The structure of the server-side control chain hash value generation unit 902 in the multi-version data integrity cloud audit system provided by the embodiment of the present invention is shown. For ease of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0137] In one embodiment of the present invention, in order to improve the accuracy of the server-side version control chain hash value, reference Fig.11 The server-side control chain hash value generation unit 902 includes various sub-units for executing Figure 4 For details of each step in the corresponding embodiment, please refer to Figure 4 as well as Figure 4 In the embodiment of the present invention, the server-side control chain hash value generating unit 902 includes a server-side aggregate value determining subunit 1101 and a server-side control chain hash value determining subunit 1102 .
[0138] The server-side aggregate value determination subunit 1101 is used to determine the server-side aggregate value of the inverse incremental hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system.
[0139] The server-side control chain hash value determination subunit 1102 is used to determine the server-side version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the server-side aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
[0140] In an embodiment of the present invention, the server-side aggregate value determination subunit 1101 determines the server-side aggregate value of the inverse incremental hash corresponding to the current version file according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; the server-side control chain hash value determination subunit 1102 determines the server-side version control chain hash value corresponding to the current version file according to the file identifier corresponding to the current version file and the server-side aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system. In an embodiment of the present invention, the server-side aggregate value determination subunit 1101 determines the server-side aggregate value through the file identifier and the one-way hash function, and then the server-side control chain hash value determination subunit 1102 determines the server-side version control chain hash value according to the file identifier and the server-side aggregate value, the one-way hash function and the secure hash function, which can improve the accuracy of the server-side version control chain hash value.
[0141] Fig.12 The structure of the operating environment authentication module 802 in the multi-version data integrity cloud audit system provided by the embodiment of the present invention is shown. For the convenience of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0142] In one embodiment of the present invention, in order to improve the security of file data, reference Fig.12 The various units included in the operating environment authentication module 802 are used to execute Figure 5 For details of each step in the corresponding embodiment, please refer to Figure 5 as well as Figure 5 In the embodiment of the present invention, the operating environment authentication module 802 includes a trusted container establishment unit 1201 , a container hash value verification unit 1202 and a trusted channel establishment unit 1203 .
[0143] The trusted container establishing unit 1201 is used to create a trusted container according to the operating environment authentication request sent by the client after the signature verification of the current version file is passed, and send the hash value of the trusted container to the client.
[0144] The container hash value verification unit 1202 is used to verify whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the software certification program in the software protection extension instruction.
[0145] The trusted channel establishing unit 1203 is used to establish a trusted channel between the client and the trusted container of the server when the hash value of the trusted container sent by the verification server is consistent with the expected hash value.
[0146] In an embodiment of the present invention, after the signature verification of the current version file is passed, the trusted container establishment unit 1201 creates a trusted container according to the operating environment authentication request sent by the client, and sends the hash value of the trusted container to the client; the container hash value verification unit 1202 verifies whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the software certification program in the software protection extension instruction; the trusted channel establishment unit 1203 establishes a trusted channel between the client and the trusted container of the server when the hash value of the trusted container sent by the server is verified to be consistent with the expected hash value. In an embodiment of the present invention, the trusted container establishment unit 1201 creates a trusted container based on the operating environment authentication request, and when the container hash value verification unit 1202 verifies that the hash value of the trusted container sent by the server is consistent with the expected hash value, the trusted channel establishment unit 1203 establishes a trusted channel between the client and the trusted container of the server, thereby improving the security of file data.
[0147] Fig.13 The structure of the integrity verification module 803 in the multi-version data integrity cloud audit system provided by the embodiment of the present invention is shown. For the convenience of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0148] In one embodiment of the present invention, in order to improve the accuracy of data integrity verification, reference Fig.13 The various units included in the integrity verification module 803 are used to perform Figure 6 For details of each step in the corresponding embodiment, please refer to Figure 6 as well as Figure 6 In the embodiment of the present invention, the integrity verification module 803 includes a loading unit 1301 , a trusted container aggregation value determination unit 1302 , a trusted container control chain hash value determination unit 1303 and a hash value verification unit 1304 .
[0149] The loading unit 1301 is used to load the current version file corresponding to the file identifier and the inverse increment corresponding to the current version file from outside the trusted container into the trusted container according to the file identifier, integrity verification request and client version control chain hash value corresponding to the current version file sent by the client through the trusted channel.
[0150] The trusted container aggregate value determination unit 1302 is used to determine the trusted container aggregate value of the inverse incremental hash corresponding to the current version file in the trusted container according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system.
[0151] The trusted container control chain hash value determination unit 1303 is used to determine the trusted container version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file and the trusted container aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
[0152] The hash value verification unit 1304 is used to verify whether the hash value of the trusted container version control chain corresponding to the current version file is consistent with the hash value of the client version control chain corresponding to the current version file.
[0153] In an embodiment of the present invention, a loading unit 1301 loads the current version file corresponding to the file identifier and the inverse increment corresponding to the current version file from outside the trusted container into the trusted container according to the file identifier, integrity verification request and client version control chain hash value corresponding to the current version file sent by the client through a trusted channel; a trusted container aggregation value determination unit 1302 determines the trusted container aggregation value of the inverse increment hash corresponding to the current version file in the trusted container according to the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; a trusted container control chain hash value determination unit 1303 determines the trusted container version control chain hash value corresponding to the current version file according to the file identifier corresponding to the current version file and the trusted container aggregation value of the inverse increment hash, the one-way hash function and the security hash function of the multi-version data integrity cloud audit system; a hash value verification unit 1304 verifies whether the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file. In the embodiment of the present invention, the trusted container aggregation value determination unit 1302 determines the trusted container aggregation value based on the file identifier and the one-way hash function in the trusted container, and then the trusted container control chain hash value determination unit 1303 determines the trusted container version control chain hash value according to the file identifier and the trusted container aggregation value, the one-way hash function and the secure hash function. The hash value verification unit 1304 verifies whether the trusted container version control chain hash value is consistent with the client version control chain hash value to verify the integrity of the file data, thereby improving the accuracy of data integrity verification.
[0154] Fig.14 Another structural schematic diagram of the integrity verification module 803 in the multi-version data integrity cloud audit system provided by an embodiment of the present invention is shown. For ease of explanation, only the part related to the embodiment of the present invention is shown, which is described in detail as follows:
[0155] In one embodiment of the present invention, in order to facilitate the client to timely understand the file integrity status, refer to Fig.14 The various units included in the integrity verification module 803 are used to perform Figure 7 For details of each step in the corresponding embodiment, please refer to Figure 7 as well as Figure 7 The relevant descriptions in the corresponding embodiments are not repeated here. Fig.13 Based on the module structure shown, the integrity verification module 803 also includes a feedback unit 1401.
[0156] The feedback unit 1401 is used to feedback a notification of file integrity to the client when verifying that the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file.
[0157] In an embodiment of the present invention, when the feedback unit 1401 verifies that the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file, the server feeds back a file integrity notification to the client, which enables the client to timely understand the file integrity status.
[0158] In cloud storage services, data is often saved in incremental form in order to achieve data update and data backup. Saving data in incremental form can not only effectively save storage space, but also facilitate data rollback. For cloud auditing of multi-version data, the present invention proposes a multi-version data integrity cloud auditing method based on SGX. According to the characteristics of the multi-version data storage method and the realization of efficient data access, the data storage is organized in an inverse incremental manner. In order to reduce the computing, communication and storage overheads of the user and server sides of multi-version data, the method introduces Intel's Software Guard Extension (SGX) technology, avoiding the traditional cloud auditing method to generate serious computing and communication overheads on the user and server sides for auditing the integrity of multi-version data. At the same time, the method also reduces the communication overhead between the user and server sides caused by the integrity of the audit data. The freshness of the data is guaranteed by using a hash chain, and multiple versions of data can be verified at one time.
[0159] The multi-version data integrity cloud audit method and system provided by the present invention can be applied to the financial field. It can be understood that the multi-version data integrity cloud audit method and system can also be applied to other application fields besides the financial field, and the present invention does not impose any special restrictions on this.
[0160] An embodiment of the present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned multi-version data integrity cloud audit method when executing the computer program.
[0161] An embodiment of the present invention also provides a computer-readable storage medium, which stores a computer program for executing the above-mentioned multi-version data integrity cloud audit method.
[0162] In summary, in an embodiment of the present invention, the server verifies the signature of the current version file sent by the client based on the metadata of the verification signature; after the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client; the server verifies the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel. In an embodiment of the present invention, after the signature verification of the current version file is passed, a trusted channel is established between the trusted container and the server trusted container, and the integrity of the current version file and the historical version file is verified in the trusted container, thereby reducing the computational and communication overhead of multi-version data integrity cloud auditing.
[0163] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0164] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0165] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0166] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0167] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A multi-version data integrity cloud audit method, characterized in that: Applied to multi-version data integrity cloud audit systems that include servers and clients that have deployed software protection extensions, including: The server verifies the signature of the current version of the file sent by the client based on the metadata of the verification signature; After the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client; The server verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel; The server verifies the signature of the current version file sent by the client according to the metadata of the verification signature, including: The server verifies the signature of the current version file sent by the client in reverse increment mode based on the metadata of the verification signature; The metadata of the signature includes the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system. The server verifies the signature of the current version file sent by the client in the reverse increment method according to the metadata of the signature verification, including: The client determines the client aggregate value of the inverse incremental hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; the client aggregate value of the inverse incremental hash corresponding to the current version file is determined using the following formula: In the formula, E i1 Indicates the current version file F i The corresponding client aggregate value of the inverse incremental hash, v represents the latest version number, h represents the one-way hash function of the multi-version data integrity cloud audit system, and Δi represents the i-th version file F i Updated and newly added inverse increment, F i+1 Indicates the i+1th version file, F i Represents the i-th version file; The client determines the client version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file, the client aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the client version control chain hash value corresponding to the current version file is determined using the following formula: θ i1 =H(F id ||(E i1 +h(F i ))); In the formula, θ i1 Indicates the current version file F i The corresponding client version control chain hash value, H is the secure hash function of the multi-version data integrity cloud audit system, F id Represents a file identifier; The client generates the client digital signature corresponding to the current version file based on the client version control chain hash value corresponding to the current version file according to the private key; the client digital signature corresponding to the current version file is determined in the following way: s i1 =SIG(x,θ i1 ); Among them, σ i1 Indicates the use of private key x to control the client version chain hash value θ i1 Generate client digital signature; The server generates the server-side version control chain hash value corresponding to the current version file using the public key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; The server verifies the client digital signature corresponding to the current version file based on the public key and the server-side version control chain hash value corresponding to the current version file.
2. The multi-version data integrity cloud audit method according to claim 1, characterized in that: According to the file identifier corresponding to the current version file, the one-way hash function and secure hash function of the multi-version data integrity cloud audit system, the public key in the public key-private key pair is used to generate the server-side version control chain hash value corresponding to the current version file, including: The server determines the server-side aggregate value of the inverse incremental hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; The server determines the server-side version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file, the server-side aggregate value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system.
3. The multi-version data integrity cloud audit method according to claim 1, characterized in that: After the signature verification of the current version file is passed, the server establishes a trusted container and a trusted channel between the client and the server's trusted container based on the runtime environment authentication request sent by the client, including: After the signature verification of the current version file is passed, the server creates a trusted container based on the operating environment authentication request sent by the client and sends the hash value of the trusted container to the client; The client verifies whether the hash value of the trusted container sent by the server is consistent with the expected hash value through the software certification program in the software protection extension instruction; When the hash value of the trusted container sent by the verification server is consistent with the expected hash value, a trusted channel between the client and the trusted container of the server is established.
4. The multi-version data integrity cloud audit method according to claim 1, characterized in that: The server verifies the integrity of the current version file and the historical version file based on the file identifier and integrity verification request sent by the client through the trusted channel, including: The server loads the current version file corresponding to the file identifier and the inverse increment corresponding to the current version file from outside the trusted container into the trusted container according to the file identifier, integrity verification request and client version control chain hash value corresponding to the current version file sent by the client through the trusted channel; The server determines the trusted container aggregation value of the inverse incremental hash corresponding to the current version file in the trusted container based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; The server determines the trusted container version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file, the trusted container aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; The server verifies whether the trusted container version control chain hash value corresponding to the current version file is consistent with the client version control chain hash value corresponding to the current version file.
5. A multi-version data integrity cloud audit system, characterized in that: Includes clients and servers that have deployed software protection extensions, including: A signature verification module is used to verify the signature of the current version file sent by the client based on the metadata of the verification signature; The operating environment authentication module is used to establish a trusted container and a trusted channel between the client and the server trusted container according to the operating environment authentication request sent by the client after the signature verification of the current version file is passed; An integrity verification module, used to verify the integrity of the current version file and the historical version file according to the file identifier and integrity verification request sent by the client through the trusted channel; Wherein, the signature verification module is specifically used for: The server verifies the signature of the current version file sent by the client in reverse increment mode based on the metadata of the verification signature; The metadata of the signature includes a one-way hash function and a secure hash function of a multi-version data integrity cloud audit system. Furthermore, the signature verification module is specifically used to: The client determines the client aggregate value of the inverse incremental hash corresponding to the current version file based on the file identifier corresponding to the current version file and the one-way hash function of the multi-version data integrity cloud audit system; the client aggregate value of the inverse incremental hash corresponding to the current version file is determined using the following formula: In the formula, E i1 Indicates the current version file F i The corresponding client aggregate value of the inverse incremental hash, v represents the latest version number, h represents the one-way hash function of the multi-version data integrity cloud audit system, and Δi represents the i-th version file F i Updated and newly added inverse increment, F i+1 Indicates the i+1th version file, F i Represents the i-th version file; The client determines the client version control chain hash value corresponding to the current version file based on the file identifier corresponding to the current version file, the client aggregation value of the inverse incremental hash, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; the client version control chain hash value corresponding to the current version file is determined using the following formula: θ i1 =H(F id ||(E i1 +h(F i ))); In the formula, θ i1 Indicates the current version file F i The corresponding client version control chain hash value, H is the secure hash function of the multi-version data integrity cloud audit system, F id Represents a file identifier; The client generates the client digital signature corresponding to the current version file based on the client version control chain hash value corresponding to the current version file according to the private key; the client digital signature corresponding to the current version file is determined in the following way: s i1 =SIG(x,θ i1 ); Among them, σ i1 Indicates the use of private key x to control the client version chain hash value θ i1 Generate client digital signature; The server generates the server-side version control chain hash value corresponding to the current version file using the public key in the public key-private key pair based on the file identifier corresponding to the current version file, the one-way hash function and the secure hash function of the multi-version data integrity cloud audit system; The server verifies the client digital signature corresponding to the current version file based on the public key and the server-side version control chain hash value corresponding to the current version file.
6. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the multi-version data integrity cloud audit method described in any one of claims 1 to 4 is implemented.
7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program for executing the multi-version data integrity cloud audit method described in any one of claims 1 to 4.
Citation Information
Patent Citations
SGX-based cloud data integrity auditing method and apparatus
CN111859467A