A multi-keyword privacy information retrieval method, device and system for vulnerability scanning

By using homomorphic encryption and Lagrangian polynomial interpolation method in vulnerability scanning technology to process multiple keywords, and combined with inadvertent transmission protocols, the problem of high overhead of privacy information retrieval in the existing technology is solved, and efficient and secure multi-keyword privacy information retrieval is achieved.

CN117910034BActive Publication Date: 2025-04-01UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202311843309.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-04-01
Estimated Expiration
2043-12-29

AI Technical Summary

Technical Problem

The existing vulnerability scanning technology has the problem of excessive computing overhead in private information retrieval, especially in multi-keyword query scenarios.

Method used

Homomorphic encryption and Lagrangian polynomial interpolation method are used to process multiple keywords, and the privacy of user information is ensured through inadvertent transmission protocols, thereby reducing computational overhead.

Benefits of technology

It realizes efficient multi-keyword privacy information retrieval in vulnerability scanning scenarios, reduces computing overhead, and ensures the security of user information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117910034B_ABST
    Figure CN117910034B_ABST
Patent Text Reader

Abstract

The present invention discloses a multi-keyword privacy information retrieval method, device and system for vulnerability scanning, which belongs to the field of information security technology. Compared with the traditional keyword-based privacy retrieval technology, the present invention can perform privacy retrieval based on multiple keywords, expand the application scenarios of retrieval, and is particularly suitable for vulnerability scanning scenarios; the present invention converts data into two dimensions to reduce the number of interpolation polynomials, and executes the oblivious transfer protocol based on secondary keywords, thereby significantly reducing the number of times homomorphic encryption is used, which can reduce computing overhead; and the use of oblivious transfer technology can also ensure that users do not disclose the secondary keyword information of the data they want to query while finding the data they want, while protecting other data information on the server from being known by the user; finally, the technical solution can be used in the scenario of vulnerability scanning, which can not only ensure the data security of the server, but also protect the user's query information from being known by the server.
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 multi-keyword privacy information retrieval method, device and system for vulnerability scanning. Background Art

[0002] Vulnerability scanning refers to a security detection behavior that detects security vulnerabilities of designated remote or local computer systems based on a vulnerability database through scanning and other means, thereby discovering exploitable vulnerabilities. It is an important type of network security technology.

[0003] Private Information Retrieval, also known as "Private Information Retrieval" (PIR), refers to a privacy-preserving query technology in which the query party hides the keywords of the queried object. The data provider can provide correct query results but has no way of knowing the query party's choice.

[0004] Most existing vulnerability scanning technologies can protect the privacy data of vulnerability database holders, but lack certain protection for user query information. At present, in the field of privacy information retrieval, keyword-based retrieval methods have been implemented, but there are problems such as high polynomial degree and excessive homomorphic encryption calculation, which makes it inefficient in some specific scenarios.

[0005] For example, in the following scenario, a security company A has vulnerability information under various versions of a series of software and has formed a large-scale vulnerability plaintext database, which stores vulnerability information corresponding to various versions of various corresponding software. The user holds the <version number, software number> information to be searched, but because the vulnerability plaintext database has a certain volume, directly using the keyword-based privacy information retrieval method has a very large computational overhead.

[0006] Therefore, how to efficiently retrieve privacy information in the scenario of vulnerability scanning has become a technical problem that needs to be solved urgently.

[0007] Currently, there are mainly the following privacy information retrieval methods:

[0008] XPIR (Melchor CA, Barrier J, Fousse L, et al. XPIR: Private information retrieval for everyone [J]. Proceedings on Privacy Enhancing Technologies, 2016: 155-174.) proposed the first practical cPIR scheme based on the difficult problem Ring-LWE on lattice.

[0009] SealPIR (Angel S, Chen H, Laine K, et al. PIR with compressed queries and amortized query processing [C] / / 2018 IEEE symposium on security and privacy (SP). IEEE, 2018: 962-979.) improved the XPIR protocol, compressed the query vector, and improved the efficiency of batch processing.

[0010] In addition, Chinese patent application CN202211652351 discloses a privacy information retrieval method, device and system. This method realizes privacy information retrieval supporting data range through homomorphic encryption and order-preserving encryption technology, ensuring the information security of users. Chinese patent CN202310269239 discloses a privacy keyword query method, device and electronic device, which uses the Chinese remainder theorem to package and encode the keywords to be queried, improves the query efficiency, realizes privacy query based on semi-homomorphic encryption method, and reduces computing and communication overhead. Chinese patent CN202211687531 discloses an anonymous query system, method, device, electronic device and storage medium to realize anonymous query of data and improve the security of privacy information retrieval. Summary of the invention

[0011] The embodiments of the present invention provide a multi-keyword privacy information retrieval method, device and system for vulnerability scanning, which are used to implement multi-keyword-based privacy information retrieval in a vulnerability scanning scenario and reduce computing overhead while ensuring user information security.

[0012] On the one hand, an embodiment of the present invention provides a multi-keyword privacy information retrieval method for vulnerability scanning, which is applied to a client, and the method includes:

[0013] Obtain the main keyword to be searched input by the user;

[0014] Homomorphic encryption is used to encrypt the 1st to kth powers of the main keyword to be checked, generating k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device;

[0015] The ciphertext vector generated by the client and the homomorphically encrypted public key are sent to the server, so that the server uses homomorphically encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server, and obtains n processed query ciphertext data, where the interpolation polynomial is the Lagrange polynomial interpolation of the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data, and obtains n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, where the total number of rows n is the total number of secondary keywords, and the total number of columns k is the maximum number of main keywords in each row;

[0016] Get the keywords to be searched entered by the user;

[0017] The oblivious transfer protocol is executed according to the secondary keyword to be checked, and the encrypted ciphertext data of the secondary keyword is sent to the server, so that the server cannot obtain the secondary keyword information of the client, and the query ciphertext data corresponding to the primary keyword and the secondary keyword is obtained after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector;

[0018] Homomorphic decryption is used to decrypt the processed query ciphertext data to obtain the query results corresponding to the primary keyword and secondary keyword.

[0019] Furthermore, homomorphic encryption is used to encrypt the 1st to kth powers of the main keyword to be checked, and k ciphertexts are generated to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device, including:

[0020] Homomorphic encryption uses the Paillier semi-homomorphic encryption algorithm;

[0021] First, generate the public and private keys for homomorphic encryption;

[0022] Then use the public key to encrypt the 1st to kth power of the main keyword to be checked, and generate k ciphertexts to form a ciphertext vector.

[0023] Further, the oblivious transfer protocol is executed according to the secondary keyword to be checked, and the encrypted ciphertext data of the secondary keyword is sent to the server, so that the server cannot obtain the secondary keyword information of the client, and the query ciphertext data corresponding to the main keyword and the secondary keyword is obtained after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector, including:

[0024] Oblivious transfer uses 1-out-of-n oblivious transfer protocol;

[0025] Set system parameters for oblivious transmission, including: select large prime numbers p, q, satisfying p = 2q + 1, set the q-order cyclic additive group G q , G q yes A q-order subgroup of , and choose the group G q The two generators g and h are used as the public key; among them, Represents a finite field Z p = the finite field obtained by removing zero from {0,1,…,p-1};

[0026] Generate a random number r randomly taken from Z q , calculating the encrypted secondary keyword ciphertext data based on the secondary keyword plaintext data;

[0027] The system parameters (g,h,G q ) and the secondary keyword ciphertext data are sent to the server, so that it can execute the oblivious transfer protocol and store the random number r as the private key for decryption;

[0028] Receive n query ciphertext data encrypted by the server using the oblivious transmission system parameters;

[0029] The encrypted n query ciphertext data are decrypted using the private key r to obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector.

[0030] On the other hand, an embodiment of the present invention provides a multi-keyword privacy information retrieval method for vulnerability scanning, which is applied to a server, and includes:

[0031] Perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keywords corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, where n is the total number of secondary keywords and k is the maximum number of main keywords contained in each row of the data set;

[0032] Receive the ciphertext vector and homomorphic encryption public key from the client. The ciphertext vector is obtained by encrypting the main keyword input by the user from the 1st power to the kth power using homomorphic encryption by the client.

[0033] Homomorphic encryption is used to process the client's ciphertext vector and the n Lagrange interpolation polynomials generated by the server to obtain n processed query ciphertext data;

[0034] The oblivious transfer protocol is executed on the n query ciphertext data, the secondary keyword ciphertext data is received from the client, and the n query ciphertext data are encrypted and sent to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword.

[0035] Further, the oblivious transfer protocol is performed on the n query ciphertext data, the secondary keyword ciphertext data is received from the client, and the n query ciphertext data are encrypted and sent to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword, including:

[0036] Oblivious transfer uses 1-out-of-n oblivious transfer protocol;

[0037] Generate system parameters (s1,s n )∈Z q ;

[0038] Receive oblivious transmission parameters (g,h,G q ) and the ciphertext data of the key words to be checked;

[0039] Based on the secondary keyword ciphertext data sent by the client and the inadvertently transmitted parameters (g, h, s i ) Encrypt n query ciphertext data;

[0040] The encrypted n pairs of query ciphertext data are sent to the client.

[0041] On the other hand, an embodiment of the present invention provides a multi-keyword privacy information retrieval device for vulnerability scanning, which is applied to a client and includes:

[0042] The main keyword plain text data acquisition module is used to obtain the main keyword to be checked input by the user;

[0043] The ciphertext vector generation module is used to encrypt the 1st to kth powers of the main keyword to be checked using homomorphic encryption, and generate k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device;

[0044] The ciphertext vector sending module is used to send the ciphertext vector generated by the client and the homomorphically encrypted public key to the server, so that the server uses homomorphic encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server, and obtain n processed query ciphertext data, wherein the interpolation polynomial is the Lagrange polynomial interpolation of the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data, and obtains n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, wherein the total number of rows n is the total number of secondary keywords, and the total number of columns k is the maximum number of main keywords in each row;

[0045] A sub-keyword plain text data acquisition module, used to obtain the sub-keyword to be checked input by the user;

[0046] The oblivious transmission module is used to execute the oblivious transmission protocol according to the secondary keyword to be checked, send the encrypted ciphertext data of the secondary keyword to the server, so that the server cannot obtain the secondary keyword information of the client, and obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector;

[0047] The query ciphertext data homomorphic decryption module is used to decrypt the processed query ciphertext data using homomorphic decryption to obtain query results corresponding to the primary keyword and the secondary keyword.

[0048] On the other hand, an embodiment of the present invention provides a multi-keyword privacy information retrieval device for vulnerability scanning, which is applied to a server, and includes:

[0049] The Lagrange interpolation polynomial generation module is used to perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keywords corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server side, which is an n×k matrix, where n is the total number of secondary keywords and k is the maximum number of main keywords contained in each row of the data set;

[0050] The ciphertext vector receiving module is used to receive the ciphertext vector and homomorphic encryption public key from the client. The ciphertext vector is obtained by encrypting the main keyword input by the user from the 1st power to the kth power by the client using homomorphic encryption;

[0051] The query ciphertext data generation module is used to process the client's ciphertext vector and the n Lagrange interpolation polynomials generated by the server using homomorphic encryption to obtain the processed n query ciphertext data;

[0052] The oblivious transmission module is used to execute the oblivious transmission protocol on n query ciphertext data, receive the secondary keyword ciphertext data from the client, encrypt the n query ciphertext data and send them to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword.

[0053] An embodiment of the present invention provides a multi-keyword privacy information retrieval system for vulnerability scanning. The retrieval system includes a processor, and the processor is used to implement the steps of the retrieval method provided by the embodiment of the present invention when executing a computer program stored in a memory.

[0054] The beneficial effects of the embodiments of the present invention include:

[0055] In the method provided by the embodiment of the present invention, first, the client obtains the main keyword to be checked input by the user, and then uses homomorphic encryption to encrypt the main keyword to be checked, and sends the encrypted ciphertext vector to the server; the server processes the ciphertext vector through homomorphic encryption and Lagrange polynomial interpolation to obtain a query ciphertext vector; oblivious transmission is performed between the client and the server, the client encrypts the secondary keyword to be checked and sends it to the server, the server encrypts the query ciphertext vector and sends it to the client, so that the client decrypts and obtains the desired query ciphertext, and ensures that the server knows nothing about the user's choice, and at the same time ensures that the user cannot obtain other data information; finally, the client performs homomorphic decryption on the ciphertext vector to obtain the required plaintext data.

[0056] Due to the adoption of the above-mentioned technical scheme, compared with the traditional privacy retrieval technology based on keywords, the present invention can perform privacy retrieval based on multiple keywords, expands the application scenarios of retrieval, and is particularly suitable for vulnerability scanning scenarios; at the same time, since the data is converted into two dimensions, the number of interpolation polynomials is reduced, and the oblivious transfer protocol is executed based on secondary keywords, thereby greatly reducing the number of times homomorphic encryption is used, which can reduce computational overhead; and the use of oblivious transfer technology can also ensure that users do not disclose the secondary keyword information of the data they want to query while finding the data they want, and at the same time protect other data information on the server from being known to the user; finally, the technical scheme can be used in vulnerability scanning scenarios, which can not only ensure the data security of the server, but also protect the user's query information from being known by the server. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a flow chart of a multi-keyword privacy information retrieval method applied to a vulnerability scanning client device provided by an embodiment of the present invention;

[0058] Figure 2 It is a flow chart of a multi-keyword privacy information retrieval method applied to a vulnerability scanning server device provided by an embodiment of the present invention;

[0059] Figure 3 This is a general flow chart of a multi-keyword privacy information retrieval method for vulnerability scanning provided by an embodiment of the present invention;

[0060] Figure 4 It is a structural block diagram of a multi-keyword privacy information retrieval device applied to a vulnerability scanning client provided by an embodiment of the present invention;

[0061] Figure 5 It is a structural block diagram of a multi-keyword privacy information retrieval device applied to a vulnerability scanning server provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0062] The embodiment of the present invention provides a multi-keyword privacy information retrieval method for vulnerability scanning, which is applied to a client, such as Figure 1 As shown, including:

[0063] S101: Obtaining the main keyword to be searched input by the user;

[0064] S102: Encrypt the 1st to kth power of the main keyword to be checked by homomorphic encryption, and generate k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device;

[0065] S103: Send the ciphertext vector generated by the client and the homomorphically encrypted public key to the server, so that the server uses homomorphically encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server to obtain n processed query ciphertext data;

[0066] S104: Obtain the keyword to be searched input by the user;

[0067] S105: Execute the oblivious transfer protocol according to the secondary keyword to be checked, send the encrypted ciphertext data of the secondary keyword to the server, so that the server cannot obtain the secondary keyword information of the client, and obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server processes the ciphertext vector using homomorphic encryption and Lagrange polynomial interpolation method;

[0068] S106: Decrypt the processed query ciphertext data using homomorphic decryption to obtain query results corresponding to the primary keyword and the secondary keyword.

[0069] Correspondingly, the embodiment of the present invention also provides a multi-keyword privacy information retrieval method for vulnerability scanning, which is applied to the server, such as Figure 2 As shown, including:

[0070] S201: performing Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data to obtain n Lagrange interpolation polynomials;

[0071] S202: receiving a ciphertext vector and a homomorphic encryption public key from a client, where the ciphertext vector is obtained by encrypting the 1st to kth power of a main keyword input by the user by the client using homomorphic encryption;

[0072] S203: Using homomorphic encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server to obtain n processed query ciphertext data;

[0073] S204: Execute the oblivious transfer protocol on the n query ciphertext data, receive the secondary keyword ciphertext data from the client, encrypt the n query ciphertext data and send them to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword.

[0074] The embodiments of the present invention are further described in detail below in conjunction with the implementation modes and drawings.

[0075] The present application also provides a multi-keyword privacy information retrieval method for vulnerability scanning, such as Figure 3 As shown, step S102: homomorphic encryption is used to encrypt the first power to the kth power of the main keyword to be checked, and k ciphertexts are generated to form a ciphertext vector, including:

[0076] S302: Generate a public key and a private key for homomorphic encryption;

[0077] S303: Use the public key to encrypt the 1st to kth power of the main keyword to be checked, and generate k ciphertexts to form a ciphertext vector.

[0078] The specific implementation process of this method is as follows:

[0079] First, the client randomly selects two prime numbers p and q, making the lengths of p and q as close as possible, and then calculates N = p*q and λ = lcm(p-1,q-1), where lcm represents the least common multiple of the two. And satisfy gcd(L(g λ modN 2 ),N)=1, where the function And set μ = (L (g λ modN 2 )) -1 modN, the final public key is (N,g) and the private key is (λ,μ);

[0080] Assume that the main keyword to be searched is Then for x t The ciphertext c is generated by homomorphic encryption i The formula is where r i A random number belonging to Use this encryption formula to encrypt the 1st to kth powers of the main keyword to be checked, and generate k ciphertexts to form a ciphertext vector

[0081] Step S305: Perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The specific implementation process is as follows:

[0082] The full plaintext data set is a data set pre-stored on the server side. It is an n×k matrix stored in the form of [primary keyword, data], and each row of data in the data set corresponds to a secondary keyword, where n is the total number of secondary keywords and k is the maximum number of primary keywords contained in each row of the data set.

[0083] For each row of the plaintext data set [main keyword, data]((x1,m1),…,(x k ,m k )), perform Lagrange polynomial interpolation and obtain n polynomials f(x)=a0+a1x+…+a k x k , satisfying that for any point (x i ,m i ), for the corresponding polynomial f(x), we have f(x i )=m i That is, x i 、m i Represent the i-th main keyword and data respectively.

[0084] Step S306: homomorphic encryption is used to process the ciphertext vector of the client and the n interpolation polynomials generated by the server to obtain n processed query ciphertext data, including:

[0085] Assume that the main keyword the user is looking for is x t , the ciphertext vector is obtained by homomorphic encryption Homomorphic encryption is used to encrypt the ciphertext vector vector and the coefficients of the n polynomials f(x). The encryption formula is: Finally, we get n query ciphertexts {E(f1(x t )),…,E(f n (x t ))}.

[0086] The embodiment of the present invention also provides a privacy keyword query method, such as Figure 3 As shown, step S105 and step S204 are included, including:

[0087] S308: The client generates oblivious transmission system parameters and sends (g, h, p) to the server;

[0088] S309: The client selects a random number r, and encrypts the secondary keyword y to be checked based on the oblivious transmission system parameters;

[0089] S310: Send the secondary keyword ciphertext to the server;

[0090] S311: The server encrypts n query ciphertext data based on the oblivious transmission system parameters and the secondary keyword ciphertext to generate n groups of ciphertexts (a i ,b i );

[0091] S312: n groups of ciphertext (a i ,b i ) is sent to the client;

[0092] S313: Based on the random number r, decrypt the desired yth query ciphertext.

[0093] The embodiments of the present invention are further described in detail below in conjunction with the implementation modes and drawings.

[0094] The server holds n×k messages m1,…,m n×k Belongs to the set G, where G represents the prime field Z p *, and select two generators g and h of G, and send (g,h,p) to the client;

[0095] The client randomly selects a large integer r, where r belongs to the set G, and encrypts the secondary keyword y to be checked based on the oblivious transmission parameters (g, h, p) and the random number r to generate the secondary keyword ciphertext z. The encryption formula is z = g r h y mod p;

[0096] Send the secondary keyword ciphertext z to the server;

[0097] Based on the secondary keyword ciphertext z and the inadvertent transmission parameter, the server performs a query on the n ciphertext data {E(f1(x t )),…,E(f n (x t ))} Perform the following steps: First, randomly select a large integer k i belongs to the set G, and then calculate the ciphertext (a i ,b i), the encryption formula is and Finally, we get n groups of ciphertext (a i ,b i );

[0098] n groups of ciphertext (a i ,b i ) is sent to the client;

[0099] The client receives the ciphertext (a i ,b i ), and then use the large integer r to decrypt, so as to obtain the desired y-th query ciphertext E(f y (x t )), the decryption formula is E(f y (x t ))=b y / (a y ) r ;

[0100] Step S314: Decrypt the processed query ciphertext data using homomorphic decryption to obtain the query results corresponding to the primary keyword and the secondary keyword. The specific implementation process is as follows:

[0101] For the ciphertext E(f y (x t )) Perform homomorphic decryption to get f y (x t ) is: y (x t )=D(E(f y (x t )))=L(E(f y (x t )) λ mod N 2 )*μmod N,f y (x t ) refers to the query results corresponding to the main keyword and secondary keyword.

[0102] like Figure 4 The embodiment of the present invention provides a multi-keyword privacy information retrieval device (applied to a client) for vulnerability scanning, comprising:

[0103] The main keyword plain text data acquisition module is used to obtain the main keyword to be checked input by the user;

[0104] The ciphertext vector generation module is used to encrypt the 1st to kth powers of the main keyword to be checked using homomorphic encryption, and generate k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device;

[0105] The ciphertext vector sending module is used to send the ciphertext vector generated by the client and the homomorphically encrypted public key to the server, so that the server uses homomorphic encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server, and obtain n processed query ciphertext data, wherein the interpolation polynomial is the Lagrange polynomial interpolation of the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data, and obtains n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, wherein the total number of rows n is the total number of secondary keywords, and the total number of columns k is the maximum number of main keywords in each row;

[0106] A sub-keyword plain text data acquisition module, used to obtain the sub-keyword to be checked input by the user;

[0107] The oblivious transmission module is used to execute the oblivious transmission protocol according to the secondary keyword to be checked, send the encrypted ciphertext data of the secondary keyword to the server, so that the server cannot obtain the secondary keyword information of the client, and obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector;

[0108] The query ciphertext data homomorphic decryption module is used to decrypt the processed query ciphertext data using homomorphic decryption to obtain query results corresponding to the primary keyword and the secondary keyword.

[0109] like Figure 5 As shown, a multi-keyword privacy information retrieval device for vulnerability scanning (applied to a server) provided in an embodiment of the present invention includes:

[0110] The Lagrange interpolation polynomial generation module is used to perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keywords corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server side, which is an n×k matrix, where n is the total number of secondary keywords and k is the maximum number of main keywords contained in each row of the data set;

[0111] The ciphertext vector receiving module is used to receive the ciphertext vector and homomorphic encryption public key from the client. The ciphertext vector is obtained by encrypting the main keyword input by the user from the 1st power to the kth power by the client using homomorphic encryption;

[0112] The query ciphertext data generation module is used to process the client's ciphertext vector and the n Lagrange interpolation polynomials generated by the server using homomorphic encryption to obtain the processed n query ciphertext data;

[0113] The oblivious transmission module is used to execute the oblivious transmission protocol on n query ciphertext data, receive the secondary keyword ciphertext data from the client, encrypt the n query ciphertext data and send them to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword.

[0114] The above description is only a specific implementation mode of the present invention. Any feature disclosed in this specification, unless otherwise stated, can be replaced by other alternative features that are equivalent or have similar purposes; all the disclosed features, or all the steps in the methods or processes, except for mutually exclusive features and / or steps, can be combined in any way.

Claims

1. A multi-keyword privacy information retrieval method for vulnerability scanning, characterized in that: Applied to the client, the method includes: Obtain the main keyword to be searched input by the user; Homomorphic encryption is used to encrypt the 1st to kth powers of the main keyword to be checked, generating k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device; The ciphertext vector generated by the client and the homomorphically encrypted public key are sent to the server, so that the server uses homomorphic encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server, and obtains n processed query ciphertext data, where the interpolation polynomial is the Lagrange polynomial interpolation of the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data, and obtains n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, where the total number of rows n is the total number of secondary keywords, and the total number of columns k is the maximum number of main keywords in each row; Get the keywords to be searched entered by the user; The oblivious transfer protocol is executed according to the secondary keyword to be checked, and the encrypted secondary keyword ciphertext data is sent to the server, so that the server cannot obtain the secondary keyword information of the client, and the query ciphertext data corresponding to the main keyword and the secondary keyword is obtained after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector, including: Oblivious transfer uses 1-out-of-n oblivious transfer protocol; Set system parameters for oblivious transmission, including: select large prime numbers p, q, satisfying p = 2q + 1, set the q-order cyclic additive group G q , G q yes A q-order subgroup of , and choose the group G q The two generators g and h of are used as the public key; Generate a random number r randomly taken from Z q , calculating the encrypted secondary keyword ciphertext data based on the secondary keyword plaintext data; The system parameters (g,h,G q ) and the secondary keyword ciphertext data are sent to the server, so that it can execute the oblivious transfer protocol and store the random number r as the private key for decryption; Receive n query ciphertext data encrypted by the server using the oblivious transmission system parameters; The encrypted n query ciphertext data are decrypted using the private key r to obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector; Homomorphic decryption is used to decrypt the processed query ciphertext data to obtain the query results corresponding to the primary keyword and secondary keyword.

2. The method according to claim 1, characterized in that Homomorphic encryption is used to encrypt the 1st to kth powers of the main keyword to be checked, and k ciphertexts are generated to form a ciphertext vector, where k is the total number of columns of the full plaintext data set matrix held by the server device, including: Homomorphic encryption uses the Paillier semi-homomorphic encryption algorithm; First, generate the public and private keys for homomorphic encryption; Then use the public key to encrypt the 1st to kth power of the main keyword to be checked, and generate k ciphertexts to form a ciphertext vector.

3. A multi-keyword privacy information retrieval method for vulnerability scanning, characterized in that: Applied to the server, the method includes: Perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keywords corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, where n is the total number of secondary keywords and k is the maximum number of main keywords contained in each row of the data set; Receive the ciphertext vector and homomorphic encryption public key from the client. The ciphertext vector is obtained by encrypting the main keyword input by the user from the 1st power to the kth power using homomorphic encryption by the client. Homomorphic encryption is used to process the client's ciphertext vector and the n Lagrange interpolation polynomials generated by the server to obtain n processed query ciphertext data; The oblivious transfer protocol is executed on the n query ciphertext data, the secondary keyword ciphertext data is received from the client, and the n query ciphertext data is encrypted and sent to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword; Among them, the oblivious transfer protocol is performed on n query ciphertext data, the secondary keyword ciphertext data from the client is received, and the n query ciphertext data are encrypted and sent to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword, including: Oblivious transfer uses 1-out-of-n oblivious transfer protocol; Generate system parameters (s1,s n )∈Z q ; Receive oblivious transmission parameters (g,h,G q ) and the ciphertext data of the key words to be checked; Based on the secondary keyword ciphertext data sent by the client and the inadvertently transmitted parameters (g, h, s i ) Encrypt n query ciphertext data; The encrypted n pairs of query ciphertext data are sent to the client.

4. A multi-keyword privacy information retrieval device for vulnerability scanning, characterized in that: Applied to the client, including: The main keyword plain text data acquisition module is used to obtain the main keyword to be checked input by the user; The ciphertext vector generation module is used to encrypt the 1st to kth powers of the main keyword to be checked using homomorphic encryption, and generate k ciphertexts to form a ciphertext vector, where k is the total number of columns of the matrix of the full plaintext data set held by the server device; The ciphertext vector sending module is used to send the ciphertext vector generated by the client and the homomorphically encrypted public key to the server, so that the server uses homomorphic encryption to process the ciphertext vector of the client and the n Lagrange interpolation polynomials generated by the server, and obtains the processed n query ciphertext data, wherein the interpolation polynomial is the Lagrange polynomial interpolation of the plaintext data of each row in the full plaintext data set held by the server and the main keyword corresponding to the plaintext data, thereby obtaining n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server, which is an n×k matrix, wherein the total number of rows n is the total number of secondary keywords, and the total number of columns k is the maximum number of main keywords in each row; A sub-keyword plain text data acquisition module, used to obtain the sub-keyword to be checked input by the user; The oblivious transmission module is used to execute the oblivious transmission protocol according to the secondary keyword to be checked, send the encrypted ciphertext data of the secondary keyword to the server, so that the server cannot obtain the secondary keyword information of the client, and obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector; The query ciphertext data homomorphic decryption module is used to decrypt the processed query ciphertext data using homomorphic decryption to obtain the query results corresponding to the primary keyword and the secondary keyword; Among them, the oblivious transmission module specifically includes: Oblivious transfer uses 1-out-of-n oblivious transfer protocol; Set system parameters for oblivious transmission, including: select large prime numbers p, q, satisfying p = 2q + 1, set the q-order cyclic additive group G q , G q yes A q-order subgroup of , and choose the group G q The two generators g and h of are used as the public key; Generate a random number r randomly taken from Z q , calculating the encrypted secondary keyword ciphertext data based on the secondary keyword plaintext data; The system parameters (g,h,G q ) and the secondary keyword ciphertext data are sent to the server, so that it can execute the oblivious transfer protocol and store the random number r as the private key for decryption; Receive n query ciphertext data encrypted by the server using the oblivious transmission system parameters; The encrypted n query ciphertext data are decrypted using the private key r to obtain the query ciphertext data corresponding to the primary keyword and the secondary keyword after the server uses homomorphic encryption and Lagrange polynomial interpolation method to process the ciphertext vector.

5. A multi-keyword privacy information retrieval device for vulnerability scanning, characterized in that: Applied to the server, including: The Lagrange interpolation polynomial generation module is used to perform Lagrange polynomial interpolation on the plaintext data of each row in the full plaintext data set held by the server and the main keywords corresponding to the plaintext data to obtain n Lagrange interpolation polynomials. The full plaintext data set is a data set pre-stored on the server side, which is an n×k matrix, where n is the total number of secondary keywords and k is the maximum number of main keywords contained in each row of the data set; The ciphertext vector receiving module is used to receive the ciphertext vector and homomorphic encryption public key from the client. The ciphertext vector is obtained by encrypting the main keyword input by the user from the 1st power to the kth power by the client using homomorphic encryption; The query ciphertext data generation module is used to process the client's ciphertext vector and the n Lagrange interpolation polynomials generated by the server using homomorphic encryption to obtain the processed n query ciphertext data; The oblivious transmission module is used to perform an oblivious transmission protocol on the n query ciphertext data, receive the secondary keyword ciphertext data from the client, encrypt the n query ciphertext data and send them to the client, so that the user can only decrypt the query ciphertext corresponding to the primary keyword and the secondary keyword; Among them, the oblivious transmission module includes: Oblivious transfer uses 1-out-of-n oblivious transfer protocol; Generate system parameters (s1,s n )∈Z q ; Receive oblivious transmission parameters (g,h,G q ) and the ciphertext data of the key words to be checked; Based on the secondary keyword ciphertext data sent by the client and the inadvertently transmitted parameters (g, h, s i ) Encrypt n query ciphertext data; The encrypted n pairs of query ciphertext data are sent to the client.

6. A multi-keyword privacy information retrieval system for vulnerability scanning, characterized in that: The retrieval system includes a processor, and the processor is used to implement the steps of the multi-keyword private information retrieval method according to any one of claims 1 to 3 when executing a computer program stored in a memory.

Citation Information

Patent Citations

  • Privacy information retrieval method, device and system

    CN115795514A

  • Hidden trace query system, method and device, electronic equipment and storage medium

    CN115905710A

  • Privacy keyword query method and device and electronic equipment

    CN115982424A

  • High-efficiency approved safe pseudo-random generator

    CN101677268A

  • Privacy information retrieval method and computer readable storage medium

    CN117056961A