Keyword-based data auditing system supporting data backtracking and private key updating

By using Keyword Priority Auditing and Mapped Version Marking Table (IBBS) technology, the problem of dynamic data updates and efficient auditing in cloud storage is solved, enabling efficient and secure data integrity verification and historical version tracing, which is suitable for cloud storage of sensitive data such as electronic health records.

CN120979643APending Publication Date: 2025-11-18FUJIAN UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511118208.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-11
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Existing cloud storage technologies suffer from high computational overhead and low efficiency when dynamically updating and storing large-scale data. They also cannot support fine-grained auditing and data integrity verification, making it particularly difficult to quickly and accurately extract key information from medical data.

Method used

A keyword-first auditing strategy is adopted, which supports dynamic operations at the data block level by generating aggregate tags and mapping version mark tables (IBBS), and a private key update mechanism synchronized with the audit cycle is designed to achieve efficient auditing and historical version traceability.

Benefits of technology

It significantly improves audit efficiency, supports fine-grained auditing, reduces the risk of key leakage, and ensures data integrity and security, making it particularly suitable for cloud storage scenarios with high security requirements, such as electronic health records.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120979643A_ABST
    Figure CN120979643A_ABST
Patent Text Reader

Abstract

The invention provides a keyword-based data auditing system supporting data backtracking and private key updating, and the system comprises a user side which is used for extracting a keyword set from a data file, and generating a keyword aggregation tag and a block-level authentication tag; the cloud server stores a data file and an associated mapping version mark table, associates a historical version through a logic number, and supports historical version backtracking after data block insertion, deletion and modification; the third-party auditing center is used for directionally initiating an auditing challenge based on the keyword aggregation tag and generating private key updating information associated with a current auditing period timestamp when a file uploading event is triggered every time, and the user side adjusts the authentication tag to generate a secret key according to the private key updating information; the system positions a target file through a keyword aggregation tag, traces a historical version through a logic number of a mapping version tag table, and performs validity verification of audit proof based on an updated private key.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of cloud computing data security audit, and specifically relates to a cloud data audit system and method supporting keyword-driven block-level version rollback and audit cycle key update. The technical field combines cryptography dynamic key management, logical-physical separation version control and fine-grained audit verification, and is suitable for cloud data security protection in high-compliance industries such as medical treatment and finance BACKGROUND

[0002] With the rapid development of information technology, cloud storage technology has become an important part of modern data management. Cloud storage allows users to outsource large amounts of data to cloud service providers, thereby reducing the burden of local storage and enabling convenient shared access to data. However, storing data in the cloud also brings many security and privacy challenges, especially the issue of data integrity.

[0003] In a cloud storage environment, data integrity refers to the state of data remaining accurate and unaltered during storage and transmission. Due to hardware failures, software errors or improper operations of internal personnel of cloud service providers, data may be damaged or lost. In addition, malicious attackers may attempt to tamper with data stored in the cloud to gain improper benefits or cause damage. Therefore, ensuring data integrity is one of the key tasks of cloud storage security.

[0004] Traditional data integrity verification methods mainly rely on hash functions and digital signature technology. Although these methods can detect data integrity to some extent, they have obvious limitations when facing dynamic data updates and large-scale data storage. For example, when data is frequently updated, traditional hash functions need to recalculate the hash value of the entire file, which not only increases the computational overhead but also may cause the audit process to become inefficient. In addition, traditional verification methods usually cannot support fine-grained auditing of specific data blocks or keywords, which is particularly inconvenient when dealing with large-scale data sets.

[0005] In recent years, with the widespread use of sensitive data such as electronic health records (EHR), the requirement for data integrity is becoming higher and higher. EHR contains important information such as patients' health status, diagnosis results and treatment process, and the accuracy and integrity of these information are crucial for medical decision-making. In emergency medical situations, researchers need to quickly and accurately extract key information to support timely and effective treatment. Therefore, it is particularly important to develop a method that can support dynamic operations, keyword auditing and efficient data integrity verification.

[0006] Furthermore, existing data integrity verification schemes have shortcomings in supporting dynamic data updates and efficient auditing. For example, some schemes require recalculating the verification information of the entire file when data is updated, resulting in high computational overhead and low efficiency. At the same time, existing schemes often need to verify the integrity of all files during the auditing process, and cannot prioritize auditing specific keywords or high-risk data, leading to high auditing costs and low efficiency. Summary of the Invention

[0007] To address the shortcomings and deficiencies of existing technologies, this invention provides a keyword-based data auditing system that supports data backtracking and private key updates. It aims to solve problems such as low data auditing efficiency, untraceable historical versions after dynamic operations, and high risk of key leakage in cloud storage environments.

[0008] The system achieves technological breakthroughs through three core innovative mechanisms: First, it adopts a keyword-first auditing strategy, where users extract keywords from files and generate aggregated tags and file index sets. The third-party auditing center initiates targeted audit challenges based on the index set, performing integrity verification only on files containing specific keywords, eliminating the need to scan the entire dataset and significantly improving auditing efficiency. Second, it constructs an Interpretive Version Label Table (IBBS), which records the index number, logical number, version number, and status number of data blocks, supporting dynamic operations such as insertion, deletion, and modification at the data block level. It also retains historical version information, allowing for the tracing of earlier versions through the logical number and version number, enabling complete backtracking of the data change process. Third, it designs a dynamic private key update mechanism synchronized with the audit cycle. Each time data is uploaded, the third-party auditing center generates private key update information associated with the current time period. After user verification, the private key is updated, effectively reducing the historical data security risks caused by key leakage.

[0009] The above mechanisms work together to form a complete solution covering "efficient auditing, historical traceability, and dynamic security," which is suitable for cloud storage scenarios of sensitive data such as electronic health records that have extremely high requirements for data integrity and security. It is superior to existing technologies in terms of auditing efficiency, traceability, and key management security.

[0010] The specific technical solution adopted by this invention to solve its technical problem is as follows:

[0011] A keyword-based data auditing system supporting data backtracking and private key updates includes:

[0012] The user (usually the data owner) is used to extract a set of keywords from the data file and generate keyword aggregation tags and block-level authentication tags, wherein the keyword aggregation tags are generated by aggregating file block tags containing the same keywords.

[0013] A cloud server stores data files and an associated mapping version mark table, which records index numbers, logical numbers, version numbers and state numbers of data blocks, associates historical versions through logical numbers, and supports historical version backtracking after data block insertion, deletion or modification;

[0014] A third-party audit center initiates an audit challenge based on the keyword aggregation tag and generates private key update information associated with a current audit period timestamp at each file upload event trigger, and the user end adjusts the authentication tag generation key according to the private key update information;

[0015] The system locates the target file through the keyword aggregation tag, traces the historical version through the logical number of the mapping version mark table, and verifies the effectiveness of the audit proof based on the updated private key.

[0016] Further, the generation process of the keyword aggregation tag is that the user end calculates the hash value of each keyword in the file, and performs a product operation on the tags of all file blocks containing the same keyword to obtain the aggregation tag corresponding to the keyword.

[0017] Further, the block-level authentication tag is generated by the user end based on the file identity information, the logical number of the data block and the updated private key, through the operation result of the data block hash value and the exponent of the dynamic private key part.

[0018] Further, the fields of the mapping version mark table include:

[0019] The index number is used to identify the physical storage location of the data block.

[0020] The logical number is a unique permanent identifier assigned to the data block, which is independent of the physical storage location.

[0021] The version number records the number of updates of the data block, and the initial value is 1, which is incremented by 1 after each modification.

[0022] The state number is a binary identifier, in which the active value (1) indicates that the data block is valid, and the inactive value (0) indicates that the data block is a historical version.

[0023] Further, when the data block is modified, the state number of the original record in the mapping version mark table is marked as 0, and a new record is added, in which the logical number remains unchanged, the version number is the original version number plus 1, and the state number is 1.

[0024] When the data block is inserted, the mapping version mark table adds a record at the corresponding position, the logical number is the current maximum logical number plus 1, the version number is initialized to 1, and the state number is 1.

[0025] Further, the third-party audit center initiates the targeted audit challenge, which includes a target keyword, a random subset of the data block to be verified, and a corresponding random coefficient.

[0026] Further, in response to the audit challenge, the cloud server queries the historical version of the data block based on the mapping version mark table, generates an audit proof containing the data block hash aggregate value and the label aggregate value, and generates a challenge information only for the file containing the keyword.

[0027] Further, the private key update information is generated by the third-party audit center through polynomial difference operation, which is the sum of the product of the time period-based power difference and the private key update coefficient, and the order of the polynomial is set according to the anti-collusion attack requirement, and the user end verifies the validity of the update information through bilinear mapping.

[0028] Further, the user end adjusts the process of generating the authentication label to generate the key, which is to add the hash value of the private key update information to the dynamic private key of the previous period after verifying the private key update information through bilinear mapping, to obtain the dynamic private key of the current period.

[0029] Further, the validity verification process of the audit proof includes that the third-party audit center confirms the logical number and version number of the data block to be verified through the mapping version mark table, and verifies the relevance of the data block hash aggregate value, the random coefficient and the private key information in the audit proof through bilinear pair operation combined with the updated private key.

[0030] Compared with the prior art, the present application and its preferred schemes have the following advantages: first, through the keyword priority audit mechanism, the present application only audits the files containing the specific keyword, avoiding full data scanning and greatly improving the audit efficiency, especially suitable for scenarios that require quick positioning of key information; second, with the design of the mapping version mark table (IBBS), the present application realizes dynamic operation support and historical version tracing at the data block level, and no matter the data block is inserted, deleted or modified, it can be traced back to the early version through the logical number and version number, ensuring that the data change process is traceable; third, through the dynamic update of the private key synchronized with the audit period, the private key is automatically updated each time the data is uploaded, effectively reducing the historical data security risk caused by key leakage and enhancing the overall security of the system.

[0031] The provided generation and verification logic of the keyword aggregate label further enhances the accuracy of the audit; the mapping version mark table reduces data redundancy and storage overhead through lightweight processing of dynamic operations (such as deleting only modifying the state number and modifying only adding a record); the application of bilinear pair operation in integrity verification ensures the rigor and reliability of the audit proof.

[0032] In summary, the application forms a comprehensive advantage in audit efficiency, data traceability and key management security through multi-mechanism cooperation, and is especially suitable for cloud storage audit scenes of sensitive data such as electronic health records. BRIEF DESCRIPTION OF DRAWINGS

[0033] The application will be further described in detail below in combination with the drawings and specific embodiments:

[0034] Figure 1 The overall framework diagram for the systematic implementation of the embodiment scheme of the application is shown in the figure.

[0035] Figure 2 The principle diagram of the third-party audit center audit data integrity module in the embodiment of the application is shown in the figure.

[0036] Figure 3 The dynamic structure change schematic diagram of the IBBS table in the embodiment of the application is shown in the figure.

[0037] Figure 4 The principle diagram of the user data backtracking module in the embodiment of the application is shown in the figure. DETAILED DESCRIPTION

[0038] In order to make the features and advantages of the application more obvious and easy to understand, the following specific examples are described in detail as follows:

[0039] It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the present application. Unless otherwise indicated, all technical and scientific terms used in the specification have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs.

[0040] It should be noted that the terms used herein are only for the purpose of describing specific embodiments, and are not intended to limit the exemplary embodiments according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is intended to include the plural form, and in addition, it should be understood that when the terms "comprise" and / or "include" are used in the specification, they indicate the presence of a feature, step, operation, device, component and / or their combination.

[0041] The application provides an electronic health record (EHR, Electronic Health Record) oriented cloud data integrity audit scheme based on key word supporting data backtracking, aiming to overcome the deficiencies of the existing data integrity verification technology in cloud storage environment in supporting dynamic operation, fine-grained audit and high efficiency.

[0042] The scheme can be understood as three function modules, including a keyword priority audit module, a data index version backtracking module and a key update module; wherein the keyword priority audit module allows the auditor to only verify the integrity of the data file containing the specific keyword, solving the efficiency problem of the traditional audit scheme; the data index version backtracking module supports data block level insertion, deletion, modification and other operations by constructing a mapping version marker table (IBBS, Index-Based Block Signature Table), and retains historical version information, realizing the backtracking of the data change process; the key update module performs dynamic update of the user private key at each data upload, solving the risk of data loss caused by key leakage, and is suitable for cloud storage environments of high security sensitive data such as electronic health records.

[0043] The present application is significantly superior to the prior art in supporting dynamic operation, fine-grained audit, data traceability, security and privacy protection, and is particularly suitable for application scenarios such as electronic health records (EHR) which have extremely high requirements for data integrity and security.

[0044] The systematic implementation scheme of the data integrity audit scheme based on keywords and supporting data backtracking provided by the present application includes a third-party audit center verifying data integrity and a data owner dynamically updating data, and a complete system architecture diagram is shown in Figure 1 , which includes the following basic design scheme:

[0045] The user end is used for extracting a keyword set from a data file, generating a keyword aggregation tag and a block level authentication tag, wherein the keyword aggregation tag is generated by aggregating file block tags containing the same keyword;

[0046] The cloud server stores data files and associated mapping version marker tables, and the mapping version marker table records the index number, logical number, version number and state number of the data block, associates the historical version through the logical number, and supports historical version backtracking after data block insertion, deletion and modification;

[0047] The third-party audit center is used for initiating an audit challenge based on the keyword aggregation tag, and generating private key update information associated with the current audit period timestamp at each audit event trigger, and the user end adjusts the authentication tag generation key according to the private key update information;

[0048] The system locates the target file through the keyword aggregation tag, traces the historical version through the logical number of the mapping version marker table, and verifies the validity of the audit proof based on the updated private key.

[0049] As shown in Figure 2 , the role of the third-party audit center in the present embodiment is mainly to verify data integrity, and its implementation process includes:

[0050] In the challenge generation phase, the third-party auditing center sends a set of keywords (s is the keyword serial number), a random number and the data block coefficient to be verified as a challenge to the cloud server.

[0051] In an embodiment, when the data owner wants to verify the integrity of the data on the cloud storage server, the third-party auditing center sends a verification request. The third-party auditing center randomly selects a time period and randomly selects a subset from the file set containing keywords , where is the total number of data blocks in the file. The subset contains elements, representing the number of data blocks that need to be audited. For each selected data block , the third-party auditing center generates a random coefficient and constructs challenge information ={ } sent to the cloud server.

[0052] In the proof generation phase, the cloud server finds the file containing the keyword by the received challenge , and then generates a tag for the data block of the file The cloud server sends the proof , the data block generation tag , and the file tag to the third-party auditing center.

[0053] In an embodiment, after receiving the challenge information sent by the third-party auditing center, the cloud server finds all files containing the keyword from the set according to the challenge sent by the third-party auditing center, and then generates a temporary tag for the keyword of these files = . The cloud server generates an audit proof according to the data block index and the random coefficient in the challenge information, where = , . Finally, the cloud server sends the audit proof set , the file tag , the keyword temporary tag , and the keyword file index set to the third-party audit center.

[0054] In the proof verification stage of the third-party audit center, after receiving the response, the third-party audit center uses to verify the file label and the data block to generate the label If the verification is successful, the third-party auditor queries the corresponding challenge block of each file by looking up the table, and then verifies the data integrity. If the verification is passed, output 1, otherwise output 0.

[0055] In one embodiment, after the third-party audit center receives the proof, the file label, the keyword temporary label and the file index set sent by the cloud server, it first verifies the file label The file label contains the identity information of the file, the timestamp, part of the user private key and the signature. The third-party audit center verifies the integrity of the file label by verifying the signature.

[0056] =

[0057] If the signature verification fails, the verification result is directly returned as 0.

[0058] Then the third-party audit center verifies whether the keyword temporary label is consistent with the keyword label generated by the user .

[0059]

[0060] If not, return the verification result as 0.

[0061] After successful verification, the third-party audit center retrieves the file information , the timestamp , and part of the user private key information , and uses the table to query the logical block number of the challenge block corresponding to each file ( ∈ , ) of the challenge block. For the proof sent by the cloud server, the third-party audit center uses the following formula to verify the data integrity:

[0062] =

[0063] ​If the above equation is established, output 1, indicating that the data is stored on the cloud server; otherwise, output 0.

[0064] The data dynamic operation in the embodiment adjusts the structure of the IBBS table, as shown in the following table. Figure 3

[0065] Wherein, the logical number (BN, Block Number) is the permanent logical identification of the data block, which is irrelevant to the physical storage location; the status number (SN, Status Number) is the binary identification (1 represents active, and 0 represents historical version); and the version number (BV, Version Number) records the number of times of updating the data block (initially 1, and increasing by 1 each time of modification).

[0066] For the modification operation, the SN of the corresponding record is changed to 0, and a new record is added at the end of the table, the BN value is unchanged, and the version number BV is increased by 1; for the insertion operation, the record is inserted at the corresponding position, the logical number BN is the maximum current BN value plus 1; and for the deletion operation, only the SN of the record is changed to 0.

[0067] As shown in the following table, the implementation process of the data rollback by the user terminal in the embodiment includes: Figure 4

[0068] The implementation of the data rollback depends on the structure and record of the table. By recording the version number and status of each data block, the table allows the user to trace back to the early version of the data block when needed. Assuming that the user needs to trace back to the early version of the third data block in the file , first, find the data block record of the current valid version. Assuming that the user needs to trace back to the early version of the third data block in the file , in the table, find the record of and . Assuming that the found record is:

[0069]

[0070] The record indicates that the current third data block is the third version. represents the index number, represents the logical number, represents the version number, represents the status number

[0071] From the current version, trace back to the early version. In the table, find the record of and . Assuming that the found record is: ​​

[0072]

[0073]

[0074] This means that the second version and the first version of the third data block correspond to and

[0075] According to the found record, the user can trace back to the early version of the data block.

[0076] Based on the above design, the following can be achieved:

[0077] The third-party auditor or data owner only checks the integrity of the file containing the specific keyword; the audit scheme and systematic implementation support the historical version tracing of data, which is convenient for tracing back to the early version of the data when needed.

[0078] The following is a more specific display and introduction of the implementation mechanism of the embodiment of the application:

[0079] As one of the main design points of the embodiment of the application, the keyword-based data integrity audit specifically includes the following stages:

[0080] In the system initialization stage, a random number is selected to generate the master public key , wherein is calculated by and the generator . Define the public / private key pair , ; generate the initial private key based on the user .

[0081] As a preferred scheme of the embodiment, in the system initialization stage, the key generation center selects two multiplicative cyclic groups and of large prime order , wherein is a bilinear mapping; two generators of are selected; three encryption hash functions , and are defined; the key generation center randomly selects a random number , wherein is an integer group, is the order of the multiplicative cyclic group, and is a large prime number. The key generation center calculates the master public key and publishes the system parameters .

[0082] In the key update phase, the third party auditor (TPA) sends the key update information to the user, who uses the key update information and the time period to calculate the private key for the current time period . .

[0083] As a preferred embodiment of the present application, in the private key generation phase, the user sends his identity ID to the key generation center, which generates a set of private key update information after receiving the user ID, and the third party auditor uses the update information to calculate the updated private key of the user . Then the key generation center calculates the public value , randomly selects the key update information, generates a polynomial , then selects a random number and calculates = and . Among them, the private key contains a fixed part (not changing with time) and a dynamic part (updated with the audit period t, used to generate real-time authentication labels).

[0084] The key generation center generates the initial private key for the user and sends it to the user. The user receives the private key sent by the key generation center and uses the following formula to verify the correctness of the private key:

[0085]

[0086] In the private key update phase, the third party auditor sends the private key update information to the user ID at time period t , which represents the time period of the previous private key update. The user uses the following formula to verify the correctness of the update information after receiving the update:

[0087]

[0088] After verification, the user updates his own private key second part: , and finally obtains the latest private key at the current time t: .

[0089] In the key extraction phase, the user extracts the key from files and generates two sets { ​} and { } represents the index of files containing the specific keyword ; set { } represents the keywords contained in the files . The user sends the keyword set { } and the corresponding file index set { , } to the cloud server, and sends { } to the third-party audit center.

[0090] As a preferred solution of the embodiment, in the keyword extraction stage, the user extracts keywords { } from files, and then classifies the keywords. The th keyword is denoted as , and the total number of keywords in all files is . The user extracts keywords from each file and generates two sets related to the keywords. Set represents the index of files containing the specific keyword , and set { } represents the keywords contained in the files . The user sends the keyword set and the corresponding file index set to the cloud server, and sends to the third-party audit center.

[0091] In the label generation stage, the user calculates auxiliary information ( ) for each keyword in each file, and generates the corresponding label for each keyword. The user sends the keyword set to the third-party audit center, and sends the file identity information , the auxiliary information , the keyword set contained in the file and the file label to the cloud server.

[0092] As a preferred solution of the embodiment, in the label generation stage, the user calculates the auxiliary information of each keyword in each file, and generates the corresponding label for each keyword. For each file ( ), the keyword is denoted as The user calculates = ​Then the auxiliary information of each file is calculated wherein represents the identity information of each file, represents the partial private key of the time period t. The user generates the tag for each keyword using the auxiliary information of each file, = and then generates the file tag for each file = Finally, the user sends the keyword tag set to the third-party audit center and sends the identity information of the file, the auxiliary information, the keyword set and the file tag to the cloud server.

[0093] In the authentication generation phase, the user divides each file into blocks and creates a block tag, and then constructs an table for each data block of each file. The user sends the file identity information , the data block authentication set , the data block , and the table to the cloud server, and sends the file identity information and the table to the third-party audit center.

[0094] As a preferred scheme of the embodiment, in the data block authentication generation phase, the user divides each file ( into data blocks, i.e. = , wherein represents the th data block of the file . The user constructs an IBBS table for each file. The IBBS table is a dynamic data structure for recording the index number, the logical number, the version number and the state number of each data block. The user generates authentication information for each data block , wherein represents the logical block number of the data block in the IBBS table. The user sends the file name, the data block set, the authentication information set and the IBBS table to the cloud server, wherein = represents the authentication information set of all data blocks. The user also sends the file name and the IBBS table to the third-party audit center.

[0095] In the challenge generation phase, the third-party audit center sends the keyword set , a random number and the coefficients of the data blocks to be verified As a challenge Send to the cloud server.

[0096] As a preferred embodiment, during the challenge generation phase, the third-party audit center randomly selects a time period. and from containing keywords file collection Randomly select a subset ,in This represents the total number of data blocks in the file. (Subset) Include Each element represents the number of data blocks that need to be audited. For each selected data block... A third-party audit center generates a random coefficient. and construct challenge information ={ Send to the cloud server.

[0097] During the proof generation phase, the cloud server challenges received. Find files containing the keyword, and then generate tags for the data blocks of these files. The cloud server will prove... Data block generation tags File tags Send it to a third-party audit center.

[0098] As a preferred embodiment, during the proof generation phase, the cloud server selects from the set based on the challenge sent by the third-party audit center. Find all entries containing the keyword The files, and then generate a temporary tag for the keywords of these files. = The cloud server then indexes the data blocks in the challenge information. and random coefficients Generate audit proof ,in = , Finally, the cloud server will audit the set of evidence { }, File Tags Keywords and temporary tags Contains keywords File index set Send it to a third-party audit center.

[0099] During the verification and validation phase, the third-party audit center uses... Verify file tags Generate tags with data blocks If the verification is successful, the third-party auditor will be able to find... The table queries the logical block number of the challenge block corresponding to each file, and then verifies the data integrity. If the verification passes, output 1; otherwise, output 0.

[0100] As a preferred embodiment, during the proof verification phase, after receiving the proof, file tags, keyword temporary tags, and file index set, the third-party audit center first verifies the file tags. The file tag contains the file's identity information, timestamp, partial information about the user's private key, and a signature. A third-party auditing center verifies the signature to confirm the integrity of the file tag.

[0101] =

[0102] If signature verification fails, the verification result will be returned as 0.

[0103] Then a third-party auditing center verifies the keyword temporary tags. Is it related to user-generated keyword tags? Consistent.

[0104]

[0105] If they do not match, the verification result is returned as 0.

[0106] After successful verification, the third-party audit center retrieves the file information. timestamp and user private key information ,use The table query shows the challenge block corresponding to each file. ( ∈ , Logical block number For verification documents sent from the cloud server, the third-party audit center uses the following formula to verify data integrity:

[0107] =

[0108] H1 and H2 are both hash functions.

[0109] If the above equation is true, output 1, indicating that the data is completely stored on the cloud server; otherwise, output 0.

[0110] As another key design feature of this invention, supporting dynamic updates and data backtracking of EHR data specifically includes the following stages:

[0111] In the file insertion phase, the user sends an insertion request of a new file to the cloud server. The user updates the private key and generates the keyword set, the auxiliary information and the file label of the new file, and the IBBS table. Then the user sends the related information of the new file to the cloud server and the third-party audit center.

[0112] As a preferred scheme of the embodiment, in the file insertion phase, the user sends a private key update request to the third-party audit center. The third-party audit center generates the private key update information and the current time period according to the user's and sends it to the user. The user verifies the correctness of the update information and updates the private key to , where The user extracts the keyword set from the file and calculates the auxiliary information , where = The user divides the file into data blocks and generates authentication information for each data block, and the authentication information set is The user generates the file label for the file . Then the IBBS table is updated, the user constructs the IBBS table for the file and sends the file insertion request to the cloud server and the third-party audit center:

[0113] .

[0114] After receiving the insertion request, the cloud server inserts the file index into the corresponding keyword set and stores other information. After receiving the request, the third-party audit center updates the keyword label .

[0115] In the file deletion phase, the user sends a file deletion request to the cloud server and the third-party audit center. After receiving the request from the user, the cloud server sends the keyword set contained in the file to be deleted, the file information and the auxiliary information to the third-party audit center, and then the cloud server deletes the corresponding file information. After receiving the information from the cloud server, the third-party audit center verifies the information. If the verification is passed, the third-party audit center updates the keyword label and then deletes the corresponding information in the file.

[0116] As a preferred scheme of the embodiment, in the file deletion phase, the user deletes a file in the time period The user sends a deletion request to the cloud server and the third-party audit center: ,in This indicates a delete operation. Indicates the identity of the file to be deleted. After receiving the request, the cloud server sends { to the third-party auditing center} },in This indicates that the file contains the keyword to be deleted. This indicates auxiliary information. Then the cloud server deletes the corresponding file information. After receiving the information from the cloud server, the third-party audit center calculates the file's auxiliary information. The third-party audit center uses the following formula to verify the data sent by the cloud server. Does it fully include the file? All keywords.

[0117]

[0118] After successful verification, the third-party audit center updates the keyword tags. = and delete the file. Related information.

[0119] During the data block deletion phase, the user finds the file corresponding to... The system retrieves the data block to be deleted from the table and modifies its status number. The user sends a deletion request to the cloud server and the third-party audit center, and the cloud server and the third-party audit center update the status. Table, modify status number.

[0120] As a preferred embodiment, during the data block deletion phase, if the user wants to delete a file... The Data blocks First, the user is of Find in the table Record and mark the status. Set it to 0. Then the user sends a deletion request to the cloud server and the third-party audit center: = { Upon receiving the request, the cloud server and the third-party audit center only update... Status flags of corresponding records in the table ,Will Modified to This indicates that the data block is inactive.

[0121] During the data block insertion phase, the user... A new data block is inserted into the table, and the index is updated. The user calculates the label for the new data block and sends an insert request to the cloud server and the third-party audit center. Upon receiving the request, the cloud server inserts the new data block and adds the data block label to the label set. The third-party audit center and the cloud server... The operations on the table are the same as the user's operations.

[0122] As a preferred embodiment, during the data block insertion stage, the user wishes to insert data into the file... Insert a new data block The user in the file of Find the insertion position in the table and add all The records Increment the value by 1 and place it at position Insert a new record:

[0123]

[0124] Then, the user inserts the newly inserted data block. Generate authentication information The user sends insertion requests to both the cloud server and the third-party audit center: , } Indicates the file being inserted The identity of the data block. After receiving the insert request, the cloud server will... Insert into file The Location, and authentication information Add to the authentication information set In China. Third-party audit centers and cloud servers. The table update operation is consistent.

[0125] During the data block modification phase, the user finds the corresponding file... The table sets the status number of the data block to be modified to zero, and then... A new record is added to the end of the table. The user then sends the modification request to the third-party audit center and the cloud server, which update the record upon receiving the request. surface.

[0126] As a preferred embodiment, during the data block modification stage, assume the user wants to modify the file. The first in Data blocks Modified to The user in the file Find the corresponding record (BN=j, SN=1) in the IBBS table, set the status flag SN to 0, and add a new record to the end of the table:

[0127] IN=

[0128] User for modified data block Generate authentication information = User sends a modification request to the cloud server: At the same time, send a modification request to the third-party audit center: .

[0129] After the cloud server receives the modification request, insert the modified data block At the end of the file , and add authentication information To the authentication information set . The third-party audit center and the cloud server Table update method is consistent with user operation.

[0130] In the scheme of the embodiment of the application, the implementation of data rollback depends on the structure and record of Table. By recording the version number and state of each data block, Table allows users to trace back to the early version of the data block when needed.

[0131] Assuming that the user needs to trace back to an early version of a data block in the file , first, find the data block record of the current valid version. Assuming that the user needs to trace back to the current version of the 3rd data block in the file In Table, find And Record. Assuming that the found record is:

[0132]

[0133] The record indicates that the current 3rd data block is the 3rd version.( Indicates the index number, Indicates the logical number, Indicates the version number, Indicates the state number)

[0134] From the current version, trace back to the early version. In Table, find And Record. Assuming that the found record is:

[0135]

[0136]

[0137] This means that the second version and the first version of the third data block correspond to and .

[0138] According to the found record, the user can trace back to the early version of the data block.

[0139] The present application can provide a reliable and secure file storage method for users in more fields such as cloud storage. The data owner is allowed to perform insertion, deletion and modification operations on the data in the cloud storage environment without the need to recalculate the check value of the entire file. The present application supports fine-grained audit function based on keywords. The data owner or third-party auditor can specify specific keywords and only perform integrity check on the files containing these keywords. This function is particularly suitable for medical data and other scenarios that require quick extraction of key information, significantly reducing unnecessary audit overhead and improving audit efficiency. The present application supports data traceability by recording the historical version information of the data block, allowing users to trace back to the early version of the data when needed. This function is of great significance for medical accident liability tracing and data history analysis.

[0140] Based on the same inventive concept, the present application also provides a computer device, which comprises one or more processors and a memory for storing one or more computer programs; the program comprises program instructions, and the processor is configured to execute the program instructions stored in the memory. The processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., which are the computing core and control core of the terminal, and are configured to implement one or more instructions, and are specifically configured to load and execute one or more instructions in the computer storage medium to implement the above method.

[0141] It should be further noted that based on the same inventive concept, the present application also provides a computer storage medium, which stores a computer program, and the computer program is run by a processor to execute the above method. The storage medium can adopt any combination of one or more computer readable media. The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples (non-exhaustive list) of the computer readable storage medium include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus.

[0142] It should be noted that unless otherwise defined, technical or scientific terms used in the present application should be understood as having the common meaning in the field of the present application to those having ordinary skill in the art. The terms "first", "second" and similar terms used in the present application do not denote any order, quantity or importance, but are only used to distinguish different components. The terms "include" or "contain" and similar terms mean that the elements or objects before the terms cover the elements or objects listed after the terms and their equivalents, and do not exclude other elements or objects. The terms "connected" or "connected" and similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to represent relative positional relationships, and when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0143] The above is only the preferred embodiment of the present application, and does not limit other forms of the present application. Any skilled person in the art can modify or change the above disclosed technical content to equivalent embodiments. However, any simple modification, equivalent change and modification of the above embodiments without departing from the technical solution of the present application, and according to the technical essence of the present application, still belongs to the protection scope of the technical solution of the present application.

[0144] The present application is not limited to the above-described best mode, and anyone can derive other various forms of a data auditing system based on keywords supporting data rollback and private key update under the inspiration of the present application. Any equivalent changes and modifications made within the scope of the present application should be included in the scope of the present application.

Claims

1. A data auditing system based on keywords that supports data backtracking and private key updates, characterized in that, include: On the user side, it is used to extract a set of keywords from data files and generate keyword aggregation tags and block-level authentication tags, wherein the keyword aggregation tags are generated by aggregating file block tags containing the same keywords; The cloud server stores data files and associated mapping version tag tables. The mapping version tag tables record the index number, logical number, version number, and status number of data blocks. Historical versions are associated through logical numbers, and historical version backtracking is supported after data blocks are inserted, deleted, or modified. A third-party audit center is used to initiate audit challenges based on the keyword aggregation tags, and to generate private key update information associated with the current audit period timestamp each time a file upload event is triggered. The user terminal adjusts the authentication tag generation key according to the private key update information. The system locates target files by aggregating tags with keywords, traces historical versions by mapping logical numbers and version numbers in the version tag table, and verifies the validity of audit proofs based on the updated private key.

2. The data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The generation process of the keyword aggregation tag is as follows: the user terminal calculates the hash value of each keyword in the file, multiplies the tags of all file blocks containing the same keyword, and obtains the aggregation tag of the corresponding keyword.

3. The data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The block-level authentication tag is generated by the user terminal based on the file identity information, the logical number of the data block, and the updated private key, through the exponential operation result of the data block hash value and the dynamic private key portion.

4. The data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The fields of the mapping version tag table include: The index number is used to identify the physical storage location of the data block; A logical number is a unique, permanent identifier assigned to a data block, regardless of its physical storage location. Version number, records the number of times the data block has been updated, with an initial value of 1, incremented by 1 after each modification; The status number is a binary identifier, where an active value (1) indicates that the data block is valid, and an inactive value (0) indicates that the data block is a historical version.

5. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 4, characterized in that: When a data block is modified, the status number of the original record in the mapping version tag table is marked as 0, and a new record is added, in which the logical number remains unchanged, the version number is the original version number plus 1, and the status number is 1. When a data block is inserted, the mapping version tag table adds a new record at the corresponding position. The logical number is the current maximum logical number plus 1, the version number is initialized to 1, and the status number is 1.

6. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The targeted audit challenge initiated by the third-party audit center includes: target keyword, random subset of data blocks to be verified and corresponding random coefficients. The challenge information is only generated for files containing the keyword.

7. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 6, characterized in that: When the cloud server responds to an audit challenge, it queries the historical version of the data block to be verified based on the mapping version tag table and generates an audit proof containing the data block hash aggregation value and tag aggregation value; the file start position contains a fixed virtual block to maintain the continuity of the data block index.

8. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The private key update information is generated by a third-party auditing center through polynomial difference operations. The polynomial difference operation is the sum of the product of the power difference based on the time period and the private key update coefficient. The order of the polynomial is set according to the requirements of anti-collusion attack. The user terminal verifies the validity of the update information through bilinear mapping.

9. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 8, characterized in that: The process of adjusting the authentication tag generation key on the user side is as follows: after verifying the private key update information through bilinear mapping, the dynamic private key part of the previous period is added to the hash value of the private key update information to obtain the dynamic private key of the current period.

10. A data auditing system based on keywords that supports data backtracking and private key updates according to claim 1, characterized in that: The validity verification process of the audit proof includes: the third-party audit center confirms the logical number and version number of the data block to be verified by mapping the version tag table, and verifies the correlation between the hash aggregation value, random coefficient and private key information of the data block in the audit proof by combining the updated private key and bilinear pairing operation.