IO efficiency optimized forward security dynamic symmetric searchable encryption method and system

By buffering and batching update data on the client side, and using forward security dynamic symmetric searchable encryption scheme to store auxiliary search information, the contradiction between IO efficiency and forward security of dynamic symmetric searchable encryption scheme is solved, and efficient search and update performance is achieved.

CN119583190AActive Publication Date: 2025-03-07UNIV OF SCI & TECH OF CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411818747.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-07
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

The existing dynamic symmetric searchable encryption scheme ensures forward security while maintaining low IO efficiency, especially when searching high-frequency keywords, resulting in higher search delays.

Method used

By buffering updates on the client and batch uploading, the underlying forward-security dynamic symmetry searchable encryption scheme can store auxiliary search information, optimize IO efficiency, and reduce the number of random IO times.

Benefits of technology

It significantly improves the search efficiency of high-frequency keywords, optimizes IO efficiency, and maintains forward security without affecting the update efficiency and search efficiency of other keywords.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119583190A_ABST
    Figure CN119583190A_ABST
Patent Text Reader

Abstract

The invention provides a forward security dynamic symmetric searchable encryption method and system for IO efficiency optimization, and belongs to the technical field of information security, and the method comprises the steps: S1, determining and initializing a to-be-optimized bottom layer forward security dynamic symmetric searchable encryption scheme, parameters and data structures of all parties including a client buffer area; s2, buffering update in a client, executing batch update until a fixed buffer upper limit is reached, packaging all updates in a buffer area through special security packaging and uploading, and storing auxiliary search information by using a bottom layer forward security dynamic symmetric searchable encryption scheme; and S3, retrieving auxiliary search information by using a bottom layer forward security dynamic symmetry searchable encryption scheme, extracting updates in a package on the server through the auxiliary search information, combining to obtain a server end result, and further combining with other updates in a client buffer area to obtain a final result. According to the method, the search efficiency of the high-frequency keywords is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of information security technology, and in particular relates to a forward-secure dynamic symmetric searchable encryption method and system with optimized IO efficiency. Background Art

[0002] In the era of cloud computing, individuals and enterprises are increasingly outsourcing data to the cloud, and the privacy of outsourced data is facing increasingly severe challenges. Although traditional encryption methods can protect data privacy, they hinder the normal search of data and affect the availability of data. Symmetric searchable encryption is a technology used to solve this problem. By building an encrypted index, this technology can achieve efficient search while ensuring data encryption, solving the contradiction between data privacy and availability. It has broad application prospects in fields such as medical care, finance, and e-government. Dynamic symmetric searchable encryption is a type of symmetric searchable encryption that allows flexible addition and deletion of data. It is more practical in cloud environments than traditional static solutions.

[0003] Currently, dynamic symmetric searchable encryption can be fully implemented through symmetric encryption and has achieved the optimal search complexity, but there is still a lot of room for optimization in terms of IO efficiency. This is because the requirement of forward security will lead to a decrease in IO efficiency. Forward security is a key security property that needs to be ensured in dynamic symmetric searchable encryption, which requires that the previous search operation will not leak information about subsequent updates. Due to this requirement, subsequent updates and previous search results cannot be arranged continuously in storage, which brings additional random IO times to the search process. For modern storage devices, the efficiency of a continuous IO is much higher than that of multiple random IOs, and the number of random IO times is extremely critical to IO efficiency. At present, the number of random IO times for most dynamic symmetric searchable encryption schemes increases linearly with the increase in the number of results, which makes the search time also increase linearly with the number of results, especially for high-frequency keywords. It brings higher search delays.

[0004] Most of the existing dynamic symmetric searchable encryption schemes that can reduce the number of random IO times ignore forward security. The schemes that support forward security reduce the number of random IO times by continuously reconstructing static symmetric searchable encryption schemes into dynamic schemes, but they make too many sacrifices in key indicators such as update efficiency and read efficiency, reducing practicality. Among them, the decline in read efficiency even offsets the improvement in IO efficiency and search efficiency brought about by the optimization of random IO times in many scenarios, and has a negative impact on the search efficiency of keywords other than extremely high-frequency keywords. Therefore, how to ensure forward security while reducing the number of random IO times required for search to improve the search efficiency of high-frequency keywords, and not affecting important performance indicators including update efficiency and search efficiency of other keywords, has become a problem that needs to be solved urgently. Summary of the invention

[0005] In order to solve the above technical problems, the present invention provides a forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency, comprising the following steps:

[0006] Step S1: Initialization phase: determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme, parameters, and data structures of all parties including the client buffer to be optimized;

[0007] Step S2: Update phase: Buffer updates in the client until a fixed buffer limit is reached and perform batch updates. All updates in the buffer are encapsulated and uploaded through special security packaging, and auxiliary search information is stored using the underlying forward-secure dynamic symmetric searchable encryption scheme.

[0008] Step S3: Search phase: Use the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extract updates in the package on the server through the auxiliary search information, combine to obtain server-side results, and further combine with other updates in the client buffer to obtain the final result.

[0009] Beneficial effects:

[0010] 1. The present invention buffers updates on the client and uploads them in packages. All keywords in a single package only need one continuous IO to read, which effectively limits the number of random IOs required for searching different keywords, optimizes IO efficiency, and significantly improves the search efficiency of high-frequency keywords. At the same time, compared with other existing technologies, it will not significantly affect the update efficiency and the search efficiency of other keywords.

[0011] 2. The secure packaging format designed by the present invention is such that the updated positions and quantity distributions of different keywords within the package will not affect each other, so that when searching for certain keywords, the present invention will not cause leakage of information related to other keywords, and will not introduce additional information leakage while maintaining forward security.

[0012] 3. The present invention is applicable to most forward-secure dynamic symmetric searchable encryptions and can provide them with IO efficiency optimization. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 A schematic diagram of a forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to the present invention;

[0014] Figure 2 for Schematic diagram of the packaging format when

[0015] Figure 3 This is a schematic diagram of the update phase;

[0016] Figure 4 This is a schematic diagram of the search phase;

[0017] Figure 5 This is a structural block diagram of an IO efficiency optimized forward secure dynamic symmetric searchable encryption system of the present invention. DETAILED DESCRIPTION

[0018] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0019] Embodiment 1

[0020] like Figure 1 As shown, an IO efficiency-optimized forward-secure dynamic symmetric searchable encryption method provided by an embodiment of the present invention includes the following steps:

[0021] Step S1: Initialization phase: determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme, parameters, and data structures of all parties including the client buffer to be optimized;

[0022] Step S2: Update phase: Buffer updates in the client until a fixed buffer limit is reached and perform batch updates. All updates in the buffer are encapsulated and uploaded through a special secure package, and auxiliary search information is stored using the underlying forward-secure dynamic symmetric searchable encryption scheme.

[0023] Step S3: Search phase: Use the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extract the updates in the package on the server through the auxiliary search information, combine them to obtain the server-side results, and further combine them with other updates in the client buffer to obtain the final result.

[0024] In one embodiment, the above step S1: initialization phase: determining and initializing the underlying forward-secure dynamic symmetric searchable encryption scheme, parameters, and data structures of all parties including the client buffer to be optimized, specifically includes:

[0025] Step S11: Determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme to be optimized, which should meet the following security requirements, including: the leakage in the update phase at most includes operators, and the operators include: addition or deletion; the leakage in the search phase at most includes the search history and update history of the target keyword;

[0026] Step S12: Determine packaging parameters and the maximum number of keywords ;

[0027] When used specifically, packaging parameters The larger the value, the larger the client buffer and client storage, and the greater the degree of optimization of IO efficiency. This needs to be determined based on actual needs and performance testing.

[0028] Step S13: The client initializes a buffer for storing keywords and their corresponding update lists, and the server initializes storage of each packaged list.

[0029] In one embodiment, the above step S2: update phase: buffer updates in the client until a fixed buffer limit is reached, perform batch updates, encapsulate all updates in the buffer through special security packaging and upload, and use the underlying forward-secure dynamic symmetric searchable encryption scheme to store auxiliary search information, specifically including:

[0030] Step S21: Client cumulative update: add the file identifier and operator corresponding to the keyword to be updated to the update list corresponding to the keyword in the client buffer. If the total number of updates in the client buffer does not reach the upper limit , end; otherwise, go to step S22;

[0031] Step S22: Client package upload update: The client initializes a two-dimensional array for packaging, with the number of rows being , the number of columns is , the array element is a tuple consisting of a file identifier and an operator; the client randomly selects a suitable interval for each keyword corresponding to a non-empty update list in the buffer according to the algorithm, fills the update list with null values, fills the update list into the interval, and then randomly generates a seed, generates a random bit string based on the seed and XORs it with the interval; the client clears the buffer and sends the package to the server, and the server adds the package to the package list;

[0032] Among them, a suitable interval in which the update list can be placed is randomly selected according to the algorithm, specifically:

[0033] Pack the first two-dimensional array Rows are considered equally divided The size is The interval is selected to accommodate the minimum row number of the update list, and a non-selected interval of the row is randomly selected as the target interval. Figure 2 As shown, The packaging format.

[0034] Step S23: The client updates the auxiliary search information using the underlying forward-secure dynamic symmetric searchable encryption scheme: The client updates the auxiliary search information for each keyword in the corresponding non-empty update list involved in step S22 using the underlying forward-secure dynamic symmetric searchable encryption scheme, which is used to extract the data in the package during the search phase; the total number of keywords is equal to Gap 1, the client continues to use the underlying forward-secure dynamic symmetric searchable encryption scheme to perform an update with a fixed pseudo-keyword, an empty file identifier, and an increment operator.

[0035] Among them, the auxiliary search information is updated using the underlying forward-secure dynamic symmetric searchable encryption scheme. The specific steps are: using the target keyword as the keyword, the batch number, that is, the number of batch uploads of the entire system, the combination of the seed corresponding to the keyword and the interval position corresponding to the update list as the file identifier, and using the increase operator to update the underlying forward-secure dynamic symmetric searchable encryption scheme.

[0036] like Figure 3 Shown is a schematic diagram of the update phase.

[0037] In one embodiment, the above step S3: search phase: using the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extracting updates in the package on the server through the auxiliary search information, combining to obtain server-side results, and further combining with other updates in the client buffer to obtain the final result, specifically including:

[0038] Step S31: The client uses the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information: Based on the underlying forward-secure dynamic symmetric searchable encryption scheme, the client searches with the target keyword, obtains a list of auxiliary search information, and sends it to the server;

[0039] When in use, the initialization phase should try to ensure that the search process of the selected underlying forward-secure dynamic symmetric searchable encryption scheme can obtain results on the server side, so that the step of sending the list of auxiliary search information to the server can be ignored, reducing communication overhead;

[0040] Step S32: the server extracts updates in the package according to the auxiliary search information and organizes them into server-side results and returns them to the client: the server maintains a result file identifier set, traverses the auxiliary search information in order of batch number from small to large, and for each auxiliary search information, uses the batch number and interval position to locate the corresponding interval of the corresponding batch package in the package array, uses the random bit string generated by the seed to XOR with the interval, and screens out the null value to obtain an update list, and uses the operator of each item in the update list to add or delete the corresponding file identifier in the set; finally, the file identifiers in the result file identifier set constitute the server-side result list, which is returned to the client;

[0041] When in use, the initialization phase should try to ensure that the search results of the selected underlying forward-secure dynamic symmetric searchable encryption scheme are themselves arranged in update order or reverse order, so that the auxiliary search information will be naturally arranged according to the batch number, which is convenient for traversal and avoids the overhead of calling the sorting algorithm.

[0042] Step S33: The client combines the server-side result list with other updates in the buffer to obtain the final result: the client traverses the update list corresponding to the target keyword in the buffer, and further adds or deletes the corresponding file identifier in the server-side result according to the operator of each item to obtain the final result.

[0043] like Figure 4 Shown is a schematic diagram of the search phase.

[0044] The present invention can generate a forward-secure dynamic symmetric searchable encryption scheme that optimizes IO efficiency based on the existing forward-secure dynamic symmetric searchable encryption scheme by batch packaging and designing a secure packaging format, thereby effectively improving the search efficiency of high-frequency keywords without significantly affecting the update efficiency and other keyword search efficiencies. At the same time, the forward security of the original scheme is retained without introducing additional leakage, ensuring higher security.

[0045] Embodiment 2

[0046] like Figure 5 As shown, an embodiment of the present invention provides a forward-secure dynamic symmetric searchable encryption system with optimized IO efficiency, including the following modules:

[0047] Initialization module 41, used to determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme to be optimized, parameters and various data structures including the client buffer;

[0048] Update module 42, used in the update phase: buffering updates in the client until a fixed buffer limit is reached and performing batch updates, encapsulating all updates in the buffer through special security packaging and uploading, and storing auxiliary search information using the underlying forward-secure dynamic symmetric searchable encryption scheme;

[0049] Search module 43 is used in the search phase: using the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extracting updates in the package on the server through the auxiliary search information, combining them to obtain server-side results, and further combining them with other updates in the client buffer to obtain the final result.

Claims

1. A forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency, characterized in that: include: Step S1: Initialization phase: determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme, parameters, and data structures of all parties including the client buffer to be optimized; Step S2: Update phase: Buffer updates in the client until a fixed buffer limit is reached and perform batch updates. All updates in the buffer are encapsulated and uploaded through special security packaging, and auxiliary search information is stored using the underlying forward-secure dynamic symmetric searchable encryption scheme. Step S3: Search phase: Use the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extract updates in the package on the server through the auxiliary search information, combine to obtain server-side results, and further combine with other updates in the client buffer to obtain the final result.

2. The forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to claim 1, characterized in that: The step S1: initialization phase: determining and initializing the underlying forward-secure dynamic symmetric searchable encryption scheme, parameters and data structures of all parties including the client buffer to be optimized, specifically including: Step S11: Determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme to be optimized, which should meet the following security requirements, including: the leakage in the update phase contains at most operators, and the operators include: addition or deletion; the leakage in the search phase contains at most the search history and update history of the target keyword; Step S12: Determine packaging parameters and the maximum number of keywords ; Step S13: The client initializes a buffer for storing keywords and their corresponding update lists, and the server initializes storage of each packaged list.

3. The forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to claim 2, characterized in that: Step S2: Update phase: Buffer updates in the client until a fixed buffer limit is reached and perform batch updates. All updates in the buffer are encapsulated and uploaded through special security packaging. At the same time, the underlying forward-secure dynamic symmetric searchable encryption scheme is used to store auxiliary search information, specifically including: Step S21: Client cumulative update: add the file identifier and operator corresponding to the keyword to be updated to the update list corresponding to the keyword in the client buffer. If the total number of updates in the client buffer does not reach the upper limit , end; otherwise, go to step S22; Step S22: Client package upload update: The client initializes a two-dimensional array for packaging, with the number of rows being , the number of columns is , the array element is a tuple consisting of a file identifier and an operator; the client randomly selects a suitable interval for each keyword corresponding to a non-empty update list in the buffer according to the algorithm, fills the update list with null values, fills the update list into the interval, and then randomly generates a seed, generates a random bit string based on the seed and XORs it with the interval; the client clears the buffer and sends the package to the server, and the server adds the package to the package list; Step S23: The client updates the auxiliary search information using the underlying forward-secure dynamic symmetric searchable encryption scheme: The client updates the auxiliary search information for each keyword in the corresponding non-empty update list involved in step S22 using the underlying forward-secure dynamic symmetric searchable encryption scheme, which is used to extract the data in the package during the search phase; the total number of the keywords is equal to Gap 1, the client continues to use the underlying forward-secure dynamic symmetric searchable encryption scheme to perform an update with a fixed pseudo-keyword, an empty file identifier, and an increment operator.

4. The forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to claim 3, characterized in that: In step S22, a suitable interval for placing the update list is randomly selected according to an algorithm, which specifically includes: Pack the first two-dimensional array Rows are considered equally divided The size is The target interval is selected, the minimum row number of the update list is selected, and an unselected interval of the row is randomly selected as the target interval.

5. The forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to claim 3, characterized in that: In step S23, the auxiliary search information is updated using the underlying forward-secure dynamic symmetric searchable encryption scheme, specifically including: The target keyword is used as the keyword, and the batch number, that is, the number of batch uploads of the entire system, the combination of the seed corresponding to the keyword and the interval position corresponding to the update list is used as the file identifier, and the increase operator is used to update the underlying forward-secure dynamic symmetric searchable encryption scheme.

6. The forward-secure dynamic symmetric searchable encryption method with optimized IO efficiency according to claim 3, characterized in that: The step S3: search phase: using the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information, extracting updates in the package on the server through the auxiliary search information, combining to obtain server-side results, and further combining with other updates in the client buffer to obtain the final result, specifically including: Step S31: the client uses the underlying forward-secure dynamic symmetric searchable encryption scheme to retrieve auxiliary search information: the client searches with the target keyword based on the underlying forward-secure dynamic symmetric searchable encryption scheme, obtains a list of auxiliary search information, and sends it to the server; Step S32: the server extracts updates in the packaging according to the auxiliary search information and organizes them into server-side results and returns them to the client: the server maintains a result file identifier set, traverses the auxiliary search information in order of batch number from small to large, and for each piece of the auxiliary search information, uses the batch number and interval position to locate the corresponding interval of the corresponding batch packaging in the packaging array, uses the random bit string generated by the seed to XOR with the interval, and screens out the null value to obtain an update list, and uses the operator of each item in the update list to add or delete the corresponding file identifier in the set; finally, the file identifiers in the result file identifier set constitute the server-side result list, which is returned to the client; Step S33: The client combines the server-side result list with other updates in the buffer to obtain the final result: the client traverses the update list corresponding to the target keyword in the buffer, and further adds or deletes the corresponding file identifier in the server-side result according to the operator of each item to obtain the final result.

7. A forward-secure dynamic symmetric searchable encryption system with optimized IO efficiency, characterized in that: Includes the following modules: An initialization module, used to determine and initialize the underlying forward-secure dynamic symmetric searchable encryption scheme to be optimized, parameters, and data structures of all parties including the client buffer; An update module, used in the update phase: buffering updates in the client until a fixed buffer limit is reached and performing batch updates, encapsulating all updates in the buffer through special security packaging and uploading, while using the underlying forward-secure dynamic symmetric searchable encryption scheme to store auxiliary search information; The search module is used in the search phase: the auxiliary search information is retrieved using the underlying forward-secure dynamic symmetric searchable encryption scheme, updates in the package on the server are extracted through the auxiliary search information, server-side results are combined, and the final results are further obtained by combining with other updates in the client buffer.

Citation Information

Patent Citations

  • Efficient and robust dynamic searchable symmetric encryption method and system

    CN110765469A

  • Forward security connection keyword symmetric searchable encryption method, system and application

    CN113254955A

  • Forward-private dynamic searchable symmetric encryption (DSSE) with efficient search

    US10922273B1