Data integrity verification method and device, electronic equipment and storage medium
Through the interaction between the user group management end and the third-party audit end, the randomly generated prime numbers and system parameters are used to verify data integrity, and through the dual encryption of the user private key and the user group private key, third-party audit in the cloud storage environment is solved. Data security risks caused by untrustworthy end ensure the integrity and security of data.
Patent Information
- Application Number
- CN202411363511.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2024-12-13
AI Technical Summary
In a cloud storage environment, due to the untrustworthy third-party auditors, there are security risks in user-side data, and the cloud storage server may clean up data files without knowing it, resulting in incomplete data.
Through the interaction between the user group management end and the third-party audit end, the challenge information is built using randomly generated prime numbers and system parameters to perform data integrity verification, ensure the integrity of the data on the cloud storage server, and use the user private key and user group Dual encryption of private keys protects data.
It enhances the protection of user privacy, guarantees the security and integrity of user data, avoids tampering and leakage of data during transmission, and ensures the accuracy of data integrity verification.
Smart Images

Figure CN119129001A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and in particular to a data integrity verification method and device, an electronic device and a storage medium. Background Art
[0002] In recent years, with the rapid development of information technology and network technology, user data has shown explosive growth. In the civil aviation industry system, due to the widespread popularity of mobile applications, airlines are increasingly relying on digital systems to manage their business. Airlines use electronic reservation systems, ticket sales platforms, mobile applications, etc. to process and manage a large amount of flight, passenger and ticket data, but due to the exponential growth trend of data volume, the industry's internal data integrity faces great challenges.
[0003] As it is impossible to store huge amounts of data locally, cloud storage technology has emerged. As a new type of storage technology, cloud storage has the characteristics of large storage capacity, flexible storage methods, and convenient access, and is gradually replacing local storage technology. In the public cloud storage environment of the civil aviation industry, cloud storage users may be individuals, companies or organizations. Generally, a large data user such as a company, institution or organization will form a user group. The members of the company, institution or organization are called group users. The group users in the user group jointly manage the data files of the company / institution / organization and store the data files managed by the user end to the cloud storage server. The user group data files have a large amount of data. In some cases, in order to save memory, the cloud storage server may clean up the data files without the user end knowing, resulting in incomplete data on the user end.
[0004] In related technologies, a third-party auditor (TPA) is often introduced to verify data integrity. The integrity of data files stored in the cloud storage server is checked based on the interaction between the user end, the third-party auditor, and the cloud storage server. However, the third-party auditor is not completely trustworthy to the user. It may send the same request to the cloud storage server from time to time to deceive the user and obtain the user's personal data, resulting in security risks to the user's data.
[0005] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0006] The embodiments of the present invention provide a data integrity verification method and device, an electronic device and a storage medium, so as to at least solve the technical problem in the related art that data integrity is verified through interaction between a user terminal and a third-party audit terminal, and since the third-party audit terminal is not completely trustworthy, there is a security risk in the user terminal data.
[0007] According to one aspect of an embodiment of the present invention, a data integrity verification method is provided, which is applied to a third-party audit end, and the data integrity verification method includes: receiving a data verification request sent by a user group management end, and selecting an index code of a target encrypted data block based on the data verification request, wherein the user group management end is a trusted entity configured for users in a user group, and the data verification request includes index codes of N encrypted data blocks of the user end, where N is a positive integer; randomly generating two prime numbers to obtain a first prime number and a second prime number; constructing challenge information based on the first prime number, the second prime number, the index code and a pre-generated system parameter, and sending the challenge information to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user end based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, and the encrypted data in the encrypted data block is data that is twice encrypted based on a user private key and a user group private key; receiving the first verification parameter and the second verification parameter returned by the cloud storage server, and substituting the first verification parameter and the second verification parameter into a verification equation, and obtaining a data integrity verification result based on a calculation result of the verification equation.
[0008] Optionally, the expression of the verification equation is: Where e is a bilinear function, represents the hash value of the encrypted data block of the user terminal, l represents the lth data block of the user terminal, represents the encrypted data block of the user terminal, ω represents the second verification parameter, π represents the first verification parameter, u represents a first prime number, and v represents a second prime number.
[0009] Optionally, the step of obtaining a data integrity check result based on a calculation result of a verification equation includes: when the calculation result of the verification equation indicates that the verification equation does not hold, determining that the data of the user terminal is incomplete, obtaining a data incompleteness check result, and sending the data incompleteness check result to the user group management terminal; or, when the calculation result of the verification equation indicates that the verification equation holds, determining that the data of the user terminal is complete, obtaining a data completeness check result, and returning the data completeness check result to the user terminal.
[0010] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user group management end receives the data integrity verification request sent by the user end, and obtains the user identification of the user end based on the data integrity verification request; verifies the user end based on the user identification to obtain a verification result; when the verification result indicates that the user end has passed the verification, obtains the index code of the S encrypted data blocks of the user end based on the user identification, wherein S is a positive integer and S is greater than or equal to N; generates the data verification request based on the index code, and sends the data verification request to a third-party audit end.
[0011] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user end sends a key generation request to the key management end, and receives a user key returned by the key management end, wherein the user key includes a user public key and a user private key; the user end sends the user public key to the user group management end; the user group management end constructs a user group key based on the user public keys of the M user ends in the user group, wherein the user group key includes the user group public key and the user group private key, and M is a positive integer; the user group management end returns the user group private key to the M user ends in the user group.
[0012] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user end encrypts S data blocks based on the user private key to obtain an initial encrypted data block; the user end re-encrypts the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculates a data tag based on the encrypted data block and the user identifier of the user end; the user end sends the encrypted data block, the data tag and the user public key to the user group management end.
[0013] Optionally, after the user terminal sends the encrypted data, the data tag and the user public key to the user group management terminal, it also includes: the user group management terminal performs identity verification on the user terminal based on the user identifier of the user terminal; when the user terminal passes the identity verification, the user group management terminal defines a to-be-stored location in the cloud storage server for the encrypted data block of the user terminal, and obtains an index code according to the to-be-stored location of the encrypted data block of the user terminal; the user group management terminal stores the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; the user group management terminal sends the encrypted data block and the data tag of the user terminal to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, sends a data clearing notification to the user terminal.
[0014] According to another aspect of an embodiment of the present invention, a data integrity verification device is also provided, which is applied to a third-party audit terminal, and the data integrity verification device includes: a receiving unit, which is used to receive a data verification request sent by a user group management terminal, and select an index code of a target encrypted data block based on the data verification request, wherein the user group management terminal is a trusted entity configured for users in a user group, and the data verification request contains index codes of N encrypted data blocks of the user terminal, where N is a positive integer; a generating unit, which is used to randomly generate two prime numbers to obtain a first prime number and a second prime number; a constructing unit, which is used to generate a first prime number and a second prime number based on the first prime number, the second prime number, the index code and a pre-generated index code. The cloud storage server constructs challenge information based on system parameters and sends the challenge information to the cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user terminal based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, and the encrypted data in the encrypted data blocks are data that is double-encrypted based on the user private key and the user group private key; a verification unit is used to receive the first verification parameter and the second verification parameter returned by the cloud storage server, substitute the first verification parameter and the second verification parameter into a verification equation, and obtain a data integrity verification result based on a calculation result of the verification equation.
[0015] Optionally, the expression of the verification equation is: Where e is a bilinear function, represents the hash value of the encrypted data block of the user terminal, l represents the lth data block of the user terminal, represents the encrypted data block of the user terminal, ω represents the second verification parameter, π represents the first verification parameter, u represents a first prime number, and v represents a second prime number.
[0016] Optionally, the verification unit includes: a first determination module, used to determine that the data of the user terminal is incomplete when the calculation result of the verification equation indicates that the verification equation does not hold, obtain a data incomplete verification result, and send the data incomplete verification result to the user group management terminal; a second determination module, used to determine that the data of the user terminal is complete when the calculation result of the verification equation indicates that the verification equation holds, obtain a data complete verification result, and return the data complete verification result to the user terminal.
[0017] Optionally, the data integrity verification device also includes: a first receiving module, used for the user group management end to receive the data integrity verification request sent by the user terminal, and obtain the user identification of the user terminal based on the data integrity verification request; a first verification module, used to verify the user terminal based on the user identification to obtain a verification result; a first acquisition module, used to obtain the index code of S encrypted data blocks of the user terminal based on the user identification when the verification result indicates that the user terminal has passed the verification, wherein S is a positive integer and S is greater than or equal to N; a first generation module, used to generate the data verification request based on the index code, and send the data verification request to a third-party audit end.
[0018] Optionally, the data integrity verification device also includes: a second receiving module, used for the user terminal to send a key generation request to the key management terminal, and receive a user key returned by the key management terminal, wherein the user key includes a user public key and a user private key; a first sending module, used for the user terminal to send the user public key to the user group management terminal; a first construction module, used for the user group management terminal to construct a user group key based on the user public keys of the M user terminals in the user group, wherein the user group key includes the user group public key and the user group private key, and M is a positive integer; a first return module, used for the user group management terminal to return the user group private key to the M user terminals in the user group.
[0019] Optionally, the data integrity verification device also includes: a first encryption module, used by the user terminal to encrypt S data blocks based on the user private key to obtain an initial encrypted data block; a second encryption module, used by the user terminal to re-encrypt the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculate a data tag based on the encrypted data block and the user identifier of the user terminal; a second sending module, used by the user terminal to send the encrypted data block, the data tag and the user public key to the user group management terminal.
[0020] Optionally, the data integrity verification device also includes: a second verification module, used by the user group management end to perform identity verification on the user terminal based on the user identifier of the user terminal; a first definition module, used by the user group management end to define a to-be-stored location in the cloud storage server for the encrypted data block of the user terminal when the user terminal passes the identity verification, and obtain an index code according to the to-be-stored location of the encrypted data block of the user terminal; a first storage module, used by the user group management end to store the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; and a third sending module, used by the user group management end to send the encrypted data block and the data tag of the user terminal to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, send a data clearing notification to the user terminal.
[0021] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is further provided, wherein the computer-readable storage medium includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned data integrity verification methods.
[0022] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any one of the above-mentioned data integrity verification methods.
[0023] In the present application, the following steps are taken: first, a data verification request sent by a user group management end is received, and an index code of a target encrypted data block is selected based on the data verification request, wherein the user group management end is a trusted entity configured for users in the user group, and the data verification request contains index codes of N encrypted data blocks of the user end, and two prime numbers are randomly generated to obtain a first prime number and a second prime number, and then a challenge message is constructed based on the first prime number, the second prime number, the index code and pre-generated system parameters, and the challenge message is sent to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user end based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, the encrypted data in the encrypted data block is data that is twice encrypted based on a user private key and a user group private key, and finally, the first verification parameter and the second verification parameter returned by the cloud storage server are received, and the first verification parameter and the second verification parameter are substituted into a verification equation, and a data integrity verification result is obtained based on the calculation result of the verification equation.
[0024] In this application, a user group management terminal is introduced, and the user group management terminal interacts with the third-party audit terminal to avoid directly exposing user information to the third-party audit terminal, thereby enhancing the protection of user privacy. At the same time, the data stored by the user terminal in the cloud storage server is doubly encrypted by the user private key and the user group private key, which ensures the security of the user terminal data and user privacy. In the process of data integrity verification, the challenge information is constructed based on the first prime number, the second prime number, the index code and the system parameters, which can randomly and effectively generate parameters for verifying the integrity of the data, thereby ensuring the accuracy of the data integrity verification results. This solves the technical problem in the related technology that the data integrity is verified through the interaction between the user terminal and the third-party audit terminal, and the third-party audit terminal is not completely trustworthy, resulting in security risks in the user terminal data. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0026] Figure 1 is a flow chart of an optional data integrity verification method according to an embodiment of the present invention;
[0027] Figure 2 is an architecture diagram of an optional data integrity verification system according to an embodiment of the present invention;
[0028] Figure 3 is a schematic diagram of optional user group management terminal data storage according to an embodiment of the present invention;
[0029] Figure 4 is a schematic diagram of an optional data integrity verification device according to an embodiment of the present invention;
[0030] Figure 5 The present invention is a hardware structure block diagram of an electronic device (or mobile device) according to a data integrity verification method of an embodiment of the present invention. DETAILED DESCRIPTION
[0031] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0033] It should be noted that the data integrity verification method and device in the present application can be used in the field of information security technology when verifying data integrity, and can also be used in any field outside the field of information security technology when verifying data integrity. The application does not limit the application field of the data integrity verification method and device in the present application.
[0034] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant regions, take necessary confidentiality measures, do not violate public order and good customs, and provide corresponding operation entrances for users to choose to authorize or refuse. For example, an interface is set up between this system and relevant users or organizations. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or organization.
[0035] It should be noted that in this application, when collecting and analyzing customer information, corresponding operation entrances are provided for users to choose to agree or reject the automated decision-making results; if the user chooses to reject, the expert decision-making process will be entered.
[0036] The following embodiments of the present invention can be applied to various data integrity verification systems / applications / devices. The present invention proposes a method for verifying data integrity based on a mobile user group. First, due to the unreliability of the third-party audit terminal for mobile users, the third-party audit terminal may record user information and data information uploaded by it, thereby exposing user privacy. The present invention generates a group key pair for the entire user group by means of multilinear mapping, encrypts user data by means of the group key pair, interacts with the third-party audit terminal through a trusted management terminal, shields users in the user group, and enables the third-party audit terminal to audit the integrity of the data on the cloud storage server without knowing the user information in the user group.
[0037] Secondly, the user data in the user group will be encrypted with the user's private key and group key and managed by the user group management end. The user group management end will match users with user data one by one, store them in a double-line linked list, and ensure the availability of the file by executing a series of user modification operations.
[0038] Finally, users in the user group are managed by the trusted management end, which has the right to prohibit all operations of group users. Group users must obtain the approval of the trusted management end before performing any operations. If group users want to perform any operation, they must confirm the user's identity on the trusted management end before performing it. This prevents stolen users from performing operations that damage uploaded files and ensures data security.
[0039] The present invention is described in detail below in conjunction with various embodiments.
[0040] Embodiment 1
[0041] According to an embodiment of the present invention, an embodiment of a data integrity verification method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0042] Figure 1 is a flow chart of an optional data integrity verification method according to an embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:
[0043] Step S101: receiving a data verification request sent by a user group management terminal, and selecting an index code of a target encrypted data block based on the data verification request.
[0044] It should be noted that in the embodiment of the present invention, the cloud storage of user group data and the integrity verification of user data on the cloud server are realized through the interaction between the mobile user group, the user group management end, the cloud storage server and the third-party audit end. The mobile user group can be a user group composed of members of entities such as companies / enterprises / institutions. The members of the user group jointly manage the data files of their entities. The user group management end is a trusted entity configured for users in the user group and is used to manage the user group. When the user end in the user group wants to verify the integrity of the data stored on the cloud storage server, the user end will not communicate directly with the third-party audit end, but send a data verification request to the user group management end. After confirming the legitimacy and source of the request, the user group management end will forward the request to the TPA. The request usually contains the identification information of the user group and the index code of the corresponding stored data of the user end, but does not contain specific user information to protect user privacy.
[0045] It should be noted that the third-party audit end receives the data verification request sent by the user group management end. The data verification request contains the index codes of N encrypted data blocks stored by the user end in the cloud storage server. N is a positive integer and can be used to locate the storage location of the user end data in the cloud storage server. The third-party audit end selects the data block stored by the user end for verification based on the information carried in the data verification request, and locates the storage location of the encrypted data block in the cloud storage server through the index code of the encrypted data block. The selection process is random to ensure the fairness and effectiveness of the audit. The selection of index codes should cover different parts of the entire data set to improve the comprehensiveness of the verification.
[0046] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user group management end receives the data integrity verification request sent by the user end, and obtains the user identification of the user end based on the data integrity verification request; verifies the user end based on the user identification to obtain a verification result; when the verification result indicates that the user end has passed the verification, obtains the index code of S encrypted data blocks of the user end based on the user identification, where S is a positive integer and S is greater than or equal to N; generates a data verification request based on the index code, and sends the data verification request to the third-party audit end.
[0047] It should be noted that the embodiment of the present invention manages the user terminals in the user group through the user group management terminal. Any request initiated by the user terminal needs to be verified by the user group management terminal and can only be executed after the verification is passed, so as to avoid data security risks caused by the theft of user identity. When performing data integrity verification, the user terminal wants to perform integrity verification on the data files managed by itself, and sends an integrity verification request to the user group management terminal. The user group management terminal obtains the user identification of the user terminal based on the integrity verification request. The user identification is the unique information used to identify the user terminal, which can be a user ID, user name or other forms of unique code. The user terminal is verified according to the user identification. The verification process is used to ensure that the request initiator is indeed a legal member of the user group and has the right to initiate data integrity verification. The verification result will indicate whether the user terminal has passed the verification. Usually, the verification process will check the user's authority, the validity of the identity information, etc. If the user terminal passes the verification, the information corresponding to the user identification in the bidirectional linked list is extracted to obtain the index code of the data stored in the user terminal, and a data verification request is generated based on the index code, and it is sent to the third-party audit terminal. The index code of the above S encrypted data blocks refers to all encrypted data blocks stored by the user terminal on the cloud storage server.
[0048] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user end sends a key generation request to the key management end, and receives a user key returned by the key management end, wherein the user key includes a user public key and a user private key; the user end sends the user public key to the user group management end; the user group management end constructs a user group key based on the user public keys of M user ends in the user group, wherein the user group key includes a user group public key and a user group private key, and M is a positive integer; the user group management end returns the user group private key to the M user ends in the user group.
[0049] It should be noted that in order to ensure the data security of the user end, the data of the user end needs to be encrypted and uploaded to the cloud storage server for storage. The user end of the user group (i.e. mobile device or desktop system, etc.) needs to send a key generation request to a trusted key management end (PKG). The key management end is an independent and trustworthy organization responsible for key generation and issuance in the entire system. After receiving the key generation request, the key management end generates a pair of keys for data encryption and decryption of the user end, i.e. the user public key and the user private key, and returns the pair of keys to the requesting user end. The user private key usually needs to be transmitted in a secure manner to ensure that only the user end can receive and use it, while the user public key can be made public for data encryption.
[0050] In addition to using user keys to encrypt user-side data, the embodiment of the present invention also introduces a group key pair, which is used to perform secondary encryption on the data of all user terminals in the user group. After receiving the key, the user terminal sends the user public key to the user group management terminal, that is, the user group management terminal in the user group. This step is to prepare for the subsequent construction of the user group key, ensuring that the data of each user can be uniformly secondary encrypted through the group key, thereby increasing the security of the data. After the user group management terminal receives the public keys of all users in the group, it will use multilinear mapping technology to combine these public keys, calculate and generate the user group public key and the user group private key, and construct the user group key. The generation process of the user group key is the key to the security of the system, ensuring that even if the third-party audit terminal or the cloud storage server is not trustworthy, the specific content of the user terminal data cannot be reversed through the processed data.
[0051] Optionally, before receiving the data verification request sent by the user group management end, it also includes: the user end encrypts S data blocks based on the user private key to obtain an initial encrypted data block; the user end re-encrypts the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculates a data tag based on the encrypted data block and the user identifier of the user end; the user end sends the encrypted data block, the data tag and the user public key to the user group management end.
[0052] It should be noted that the user terminal in the same user group manages all the data and files of the user group. For the massive data of the user group, it is divided into multiple sub-data, and these sub-data are divided into user terminals in each user group. The user terminal manages the sub-data, and the sub-data block managed by itself can be divided into multiple data blocks in the user terminal. For each data block of the user terminal, the data block is encrypted once by the user private key to obtain the initial encrypted data, and the initial encrypted data block is encrypted twice by the user group private key to obtain the encrypted data block. At the same time, a data label is calculated for each encrypted data block. The data label facilitates the user group management terminal to manage the user terminal data. Finally, the user terminal packages the encrypted data block, the data label and the user public key and sends them to the user group management terminal.
[0053] Optionally, after the user terminal sends the encrypted data, data tag and user public key to the user group management terminal, it also includes: the user group management terminal verifies the identity of the user terminal based on the user identifier of the user terminal; when the user terminal passes the identity verification, the user group management terminal defines a to-be-stored location in the cloud storage server for the encrypted data block of the user terminal, and obtains an index code according to the to-be-stored location of the encrypted data block of the user terminal; the user group management terminal stores the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; the user group management terminal sends the encrypted data block and data tag of the user terminal to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, sends a data clearing notification to the user terminal.
[0054] It should be noted that when storing data, the user end does not interact directly with the cloud storage server, but interacts indirectly through the user group management end, which can protect user privacy. Specifically, the user end sends its own encrypted data block and the calculated data label and user public key to the user group management end. The user group management end authenticates the user end. After the verification is passed, the user group management end will define the storage location of the encrypted data block of the user end in the cloud storage server to ensure that the data block can be stored efficiently and securely. Subsequently, according to the storage location of the encrypted data block, the corresponding index code will be obtained. The index code can help the cloud storage server quickly locate and retrieve the encrypted data block in the cloud storage server.
[0055] For each user, the user group management end will build a double-line linked list based on the multiple encrypted data blocks of the user, and add the data label and the index code of the encrypted data block to the double-line linked list, so as to match the user with the data and realize efficient management of the user data. Through the double-line linked list, the user group management end can ensure the correspondence between the data block and its label of each user in the group, and can also track any modification operations of the data block, ensuring the traceability and availability of the data.
[0056] Finally, the user group management sends the encrypted data blocks and data tags of the user to the cloud storage server. After receiving these encrypted data and tags, the cloud storage server will store them and return a response message indicating that the storage is successful. After receiving the confirmation response, the user group management will send a data clearing notification to the user, indicating that the user can safely delete the locally saved data copy because the data has been successfully backed up on the cloud storage server and can be verified for integrity. This mechanism not only reduces the storage pressure on the user, but also further ensures the security of the data, because even if the data on the user is deleted, its data on the cloud storage server can be verified through the data tag to ensure its integrity and non-tampering.
[0057] Step S102, randomly generate two prime numbers to obtain a first prime number and a second prime number.
[0058] It should be noted that after receiving the data verification request sent by the user group management end, the third-party audit calculation will randomly generate two prime numbers for generating challenge information during this data integrity verification process.
[0059] Step S103, constructing challenge information based on the first prime number, the second prime number, the index code and the pre-generated system parameters, and sending the challenge information to the cloud storage server.
[0060] It should be noted that the third-party audit calculation will construct challenge information based on the first prime number, the second prime number, the index code corresponding to the selected data block and the pre-defined system parameters. The challenge information is constructed using double prime numbers and bilinear functions, which enhances the security of the verification process and prevents data from being tampered with during transmission. When performing data integrity verification, the third-party audit end sends challenge information to the cloud storage server. The challenge information does not involve user identity information and can protect user privacy.
[0061] It should be noted that the pre-generated system parameters include Among them, G1 and G2 are two multiplicative cyclic groups with the same prime order p, g is the generator of the multiplicative cyclic group G1, and pk i represents the public key of the i-th client, It is a random number, which is a parameter pre-defined by the user group management end for transmission between the user group management end and the third-party audit end.
[0062] It should be noted that the cloud storage server will obtain N encrypted data blocks stored by the user end based on the index code in the challenge information, and calculate the first verification parameter and the second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number. The encrypted data in the encrypted data block is data that is double-encrypted based on the user private key and the user group private key, which ensures data security. What the third-party audit end receives is the verification parameter, which does not involve specific data, so that specific data will not be leaked during the interaction process.
[0063] Step S104: Receive the first verification parameter and the second verification parameter returned by the cloud storage server, substitute the first verification parameter and the second verification parameter into the verification equation, and obtain the data integrity verification result based on the calculation result of the verification equation.
[0064] It should be noted that the third-party audit end verifies the first verification parameter and the second verification parameter returned by the cloud storage server, and directly inputs the first verification parameter and the second verification parameter into the verification equation. If the verification equation is established, it indicates that the data is complete. If the equation is not established, it indicates that the data is incomplete.
[0065] Optionally, the expression for the check equation is: Where e is a bilinear function, represents the hash value of the encrypted data block on the user side, l represents the lth data block on the user side, represents the encrypted data block of the user end, ω represents the second verification parameter, π represents the first verification parameter, u represents the first prime number, and v represents the second prime number.
[0066] It should be noted that the verification equation is specifically expressed as: π and ω are the first calibration parameter and the second calibration parameter respectively, β = ∏ l∈L H(id l ), H(id l ) represents the hash value of the lth encrypted data block on the user side. The first verification parameter and the second verification parameter transmitted by the cloud storage server are directly brought into the verification equation. The integrity of the user side data is determined by the calculation result of the verification equation. In the entire verification process, no specific data is involved, thus ensuring the data security of the user side.
[0067] Optionally, the step of obtaining a data integrity check result based on a calculation result of a verification equation includes: when the calculation result of the verification equation indicates that the verification equation does not hold, determining that the data on the user end is incomplete, obtaining a data incompleteness check result, and sending the data incompleteness check result to the user group management end; or, when the calculation result that the verification equation holds indicates that the verification equation holds, determining that the data on the user end is complete, obtaining a data completeness check result, and returning the data completeness check result to the user end.
[0068] It should be noted that when the first verification parameter and the second verification parameter are brought into the verification equation, if the verification equation does not hold, it means that the data stored by the user end in the cloud storage server is incomplete, has been damaged or maliciously deleted, thereby obtaining a data incomplete verification result, and sending the data incomplete verification result to the user group management end, which interacts with the cloud storage server. If the verification equation holds, it indicates that the user end data is complete, and a data complete verification result is obtained, which is returned to the user end to complete this verification.
[0069] Through the above steps, firstly, a data verification request sent by the user group management end is received, and the index code of the target encrypted data block is selected based on the data verification request, wherein the user group management end is a trusted entity configured for the users in the user group, and the data verification request contains the index codes of the N encrypted data blocks of the user end, and two prime numbers are randomly generated to obtain the first prime number and the second prime number, and then the challenge information is constructed based on the first prime number, the second prime number, the index code and the pre-generated system parameters, and the challenge information is sent to the cloud storage server, wherein the cloud storage server obtains the N encrypted data blocks stored by the user end based on the index code, and calculates the first verification parameter and the second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, the encrypted data in the encrypted data block is data that is twice encrypted based on the user private key and the user group private key, and finally the first verification parameter and the second verification parameter returned by the cloud storage server are received, and the first verification parameter and the second verification parameter are substituted into the verification equation, and the data integrity verification result is obtained based on the calculation result of the verification equation.
[0070] In this embodiment, a user group management terminal is introduced, and the user group management terminal interacts with the third-party audit terminal to avoid directly exposing user information to the third-party audit terminal, thereby enhancing the protection of user privacy. At the same time, the data stored by the user terminal in the cloud storage server is doubly encrypted by the user private key and the user group private key, which ensures the security of the user terminal data and user privacy. In the process of data integrity verification, the challenge information is constructed based on the first prime number, the second prime number, the index code and the system parameters, which can randomly and effectively generate parameters for verifying data integrity, ensuring the accuracy of the data integrity verification results. This solves the technical problem in the related technology that the data integrity is verified through the interaction between the user terminal and the third-party audit terminal, and the third-party audit terminal is not completely trustworthy, resulting in security risks in the user terminal data.
[0071] Another optional specific implementation is described in detail below.
[0072] Figure 2 is an architecture diagram of an optional data integrity verification system according to an embodiment of the present invention, such as Figure 2 As shown, the data integrity verification system includes five entities, PKG (corresponding to the above-mentioned key management terminal), a user group composed of members within a company, institution or organization, a user group management terminal, a cloud storage server (CSP) and a third-party audit terminal.
[0073] PKG is a trusted key management organization responsible for generating user keys for user terminals in a user group. PKG sends the generated key pairs to the user terminals in the corresponding mobile user group.
[0074] The mobile user group is a joint entity with a large amount of data that can be outsourced. It can represent entities at all levels of a company / enterprise / institution. Members in the user group are called group users, and group users jointly manage the entire file data.
[0075] The user group management end is a trusted entity applied by the user group to the trusted institution. The user group management end receives various requests from the user end and returns the request response, which may specifically include: the group user delivers personal identity identification, key, etc. to the user group management end, the user group management end generates a group key through multilinear mapping and returns it to the group user, so that it encrypts the file through the group key and generates the corresponding file tag, and sends the encrypted file and file tag to the user group management end. The user group management end performs file upload and file download operations with the cloud storage server, and interacts with the third-party audit end to perform data audit. The user group management end sends a data integrity verification request to the third-party audit end, and the third-party audit end sends a data verification request to the cloud storage server, and receives the data verification response returned by the cloud storage server, performs integrity verification on the data stored by the user end in the cloud storage server, obtains the verification result, and returns the verification result as the integrity verification result response to the user group management end. At the same time, the user group management end matches users and user files one by one, stores them in a double-line linked list, ensures the availability of files by executing a series of modification operations of users, and sets permissions for group users. All operations of group users must be approved by the user group management end, thereby preventing group users from performing various operations such as damaging stored files.
[0076] Cloud storage servers (CSPs) can provide a large amount of storage and computing resources for group users, but they are untrustworthy to group users. Therefore, they need to regularly request data verification from the cloud storage servers to ensure the integrity of the data stored on the user side.
[0077] The third-party auditor (TPA) is a semi-trusted public data auditing entity that can provide data integrity verification services.
[0078] The data integrity verification method of the embodiment of the present invention can be applied to the above-mentioned data integrity verification system. It is an application scenario in which a mobile user group (company / enterprise / institution) jointly manages a group of files. The user end submits the data to a cloud storage server (CSP) for cloud storage, and the data integrity is verified by a third-party audit end.
[0079] First, due to the unreliability of TPA for mobile users (i.e., user terminals), TPA may record user information and uploaded file information, thereby exposing user privacy. The present invention generates a group key pair for the entire user group by means of multilinear mapping, and encrypts user data by means of the group key pair. The user group management terminal interacts with TPA to shield users in the user group, so that TPA audits the integrity of data on the cloud server without knowing the information of group members. Secondly, the user data in the group will be handed over to the user group management terminal for management using the files encrypted with the group key. The user group management terminal will correspond users to user files one by one, store them in a double-line linked list, and ensure the availability of files by executing a series of modification operations of users. Finally, users in the group are managed by the user group management terminal, which has the right to prohibit all operations of the user terminals in the group. Group users must agree to perform various operations with the consent of the user group management terminal. If the user terminal wants to perform any operation, it must be performed after the user identity is confirmed by the user group management terminal to prevent the stolen user from performing various operations that damage the uploaded files.
[0080] Step 1: Establish a system model and introduce a mechanism.
[0081] The system model includes five entities, PKG, a user group consisting of members within a company, institution or organization, a user group management terminal, a cloud storage server (CSP), and a third-party auditor. The communication between the user terminal within the user group and the user group management terminal, as well as the communication between the user group management terminal and the third-party audit terminal and the cloud storage server are established.
[0082] Step 2: Set parameters for the above system
[0083] Define the bilinear pairing function
[0084] G1 and G2 are two multiplicative cyclic groups with the same prime order p. g is the generator of the multiplicative cyclic group G1. To define a bilinear pairing: e:G1×G1→G2, the following conditions must be met:
[0085] Bilinear: For There is e(u a , v b )=e(u,v) ab ;
[0086] Non-degeneracy: e(g, g)≠1;
[0087] Computability: There exists an efficient algorithm to compute e.
[0088] Defining multilinear pairs
[0089] G1 and G2 are two multiplicative cyclic groups with the same prime order q, g, g1 are generators of the multiplicative cyclic group G1, and define the multilinear pairing: The following conditions need to be met:
[0090] Multilinear: For a1, a2, ..., a n ∈Z,x1,x2,...,x n ∈G1, there is
[0091] Non-degenerate: e(g, g, ...g) ≠ 1;
[0092] Computability: There exists a finite algorithm that can compute e.
[0093] Defining a hash function
[0094] H represents the hash function that maps the graph to points: {0, 1} * →G represents the conversion of {0, 1} * Map to G, H, that is, map the string to each element of G through the hash function.
[0095] Step 3: Upload files
[0096] File Chunking
[0097] Assume that the user group contains k mobile user terminals, divide the files in the user group into n sub-files, and distribute these sub-files to each user terminal. The user terminal will divide the data blocks in the received sub-files into s data blocks for storage. The data stored by the user terminal can be expressed as:
[0098] {m ij}(1≤i≤n, 1≤j≤s)
[0099] definition It is a random number used for transmission between the user group management end and TPA. By using random numbers, the credibility and integrity of the data are guaranteed.
[0100] User key generation
[0101] For each user in the user group i PKG generates a random number ε for each client i ∈Z p , and through ε i Define the user's private key as sk i =ε i , the public key is The client then publishes its public key and generates system parameters based on predefined parameters.
[0102] User group key generation
[0103] The user end in the user group sends its own public key pk i Sent to the user group management end, the user group management end calculates all public keys in the user group through multilinear mapping, namely:
[0104]
[0105] Where e(·) is a bilinear function, pk1, pk2, ..., pk k Represents the public key of each user terminal in the user group. Through the hash function, the private key of the mobile user group is defined as:
[0106] Group sk =H(S)
[0107] Among them, Group sk is the user group private key, and H(·) is the hash algorithm.
[0108] The public key of the user group is:
[0109]
[0110] Among them, Group pk is the user group public key, and g is the generator of the predefined multiplication cyclic group G1.
[0111] Afterwards, the user group management end will make the public key of the user group public.
[0112] Data label calculation
[0113] For each group user, after generating a private key through PKG, the private key is used to encrypt the data managed by itself to generate the initial encrypted data block:
[0114] The user group management end will generate the group private key Group sk Sent to the client, the client uses the group private key to re-encrypt the initial encrypted data block to generate an encrypted data block
[0115] The user end then performs label calculation on the encrypted data block managed by itself to obtain the data label. The calculation formula of the data label can be expressed as:
[0116]
[0117] Among them, id k represents the user representation, that is, the user ID of the kth user in the user group, H(id k) represents a hash value of the user ID.
[0118] After completing the above operations, the user will The package is sent to the user group management end, and the user group management end confirms the identity ID of each user end k Afterwards, the storage location of the encrypted data block of the user end is defined in the cloud storage server, and the index code used to locate the storage location is obtained. The data label and index code corresponding to the user end and the encrypted data managed by the user end are stored one by one in a double-line linked list. The double-line linked list is stored on the user group management end and can be used to trace the data to facilitate subsequent update operations on the user end.
[0119] Then the user group management end sends the encrypted data block of the user end to the cloud storage server according to the defined storage location, and after receiving the response information of successful storage from the cloud storage server, notifies the user end to delete the local file.
[0120] Step 4: Data integrity verification
[0121] TPA sends a request
[0122] Assume that client 1 in the user group wants to verify the integrity of data stored on the cloud storage server.
[0123] User 1 first sends a verification operation request to the user group management end. After the user group management end confirms the identity of group user 1, the user group management end initiates a data integrity verification request to TPA. The data integrity verification request carries the index code of the encrypted data block of the user end. TPA randomly selects the index code of the encrypted data block corresponding to user 1. The selected index code set {Index j}(1≤j≤c) is the index code corresponding to the c encrypted data blocks selected from the encrypted data block [1,s], which can be used to locate the encrypted data block L={r1,r2,...,r c}.
[0124] Then, TPA generates two random prime numbers u,v∈Z p , that is, the first prime number and the second prime number, and calculate through the first prime number and the system parameter to obtain the integrity check parameter:
[0125]
[0126] Finally, TPA sends a challenge message to the cloud storage server. The expression of the challenge message can be expressed as:
[0127]
[0128] CSP responds to requests
[0129] After receiving the challenge information, the CSP generates two parameters π (corresponding to the first verification parameter) and ω (corresponding to the second verification parameter). Specifically, the calculation formulas of the first verification parameter and the second verification parameter can be expressed as:
[0130]
[0131] Afterwards, the cloud storage server packages the first verification parameter and the second verification parameter {π, ω} and returns them to the third-party audit end.
[0132] Third-party audit verifies data integrity
[0133] After receiving the verification parameters sent by the cloud storage server, the third-party audit terminal brings the first verification parameter and the second verification parameter into the verification equation to verify the integrity of the requested data block, that is:
[0134]
[0135]
[0136] Determine whether the above equation is true. If the equation is true, it means that the data is complete, otherwise, the data is damaged.
[0137] Step 5: User Group Management Data Management
[0138] Figure 3 is a schematic diagram of an optional user group management terminal data storage according to an embodiment of the present invention, such as Figure 3 As shown, when the user end sends the encrypted data block to the user group management end, the user group management end creates, updates and maintains the bidirectional linked list in real time, and uses the data structure of the bidirectional linked list to correspond users to stored files one by one, for example Figure 3 The double-line linked list in stores the data tags and index codes of the corresponding storage locations corresponding to user 1's file 1, file 2, file 3, and file 4, the data tags and index codes of the corresponding storage locations corresponding to user 2's file 1, file 2, file 3, and file 4, the data tags and index codes of the corresponding storage locations corresponding to user 3's file 1, file 2, file 3, and file 4, and the data tags and index codes of the corresponding storage locations corresponding to user 4's file 1, file 2, file 3, and file 4.
[0139] By using a bidirectional linked list, the linked list header is displayed as the identification number of the group user, and the linked list content is the index code corresponding to the stored data block and the data label calculated by the user end.
[0140] When a user in a user group wants to perform a corresponding operation, the user group management end needs to confirm the identity information of the group user. If it is found that the user account has been stolen, the user is prohibited from performing any operation and the corresponding person in charge of the user is notified that the account is invalid. After the user group management end confirms the identity of the user, the corresponding update operation is performed on the bidirectional linked list as the user updates the data stored on the cloud server, which facilitates the traceability of data.
[0141] In an embodiment of the present invention, a method for verifying data integrity based on a mobile user group is proposed. First, due to the unreliability of the third-party audit terminal for mobile users, the third-party audit terminal may record user information and uploaded data information, thereby exposing user privacy. The present invention generates a group key pair for the entire user group by means of multilinear mapping, encrypts user data by means of the group key pair, interacts with the third-party audit terminal through a trusted management terminal, shields users in the user group, and enables the third-party audit terminal to audit the integrity of data on the cloud storage server without knowing the user information in the user group.
[0142] Secondly, the user data in the user group will be encrypted with the user's private key and group key and managed by the user group management end. The user group management end will match users with user data one by one, store them in a double-line linked list, and ensure the availability of the file by executing a series of user modification operations.
[0143] Finally, users in the user group are managed by the trusted management end, which has the right to prohibit all operations of group users. Group users must obtain the approval of the trusted management end before performing any operations. If group users want to perform any operation, they must confirm the user's identity on the trusted management end before performing it. This prevents stolen users from performing operations that damage uploaded files and ensures data security.
[0144] The following is a detailed description in conjunction with another embodiment.
[0145] Embodiment 2
[0146] A data integrity verification device provided in this embodiment includes multiple implementation units, each implementation unit corresponds to each implementation step in the above-mentioned embodiment 1. Its specific implementation methods and beneficial effects can refer to the above-mentioned method embodiments and will not be repeated here.
[0147] Figure 4 is a schematic diagram of an optional data integrity verification device according to an embodiment of the present invention. Figure 4 As shown, the data integrity verification device may include: a receiving unit 41, a generating unit 42, a constructing unit 43, and a verification unit 44, wherein:
[0148] The receiving unit 41 is used to receive a data verification request sent by the user group management end, and select an index code of a target encrypted data block based on the data verification request, wherein the user group management end is a trusted entity configured for users in the user group, and the data verification request includes index codes of N encrypted data blocks of the user end, where N is a positive integer;
[0149] A generating unit 42, configured to randomly generate two prime numbers to obtain a first prime number and a second prime number;
[0150] A construction unit 43 is used to construct challenge information based on the first prime number, the second prime number, the index code and the pre-generated system parameter, and send the challenge information to the cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user terminal based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, and the encrypted data in the encrypted data block is data that is double-encrypted based on the user private key and the user group private key;
[0151] The verification unit 44 is used to receive the first verification parameter and the second verification parameter returned by the cloud storage server, substitute the first verification parameter and the second verification parameter into the verification equation, and obtain the data integrity verification result based on the calculation result of the verification equation.
[0152] The above-mentioned data integrity verification device receives a data verification request sent by a user group management terminal through a receiving unit 41, and selects an index code of a target encrypted data block based on the data verification request, wherein the user group management terminal is a trusted entity configured for users in the user group, and the data verification request contains index codes of N encrypted data blocks of the user terminal; two prime numbers are randomly generated through a generating unit 42 to obtain a first prime number and a second prime number; a challenge message is constructed through a constructing unit 43 based on the first prime number, the second prime number, the index code and a pre-generated system parameter, and the challenge message is sent to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user terminal based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, and the encrypted data in the encrypted data block is data that is double-encrypted based on a user private key and a user group private key; the first verification parameter and the second verification parameter returned by the cloud storage server are received through a verification unit 44, and the first verification parameter and the second verification parameter are substituted into a verification equation, and a data integrity verification result is obtained based on the calculation result of the verification equation.
[0153] In this embodiment, a user group management terminal is introduced, and the user group management terminal interacts with the third-party audit terminal to avoid directly exposing user information to the third-party audit terminal, thereby enhancing the protection of user privacy. At the same time, the data stored by the user terminal in the cloud storage server is doubly encrypted by the user private key and the user group private key, which ensures the security of the user terminal data and user privacy. In the process of data integrity verification, the challenge information is constructed based on the first prime number, the second prime number, the index code and the system parameters, which can randomly and effectively generate parameters for verifying data integrity, ensuring the accuracy of the data integrity verification results. This solves the technical problem in the related technology that the data integrity is verified through the interaction between the user terminal and the third-party audit terminal, and the third-party audit terminal is not completely trustworthy, resulting in security risks in the user terminal data.
[0154] Optionally, the expression for the check equation is: Where e is a bilinear function, represents the hash value of the encrypted data block on the user side, l represents the lth data block on the user side, represents the encrypted data block of the user end, ω represents the second verification parameter, π represents the first verification parameter, u represents the first prime number, and v represents the second prime number.
[0155] Optionally, the verification unit 44 includes: a first determination module, used to determine that the data of the user terminal is incomplete when the calculation result of the verification equation indicates that the verification equation does not hold, obtain a data incomplete verification result, and send the data incomplete verification result to the user group management terminal; a second determination module, used to determine that the data of the user terminal is complete when the calculation result of the verification equation indicates that the verification equation holds, obtain a data complete verification result, and return the data complete verification result to the user terminal.
[0156] Optionally, the data integrity verification device also includes: a first receiving module, used for the user group management end to receive a data integrity verification request sent by the user terminal, and obtain the user identification of the user terminal based on the data integrity verification request; a first verification module, used to verify the user terminal based on the user identification to obtain a verification result; a first acquisition module, used to obtain the index code of S encrypted data blocks of the user terminal based on the user identification when the verification result indicates that the user terminal has passed the verification, wherein S is a positive integer and S is greater than or equal to N; a first generation module, used to generate a data verification request based on the index code, and send the data verification request to a third-party audit end.
[0157] Optionally, the data integrity verification device also includes: a second receiving module, used for the user terminal to send a key generation request to the key management terminal, and receive a user key returned by the key management terminal, wherein the user key includes a user public key and a user private key; a first sending module, used for the user terminal to send the user public key to the user group management terminal; a first construction module, used for the user group management terminal to construct a user group key based on the user public keys of M user terminals in the user group, wherein the user group key includes a user group public key and a user group private key, and M is a positive integer; a first return module, used for the user group management terminal to return the user group private key to the M user terminals in the user group.
[0158] Optionally, the data integrity verification device also includes: a first encryption module, used by the user end to encrypt S data blocks based on the user private key to obtain an initial encrypted data block; a second encryption module, used by the user end to re-encrypt the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculate a data tag based on the encrypted data block and the user identifier of the user end; a second sending module, used by the user end to send the encrypted data block, data tag and user public key to the user group management end.
[0159] Optionally, the data integrity verification device also includes: a second verification module, which is used by the user group management end to verify the identity of the user terminal based on the user identifier of the user terminal; a first definition module, which is used by the user group management end to define a storage location in the cloud storage server for the encrypted data block of the user terminal when the user terminal passes the identity verification, and obtain an index code according to the storage location of the encrypted data block of the user terminal; a first storage module, which is used by the user group management end to store the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; and a third sending module, which is used by the user group management end to send the encrypted data block and data tag of the user terminal to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, send a data clearing notification to the user terminal.
[0160] The above-mentioned data integrity verification device may also include a processor and a memory. The above-mentioned receiving unit 41, generating unit 42, constructing unit 43, verifying unit 44, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to realize corresponding functions.
[0161] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the integrity check of data can be performed by adjusting kernel parameters.
[0162] The above-mentioned memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one storage chip.
[0163] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium including a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned data integrity verification methods.
[0164] According to another aspect of an embodiment of the present invention, there is also provided an electronic device, comprising one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement any one of the above-mentioned data integrity verification methods.
[0165] According to another aspect of an embodiment of the present invention, a computer program product is further provided. The computer program product includes a computer program, wherein when the computer program is executed by a processor, any one of the above-mentioned data integrity verification methods is implemented.
[0166] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having the following method steps: receiving a data verification request sent by a user group management end, and selecting an index code of a target encrypted data block based on the data verification request, wherein the user group management end is a trusted entity configured for users in the user group, and the data verification request contains index codes of N encrypted data blocks of the user end; randomly generating two prime numbers to obtain a first prime number and a second prime number; constructing challenge information based on the first prime number, the second prime number, the index code and pre-generated system parameters, and sending the challenge information to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user end based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number and the second prime number, and the encrypted data in the encrypted data block is data that is double-encrypted based on a user private key and a user group private key; receiving the first verification parameter and the second verification parameter returned by the cloud storage server, and substituting the first verification parameter and the second verification parameter into a verification equation, and obtaining a data integrity verification result based on the calculation result of the verification equation.
[0167] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program for initializing the following method steps: the expression of the check equation is: Where e is a bilinear function, represents the hash value of the encrypted data block on the user side, l represents the lth data block on the user side, represents the encrypted data block of the user end, ω represents the second verification parameter, π represents the first verification parameter, u represents the first prime number, and v represents the second prime number.
[0168] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program initialized with the following method steps: the step of obtaining a data integrity check result based on a calculation result of a check equation includes: when the calculation result of the check equation indicates that the check equation does not hold, determining that the data on the user end is incomplete, obtaining a data incomplete check result, and sending the data incomplete check result to a user group management end; or, when the calculation result of the check equation indicates that the check equation holds, determining that the data on the user end is complete, obtaining a data complete check result, and returning the data complete check result to the user end.
[0169] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that is initialized with the following method steps: before receiving a data verification request sent by a user group management end, it also includes: the user group management end receives a data integrity verification request sent by a user end, and obtains a user identifier of the user end based on the data integrity verification request; verifies the user end based on the user identifier to obtain a verification result; when the verification result indicates that the user end has passed the verification, obtains an index code of S encrypted data blocks of the user end based on the user identifier, wherein S is a positive integer and S is greater than or equal to N; generates a data verification request based on the index code, and sends the data verification request to a third-party audit end.
[0170] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that is initialized with the following method steps: before receiving a data verification request sent by a user group management end, it also includes: the user end sends a key generation request to the key management end, and receives a user key returned by the key management end, wherein the user key includes a user public key and a user private key; the user end sends the user public key to the user group management end; the user group management end constructs a user group key based on the user public keys of M user ends in the user group, wherein the user group key includes a user group public key and a user group private key, and M is a positive integer; the user group management end returns the user group private key to the M user ends in the user group.
[0171] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that is initialized with the following method steps: before receiving a data verification request sent by a user group management end, it also includes: the user end encrypts S data blocks based on a user private key to obtain an initial encrypted data block; the user end re-encrypts the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculates a data tag based on the encrypted data block and the user identifier of the user end; the user end sends the encrypted data block, the data tag and the user public key to the user group management end.
[0172] The present application also provides a computer program product, which, when executed on a data processing device, is also suitable for executing a program that is initialized with the following method steps: after the user terminal sends the encrypted data, data tag and user public key to the user group management terminal, it also includes: the user group management terminal performs identity verification on the user terminal based on the user identification of the user terminal; when the user terminal passes the identity verification, the user group management terminal defines a to-be-stored location in the cloud storage server for the encrypted data block of the user terminal, and obtains an index code based on the to-be-stored location of the encrypted data block of the user terminal; the user group management terminal stores the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; the user group management terminal sends the encrypted data block and data tag of the user terminal to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, sends a data clearing notification to the user terminal.
[0173] Figure 5 1 is a hardware structure block diagram of an electronic device (or mobile device) according to a data integrity verification method of an embodiment of the present invention. Figure 5 As shown, the electronic device may include one or more ( Figure 5 502a, 502b, ..., 502n are used to illustrate) processor 502 (processor 502 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), memory 504 for storing data. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a keyboard, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 5 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 5 More or fewer components as shown, or with Figure 5 Different configurations are shown.
[0174] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0175] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0176] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0177] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0178] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0179] If 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 computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, 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, including a number of instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
[0180] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A data integrity verification method, characterized in that: Applied to the third-party audit end, the data integrity verification method includes: Receive a data verification request sent by a user group management terminal, and select an index code of a target encrypted data block based on the data verification request, wherein the user group management terminal is a trusted entity configured for users in the user group, and the data verification request includes index codes of N encrypted data blocks of the user terminal, where N is a positive integer; Randomly generate two prime numbers and obtain the first prime number and the second prime number; Constructing challenge information based on the first prime number, the second prime number, the index code, and a pre-generated system parameter, and sending the challenge information to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user terminal based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number, and the second prime number, wherein the encrypted data in the encrypted data blocks is data that is twice encrypted based on a user private key and a user group private key; The first verification parameter and the second verification parameter returned by the cloud storage server are received, and the first verification parameter and the second verification parameter are substituted into a verification equation, and a data integrity verification result is obtained based on a calculation result of the verification equation.
2. The method according to claim 1, characterized in that The expression of the verification equation is: Where e is a bilinear function, H(id l ) represents the hash value of the encrypted data block of the user terminal, l represents the lth data block of the user terminal, represents the encrypted data block of the user terminal, ω represents the second verification parameter, π represents the first verification parameter, u represents a first prime number, and v represents a second prime number.
3. The method according to claim 1, characterized in that: The steps of obtaining the data integrity verification result based on the calculation result of the verification equation include: When the calculation result of the verification equation indicates that the verification equation is not established, determining that the data of the user terminal is incomplete, obtaining a data incomplete verification result, and sending the data incomplete verification result to the user group management terminal; or In the case where the calculation result that the verification equation is established indicates that the verification equation is established, it is determined that the data of the user terminal is complete, a data integrity verification result is obtained, and the data integrity verification result is returned to the user terminal.
4. The method according to claim 1, characterized in that: Before receiving the data verification request sent by the user group management end, it also includes: The user group management terminal receives the data integrity check request sent by the user terminal, and obtains the user identification of the user terminal based on the data integrity check request; Verifying the user terminal based on the user identifier to obtain a verification result; When the verification result indicates that the user terminal has passed the verification, obtaining the index codes of the S encrypted data blocks of the user terminal based on the user identifier, where S is a positive integer and is greater than or equal to N; The data verification request is generated based on the index code, and the data verification request is sent to a third-party audit terminal.
5. The method according to claim 1, characterized in that Before receiving the data verification request sent by the user group management end, it also includes: The user terminal sends a key generation request to the key management terminal, and receives a user key returned by the key management terminal, wherein the user key includes a user public key and a user private key; The user terminal sends the user public key to the user group management terminal; The user group management terminal constructs a user group key based on the user public keys of the M user terminals in the user group, wherein the user group key includes the user group public key and the user group private key, and M is a positive integer; The user group management terminal returns the user group private key to the M user terminals in the user group.
6. The method according to claim 1, characterized in that Before receiving the data verification request sent by the user group management end, it also includes: The user end encrypts the S data blocks based on the user private key to obtain an initial encrypted data block; The user terminal performs secondary encryption on the initial encrypted data block based on the user group private key to obtain an encrypted data block, and calculates a data tag based on the encrypted data block and a user identifier of the user terminal; The user end sends the encrypted data block, the data tag and the user public key to the user group management end.
7. The method according to claim 6, characterized in that After the user terminal sends the encrypted data, the data tag and the user public key to the user group management terminal, the method further includes: The user group management terminal performs identity verification on the user terminal based on the user identification of the user terminal; When the user terminal passes the identity verification, the user group management terminal defines a to-be-stored location in the cloud storage server for the encrypted data block of the user terminal, and obtains an index code according to the to-be-stored location of the encrypted data block of the user terminal; The user group management terminal stores the index code and data tag of the encrypted data block of the user terminal in a double-line linked list; The user group management end sends the encrypted data block and the data tag of the user end to the cloud storage server, and after receiving the storage success response information returned by the cloud storage server, sends a data clearing notification to the user end.
8. A data integrity verification device, characterized in that: Applied to a third-party audit terminal, the data integrity verification device includes: A receiving unit, configured to receive a data verification request sent by a user group management terminal, and select an index code of a target encrypted data block based on the data verification request, wherein the user group management terminal is a trusted entity configured for users in the user group, and the data verification request includes index codes of N encrypted data blocks of the user terminal, where N is a positive integer; A generating unit, used for randomly generating two prime numbers to obtain a first prime number and a second prime number; a construction unit, configured to construct challenge information based on the first prime number, the second prime number, the index code, and a pre-generated system parameter, and send the challenge information to a cloud storage server, wherein the cloud storage server obtains N encrypted data blocks stored by the user terminal based on the index code, and calculates a first verification parameter and a second verification parameter based on the N encrypted data blocks, the first prime number, and the second prime number, wherein the encrypted data in the encrypted data blocks is data that is twice encrypted based on a user private key and a user group private key; A verification unit is used to receive the first verification parameter and the second verification parameter returned by the cloud storage server, substitute the first verification parameter and the second verification parameter into a verification equation, and obtain a data integrity verification result based on a calculation result of the verification equation.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located is controlled to execute the data integrity verification method according to any one of claims 1 to 7.
10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the data integrity verification method described in any one of claims 1 to 7.
Citation Information
Cited By
System and method for verifying data transmission integrity based on whole ring
CN120281480A
Data storage integrity verification system and method based on special polynomial ring
CN120540604A
A data storage integrity verification system and method based on special polynomial ring
CN120540604B
Multiple encryption data storage and retrieval system
US12494905B2
Multiple encryption data storage and retrieval system
US20240333489A1
