A system and method for public verifiable boolean search over ciphertext data

By utilizing a public, verifiable Boolean search system for encrypted data, and through the collaborative work of a key distribution center, client, and cloud server, secure querying and result verification of encrypted data are achieved. This solves the problems of data security and resource waste, and improves the security and usability of the system.

CN116366259BActive Publication Date: 2025-11-25NORTHEASTERN UNIV CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310332291.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-31
Publication Date
2025-11-25
Estimated Expiration
2043-03-31

AI Technical Summary

Technical Problem

Existing technologies cannot effectively guarantee data security and the integrity of search results during encrypted data search, and also result in resource waste.

Method used

A public, verifiable Boolean search system for encrypted data is adopted. By utilizing a key distribution center, clients, and cloud servers, public parameters and query keys are generated to enable the querying and verification of encrypted data. It supports multi-keyword search and introduces blind verification and reversible mechanisms to ensure data security and result accuracy.

Benefits of technology

It enables secure querying and result verification of encrypted data, reduces resource waste, improves the robustness and availability of cloud servers, protects the output privacy of clients, supports the revocation of malicious cloud servers, and enhances the security and usability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116366259B_ABST
    Figure CN116366259B_ABST
Patent Text Reader

Abstract

The application provides a ciphertext data-oriented publicly verifiable Boolean search system and method, and relates to the technical field of information security. The system and method utilize the concepts of key policy-based attribute encryption, searchable encryption and public verifiability, hide the query keyword of the client, and can publicly verify the query result returned by the cloud server, thereby helping the client improve the resource utilization rate while ensuring data security. Meanwhile, the system and method propose blind verification, that is, the verifier cannot know the specific value of the actual output, thereby protecting the output privacy of the client. The method supports the revocation of unscrupulous cloud servers, avoids the problem that the cloud server provides invalid outsourcing query services to the client, improves the robustness and availability of the cloud server, makes the query access of the client more perfect, greatly reduces the effective attack of malicious servers, and has high security and practicability compared with the traditional scheme.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of information security, in particular to a public verifiable Boolean search system and method for ciphertext data. BACKGROUND

[0002] With the growth of massive data, many end customers choose to outsource data to cloud servers for storage to meet storage needs. Users upload data to cloud servers and cannot directly control the data. Users can only hope that the cloud server is not attacked and provides honest query services. However, in recent years, there have been numerous incidents of data leakage caused by cloud servers. How to protect the confidentiality of data has become a problem that cannot be ignored. Usually, data is encrypted before being uploaded to the cloud server, but the problem of how users search for ciphertext arises. Searchable encryption is born at this time. Searchable encryption allows searching operations to be performed on encrypted data uploaded to the cloud server without leaking the privacy of the data, ensuring the privacy of the outsourced storage data, and the entire search process does not involve decryption of the ciphertext data.

[0003] Boolean search technology is an important research direction of searchable encryption, which is mainly used to search for documents that meet a specific Boolean expression in a document set. Applying Boolean search technology to the query process of the server for outsourced ciphertext can improve the accuracy and relevance of the search results. However, in the outsourcing environment, malicious user attacks and other risk factors can cause the cloud server to not provide correct services for the data owner, and the data owner cannot know whether the search results meet the integrity and confidentiality. Moreover, outsourced ciphertext data usually has high commercial value, and unauthorized tampering can cause incalculable economic losses. Data owners need reliable verification mechanisms to determine whether the received search results are correct.

[0004] Researchers at home and abroad have proposed some verifiable ciphertext search schemes. Although the client can verify the correctness of the query results, these schemes only support searching for single keywords in locally stored data, and there is a problem of different clients repeatedly performing the same query request and verifying the results, which greatly wastes time and resources.

[0005] In summary, in the implementation of ciphertext data search, ensuring data security and verifying search results to avoid resource waste is a problem that needs to be solved. SUMMARY

[0006] In view of the deficiencies of the prior art, the present application provides a public verifiable Boolean search system and method for ciphertext data.

[0007] The technical scheme of the present application is:

[0008] The first aspect of the present application provides a public verifiable Boolean search system for ciphertext data, entities participating in the system including a fully trusted key distribution center, a client and a cloud server;

[0009] The key distribution center is configured to generate public parameters; assign a digital signature key to the cloud server S to give S a valid identity information when S makes a registration request; generate a query key for S using the public parameters when S makes an authentication request, so that S has the ability to query data; if a client reports to the key distribution center that the cloud server S fails to query, the key distribution center revokes the query function of S, so that S no longer has the ability to subsequently outsource query;

[0010] The client is configured to preprocess the required query keyword w using the public parameters generated by the key distribution center before submitting a query request to the cloud server S: generate a ciphertext input value σ w , a verification key for verifying whether the Boolean query value is correct and a recovery key for restoring the ciphertext output value to plaintext; other clients participating in public verification use the verification key to blindly verify the ciphertext query result returned by the cloud server S, and verify whether the query result is correct without decryption; if the blind verification is passed, the client continues to recover the output to obtain the final plaintext query result, and if the blind verification is not passed, the client reports to the key distribution center that S fails to query;

[0011] The cloud server is configured to execute a query service and generate a corresponding ciphertext query result and return the ciphertext query result to the client when the client submits a query request to the cloud server S; the ciphertext query result includes a blinded ciphertext output value, identity information of the cloud server and signature information of the ciphertext output value.

[0012] The second aspect of the present application provides a public verifiable Boolean search method for ciphertext data, the method comprising the following steps:

[0013] Step 1: the key distribution center performs initialization operation: initializes an empty valid query server list L Q for performing Boolean query Q; initializes an empty registration server list L Reg for storing the unique identifier id of the registered cloud server; generates public parameters, including the required parameters PP of the client, the required public information key PK Q and the master key MK of the cloud server;

[0014] Step 2: when a cloud server S makes a registration request, the key distribution center generates a digital signature key for S, including a signature private key SK S and a signature verification key VK signand the unique identifier id of the cloud server S is added to the list L sign together with the cloud server S Reg , the registration of the cloud server S in the key distribution center is completed;

[0015] Step 3: when the cloud server S makes an authentication request to the key distribution center, the key distribution center generates a query key for the cloud server S using the public information key PK Q and the master key MK, and adds the unique identifier id of the cloud server S to the list L Q , indicating that the cloud server has been authenticated and has the ability to execute the Boolean query Q;

[0016] Step 4: the client preprocesses the keyword w of the required query using the parameter PP: generates the ciphertext input value σ w , the verification key VK Q,w for verifying whether the Boolean query value is correct, and the recovery key RK Q,w for recovering the ciphertext output value into plaintext;

[0017] Step 5: when a client submits a query request to the cloud server S, the cloud server S executes the query service, uses the public information key PK Q , the query key EK Q,S and the signature private key SK S of the cloud server to query the ciphertext input value σ w , and after the cloud server S performs the query operation, if the query fails, a random value is output, if the query succeeds, a blinded ciphertext output value is obtained, and the blinded ciphertext output value is signed to generate the final ciphertext result value σ b ;

[0018] Step 6: other clients participating in public verification apply the verification key VK Q,w to the ciphertext result value σ b returned by the cloud server S to perform public blind verification, if the blind verification passes, the token τ σb =(accept, S) is output and the real ciphertext output value μ is obtained and step 7 is performed; if the blind verification fails, the key distribution center is reported S query failure and the token τ σb =(reject, S) is output and step 8 is performed;

[0019] Step 7: the client with the recovery key RK Q,w uses the verification key VK Q,w and the recovery key RK Q,w to recover the real ciphertext output value μ to obtain the final plaintext query result;

[0020] Step 8: After receiving a report from the client, the key distribution center revokes the query function of the cloud server S, so that it no longer has the ability to perform subsequent outsourced queries.

[0021] Furthermore, based on the publicly verifiable Boolean search method for encrypted data, the key distribution center in step 3 utilizes the public information key PK. Q The method for generating a query key for cloud server S using the master key MK is as follows: The key distribution center first selects the current operation time from the time source τ, denoted as t; then it uses a custom Boolean query expression attribute tag. Boolean query Q and Boolean query respectively Encryption processing is performed to generate σ Q and Using σ Q , Public Information Key PK Q The master key MK, through invoking the KeyGen algorithm provided by the revocable KPABE scheme, generates decryption keys for Boolean query Q. Boolean query decryption key Then, the Update algorithm provided by the revocable KPABE scheme is invoked to generate update keys for Boolean query Q. Boolean query Update key The final output is the query key for the Boolean query of cloud server S.

[0022] Furthermore, according to the public verifiable Boolean search method for encrypted data, the method for preprocessing the keyword w to be queried in step 4 is as follows: The client first selects the current operation time from the time source τ, denoted as t; then randomly selects plaintext messages m0 and m1, and blinds m0 and m1 to generate messages m respectively. x and message m 1-x Where x∈{0,1}; then add the Boolean query expression attribute label f ​​to the keyword w to be queried to generate a set W, and combine W with the public parameter PP and message m x and message m 1-x c is obtained by calling the Encrypt algorithm provided by the revocable KPABE scheme as a parameter. x and c 1-x That is, the ciphertext input value σ w =(c x ,c 1-x Finally, the hash value g(m) is calculated using a hash function. x ) and g(m 1-x ), and combine the two hash values ​​mentioned above with LReg Together, they serve as the verification key output used to verify the correctness of the ciphertext Boolean query value, denoted as VK. Q,w Simultaneously, it outputs the recovery key RK used to recover the final plaintext output value from the ciphertext output value. Q,w =x.

[0023] Furthermore, according to the aforementioned public verifiable Boolean search method for encrypted data, the specific method of step 5 is as follows: Cloud server S first sets σ... w Parsing it as (c, c′); then using the public information key PK Q and query key EK Q,S As input, the key associated with the Boolean query Q is used by invoking the Decrypt algorithm provided by the revocable KPABE scheme. Decrypting the ciphertext c yields d0; similarly, a Boolean query is performed. Related keys Decrypting the ciphertext c′ yields d1. When decrypting the above content, it's first necessary to determine whether the keyword w related to the ciphertext for the desired query satisfies the access policy. If it does, decrypt directly to obtain d. x and d 1-x If the conditions are not met, the cloud server cannot decrypt the message and will directly output a random value. Finally, the signature algorithm provided by the SIGN scheme is used to sign the decryption result and the unique identifier id of the cloud server S to obtain γ, generating the complete ciphertext result value σ. b =(d x ,d 1-x ,S,γ).

[0024] Furthermore, according to the publicly verifiable Boolean search method for encrypted data, the specific method of step 6 is as follows: First, determine whether the unique identifier id of the cloud server belongs to the registration server list L. Reg and list of valid query servers L Q It then calls the signature verification algorithm provided by the SIGN scheme to verify whether the signature returned by the cloud server is correct; if the signature is correct, it uses the verification key VK. Q,w Compare hash values ​​to determine: if g(m) x )=g(d x Then the ciphertext output value μ = d x And the corresponding token is If g(m) 1-x )=g(d 1-x Then the ciphertext output value μ = d 1-x And the corresponding token is In other cases, the ciphertext output value μ = ⊥ and

[0025] Further, according to the public verifiable Boolean search method for ciphertext data, the method for the key distribution center to cancel the query function of the reported cloud server S in step 8 is: the key distribution center first deletes the unique identifier id of the cloud server S to be canceled from the valid query server list L Q , updates the query key EK Q,S : reselects the current time, and calls the Update algorithm provided by the revocable KPABE scheme again to obtain a new query key EK Q,S′ is redistributed to all unrevoked cloud servers S', and the query key EK Q,S′ (S'≠S) is updated for other cloud servers, which is equivalent to indirectly canceling the outsourcing query capability of the cloud server S.

[0026] Overall, the above technical solutions conceived by the present application have the following beneficial effects over the prior art:

[0027] The system and method of the present application utilize the key policy attribute-based encryption technology (KPABE), searchable encryption technology (SE), and the concept of public verifiability, hide the query keyword of the client, and the query result returned by the cloud server can be publicly verified, thereby helping the client to improve the utilization of resources while ensuring data security. At the same time, the system and method of the present application propose blind verification, i.e., the verifier (a client participating in verification) cannot understand the specific value of the actual output, thereby protecting the output privacy of the client. Moreover, the method supports the revocation of unscrupulous cloud servers, avoids the problem of invalid outsourcing query service provided by the cloud server to the client, and improves the robustness and availability of the cloud server.

[0028] The system and method of the present application satisfy public verifiability, revocability, and blind verification, make the query access of the client more perfect, greatly reduce the effective attack of malicious servers, and have high security and practicability compared with traditional schemes. BRIEF DESCRIPTION OF DRAWINGS

[0029] Figure 1 FIG. 1 is a structural schematic diagram of a public verifiable Boolean search system for ciphertext data according to the present embodiment;

[0030] Figure 2 FIG. 2 is a flowchart of a public verifiable Boolean search method for ciphertext data according to the present embodiment; DETAILED DESCRIPTION

[0031] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and specific embodiments. The specific embodiments described herein are only used to explain the present application and not used to limit the present application.

[0032] Figure 1 is a structural schematic diagram of a ciphertext data-oriented publicly verifiable Boolean search system of the present embodiment, entities involved in the ciphertext data-oriented publicly verifiable Boolean search system include a key distribution center, a client and a cloud server. As shown in Figure 1 , the key distribution center is responsible for managing and distributing keys used in encrypted communication and is fully trusted, and the cloud server is a semi-trusted storage device located in the cloud. The key distribution center, the client and the cloud server interact with each other. Specifically:

[0033] The key distribution center is configured to generate public parameters; when a cloud server S makes a registration request, assign a digital signature key to S to give S a valid identity information; when S makes an authentication request, the key distribution center generates a query key for S using the public parameters, so that S has the ability to query data; if a client reports to the key distribution center that the cloud server S fails to query, the key distribution center revokes the query function of S, so that S no longer has the ability to query externally;

[0034] The client is configured to, before submitting a query request to the cloud server S, pre-process the keyword w required for the query using the public parameters generated by the key distribution center: generate a ciphertext input value σ w , a verification key for verifying whether the Boolean query value is correct and a recovery key for recovering the ciphertext output value into plaintext; other clients participating in public verification use the verification key to blindly verify the ciphertext query result returned by the cloud server S, and verify whether the query result is correct without decryption: if the blind verification is passed, the client continues to recover the output to obtain the final plaintext query result, if the blind verification is not passed, the client reports to the key distribution center that the query of S fails;

[0035] The cloud server is configured to, when the client submits a query request to the cloud server S, execute a query service and generate a corresponding ciphertext query result and return the ciphertext query result to the client; the ciphertext query result includes a blinded ciphertext output value, identity information of the cloud server and signature information of the ciphertext output value.

[0036] Figure 2 is a flowchart of a ciphertext data-oriented publicly verifiable Boolean search method of the present embodiment, as shown in Figure 2 , the ciphertext data-oriented publicly verifiable Boolean search method includes the following steps:

[0037] Step 1: The key distribution center performs initialization operation: initialize an empty valid query server list L for performing the Boolean query Q Q ; initialize an empty registered server list L for storing the unique identifier id of the registered cloud server Reg ; generate public parameters, including the required parameters PP of the client, the public information key PK of the cloud server and the master key MK. Q

[0038] First, the key distribution center formulates the attribute set and randomly selects a security parameter λ, then takes the attribute set and the security parameter λ as input parameters, calls the initialization algorithm provided by the revocable KPABE scheme (from the paper "Attribute-Based Encryption Supporting Direct / Indirect Revocation Modes") to generate the parameters for the Boolean query Q and the parameters of the Boolean query . Where Q represents the Boolean query expression (for example: Q(w1, w2, w3) = w1 ∨ w2 ∨ w3, where w1, w2, w3 are all query keywords).

[0039] Specifically, first initialize the time source τ, generate parameters and and master keys and Combine the above parameters to generate public parameters and master key and generate the public information key PK of the Boolean query Q Q = PP. At the same time, initialize an empty valid query server list L Q for performing the Boolean query Q. In addition, an empty registered server list L Reg is also initialized, which is used to store the unique identifier id of the registered cloud server.

[0040] Step 2: When a cloud server S makes a registration request, the key distribution center generates a digital signature key for S, including the signature private key SK S and the signature verification key VK sign , and adds the unique identifier id of the cloud server S to the registered server list L Reg along with VK sign , completing the registration of the cloud server S in the key distribution center.

[0041] ​Specifically, the cloud server submits a registration application to the key distribution center, and the key distribution center receives the registration application, generates a digital signature key pair (SK sign , VK sign ) by calling a key generation algorithm provided by a SIGN digital signature scheme (from the book "Introduction to Modern Cryptography (Chapman & Hall / Crc Cryptography and Network Security Series)"), wherein SK sign is taken as the signature private key of the cloud server, denoted as SK S , and the unique identifier id of the cloud server S to be registered is added to the signature verification key VK sign together to the registration server list L Reg , indicating that the cloud server has been given a valid identity information and the server has completed the registration.

[0042] Step 3: When the cloud server S makes an authentication request to the key distribution center, the key distribution center generates a query key for the cloud server S using the public information key PK Q and the master key MK, and adds the unique identifier id of the cloud server S to the list L Q , indicating that the cloud server has been authenticated and has the ability to execute the Boolean query Q.

[0043] Specifically, the key distribution center first selects the current operation time from the time source τ, denoted as t; then encrypts the Boolean query Q and the Boolean query using the custom Boolean query expression attribute label to generate σ Q and uses σ Q , the public information key PK Q , the master key MK, and calls the KeyGen algorithm provided by the revocable KPABE scheme to generate the decryption key for the Boolean query Q and the decryption key for the Boolean query Then calls the Update algorithm provided by the revocable KPABE scheme to generate the update key for the Boolean query Q and the update key for the Boolean query Finally outputs the query key of the cloud server S for the Boolean query and adds the unique identifier id of the cloud server S to the list L Q , indicating that the cloud server has been authenticated and has the ability to execute the Boolean query Q.

[0044] Step 4: The client preprocesses the keyword w of the required query with the parameter PP: generates the ciphertext input value σ sent to the cloud server S w , the verification key VK used to verify whether the Boolean query value is correct Q,w , and the recovery key RK used to restore the ciphertext output value into plaintext Q,w ;

[0045] The preprocessing method is as follows: the client first selects the current operation time from the time source τ, denoted as t; then randomly selects plaintext messages m0and m1, and blinds m0and m1to generate messages m x and m 1-x , where x∈{0,1}; then adds the Boolean query expression attribute label f to the keyword w of the required query, i.e., the input keyword w, to generate a set W, and takes W, the public parameter PP, the message m x , and the message m 1-x as parameters to obtain c x and c 1-x , i.e., the ciphertext input value σ w =(c x ,c 1-x ), by calling the Encrypt algorithm provided by the revocable KPABE scheme; finally, the hash values g(m x ) and g(m 1-x ) are calculated by using a hash function, and the two hash values are output together with L Reg as the verification key, denoted as VK Q,w ; at the same time, the recovery key RK Q,w =x is output. Wherein, VK Q,w is the verification key used to verify whether the ciphertext Boolean query value is correct, and RK Q,w is the recovery key used to restore the ciphertext output value to obtain the final plaintext output value.

[0046] Step 5: When a client submits a query request to the cloud server S, the cloud server S performs the query service, and uses the public information key PK Q , the query key EK Q,S , and the signature private key SK S of the cloud server to query the ciphertext input value σ w . After the cloud server S performs the query operation, if the query fails, a random value is output, and if the query succeeds, the blinded ciphertext output value is obtained, and the blinded ciphertext output value is signed to generate the final ciphertext result value σ b ;

[0047] Specifically, since the cloud server S executing the query service does not know the value of the recovery key x, the cloud server S first needs to set σ... w Parsing it as (c, c′); then using the public information key PK Q and query key EK Q,S As input, the key associated with the Boolean query Q is used by invoking the Decrypt algorithm provided by the revocable KPABE scheme. Decrypting the ciphertext c yields d0; similarly, a Boolean query is performed. Related keys Decrypting the ciphertext c′ yields d1. When decrypting the above content, it's first necessary to determine whether the keyword w related to the ciphertext satisfies the access policy. The access policy consists of multiple logical operators (such as AND, OR, NOT) used to filter data that meets specific requirements. If satisfied, decrypt directly to obtain d. x and d 1-x If the condition (x∈{0,1}) is not met, the cloud server cannot decrypt the data and will directly output a random value. Finally, the signature algorithm provided by the SIGN scheme is used to sign the decryption result and the unique identifier id of the cloud server S to obtain γ, generating the complete ciphertext result value σ. b =(d x ,d 1-x ,S,γ).

[0048] Step 6: Other clients participating in public verification apply the verification key VK. Q,w The encrypted result value σ returned by the cloud server S b Perform public blind verification; if the blind verification passes, output a token. The actual ciphertext output value μ is obtained and step 7 is executed; if the blind verification fails, the S query failure is reported to the key distribution center and a token is output. And proceed to step 8;

[0049] Specifically, the first step is to determine whether the cloud server's unique identifier (id) belongs to the registration server list L. Reg and list of valid query servers L Q It then calls the signature verification algorithm provided by the SIGN scheme to verify whether the signature returned by the cloud server is correct. If the signature is correct, it uses the verification key VK. Q,w Compare hash values ​​to determine: if g(m) x )=g(d x Then the ciphertext output value μ = d x And the corresponding token is If g(m) 1-x )=g(d 1-x Then the ciphertext output value μ = d 1-xand the corresponding token is In other cases, the ciphertext output value μ = ⊥ and the token is

[0050] If the token output by step 6 is Step 7 can be executed to obtain the final plaintext output result, and if the token output by step 6 is Step 7 is not necessary, and step 8 is directly executed.

[0051] Step 7: The client with the recovery key RK Q,w uses the verification key VK Q,w and the recovery key RK Q,w to recover the real ciphertext output value μ to obtain the real Boolean query output value b, that is, the final plaintext query result.

[0052] Specifically, the ciphertext result value σ b returned by the cloud server S needs to be recovered into a plaintext output result by the client after blind verification by other clients. In the case where the blind verification is passed, that is, the token is The client needs to use VK Q,w and RK Q,w to compare the calculated hash value g(μ) with g(m0) and g(m1). If g(μ) = g(m0), then output b = 1; if g(μ) = g(m1), then output b = 0. If neither is satisfied, then output an invalid value.

[0053] Step 8: After receiving a report from the client, the key distribution center revokes the query function of the cloud server S, so that it no longer has the ability to subsequently outsource queries;

[0054] In the case where the blind verification is not passed, that is, the token is The method for the key distribution center to revoke the query function of the reported cloud server S is as follows: the key distribution center first deletes the unique identifier id of the revoked cloud server from the valid query server list L Q ; update the query key EK Q,S : reselect the current time and call the Update algorithm provided by the revocable KPABE scheme again to obtain a new query key Distribute the updated EK Q,S′ key to all unrevoked cloud servers S', update the query key EK Q,S′ of other cloud servers (S' ≠ S), which is equivalent to indirectly revoking the outsourcing query ability of the cloud server S.

[0055] It should be noted that the above examples are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that the technical solutions recorded in the foregoing examples can be modified, or some or all of the technical features can be replaced by equivalents; therefore, these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope defined by the claims of the present application.

Claims

1. A publicly verifiable Boolean search system for encrypted data, characterized in that, The entities involved in the system include a fully trusted key distribution center, clients, and cloud servers; The key distribution center is used to generate public parameters; when there is a cloud server When submitting a registration request, for Assign digital signature keys to give A valid identity information; when When submitting an authentication request, the key distribution center uses the public parameters as follows: Generate a query key, so that It has the ability to query data; if a client reports a cloud server to the key distribution center... Query failed, key distribution center revoked. The query function was removed, thus eliminating its ability to perform subsequent outsourced queries. The key distribution center uses the public parameter as follows: The method for generating a query key is as follows: the key distribution center uses the public information key. and master key cloud server The method for generating query keys is as follows: the key distribution center first obtains the query key from the time source. Select the current operation time and record it as... Then, use the custom Boolean query expression attribute tag. Boolean queries respectively Boolean query Generate by encryption and ;use , Public information key Master key By invoking the revocable KPABE scheme Algorithms, respectively generating queries for Boolean queries decryption key Boolean query decryption key ; Then call the revocable KPABE scheme provided by Algorithms, respectively generating queries for Boolean queries Update key Boolean query Update key The final output is a cloud server. Query key for Boolean queries ; The client is used to send data to the cloud server. Before submitting a query request, use the public parameters generated by the key distribution center to select the keywords for the query. Preprocessing: Generate ciphertext input values The system includes a verification key for confirming the correctness of a Boolean query value and a recovery key for restoring the ciphertext output value to plaintext; other clients participating in the public verification use the verification key to access the cloud server. The returned ciphertext query result is blindly verified to confirm its correctness without decryption: if the blind verification passes, the client continues to recover the output and obtains the final plaintext query result; if the blind verification fails, the client reports the error to the key distribution center. Query failed; Cloud servers are used by clients to send data to cloud servers. When a query request is submitted, the query service is executed and the corresponding encrypted query result is generated and returned to the client; the encrypted query result includes the blinded encrypted output value, the identity information of the cloud server, and the signature information of the encrypted output value.

2. A publicly verifiable Boolean search method for encrypted data, characterized in that, The method includes the following steps: Step 1: The key distribution center performs initialization operations: initializes an empty key for performing Boolean queries. List of valid query servers Initialize an empty string to store the unique identifier of the registered cloud server. List of registration servers ; Generate common parameters, including those required by the client. Public information key required for cloud servers and master key ; Step 2: When there is a cloud server When submitting a registration request, the key distribution center will... Generate digital signature keys, including the signing private key. and signature verification key and the cloud server Unique Identifier and Add together to the list of registered servers Complete the cloud server Registration at the key distribution center; Step 3: When the cloud server When submitting an authentication request to the key distribution center, the key distribution center uses the public information key. and master key cloud server Generate a query key and set up the cloud server. Unique Identifier Add to list This indicates that the cloud server has been authenticated and has the capability to perform Boolean queries. Ability; Step 4: The client uses the parameters For the keywords to be searched Preprocessing: Generate and send to the cloud server ciphertext input value A verification key used to verify whether a Boolean query value is correct. And the recovery key used to recover the ciphertext output value back to plaintext. ; Step 5: When a client sends a request to the cloud server When submitting a query request, the cloud server Perform query services using public information keys Query key And the signing private key of the cloud server For ciphertext input values A query was performed on the cloud server. After executing the query operation, if the query fails, a random value is output; if the query succeeds, a blinded ciphertext output value is obtained, and this blinded ciphertext output value is signed to generate the final ciphertext result value. ; Step 6: Other clients participating in public verification apply the verification key. cloud servers The returned ciphertext result value Perform public blind verification; if the blind verification passes, output a token. And obtain the actual ciphertext output value. Then proceed to step 7; if the blind verification fails, report it to the key distribution center. The query failed and the token was output. And proceed to step 8; Step 7: By the person who possesses the recovery key The client uses the verification key and recovery key Output the actual ciphertext value The final plaintext query result is obtained by performing the recovery. Step 8: After receiving a report from the client, the key distribution center revokes the cloud server registration. The query function was removed, thus eliminating its ability to perform subsequent outsourced queries. The key distribution center mentioned in step 3 uses the public information key. and master key cloud server The method for generating query keys is as follows: the key distribution center first obtains the query key from the time source. Select the current operation time and record it as... Then, use the custom Boolean query expression attribute tag. Boolean queries respectively Boolean query Generate by encryption and ;use , Public information key Master key By invoking the revocable KPABE scheme Algorithms, respectively generating queries for Boolean queries decryption key Boolean query decryption key ; Then call the revocable KPABE scheme provided by Algorithms, respectively generating queries for Boolean queries Update key Boolean query Update key The final output is a cloud server. Query key for Boolean queries .

3. The publicly verifiable Boolean search method for encrypted data according to claim 2, characterized in that, Step 4 describes the keywords to be queried. The preprocessing method is as follows: the client first starts from the time source Select the current operation time and record it as... Then, a plaintext message is randomly selected. and and will and Blinding generates messages separately and messages ,in ; Then the Boolean query expression attribute label Add keywords to the desired query Generate sets and put With common parameters ,information and messages As a parameter provided by calling the revocable KPABE scheme The algorithm obtains and That is, the ciphertext input value Finally, the hash value is calculated using a hash function. and And combine the two hash values ​​mentioned above with Together, they serve as the verification key output used to verify whether the ciphertext Boolean query value is correct, denoted as... Simultaneously, it outputs the recovery key used to recover the final plaintext output value from the ciphertext output value. .

4. The publicly verifiable Boolean search method for encrypted data according to claim 3, characterized in that, The specific method for step 5 is as follows: cloud server First of all Parsed as Then use the public information key and query key As input, by invoking the revocable KPABE scheme provided Algorithm for Boolean queries Related keys For ciphertext Decryption Similarly, it can be used with Boolean queries. Related keys For ciphertext Decryption To decrypt the above content, it is first necessary to determine the keywords related to the ciphertext that need to be searched. Does the access policy meet the requirements? If so, decrypt directly to obtain the result. and If the conditions are not met, the cloud server cannot decrypt the value and will directly output a random value; finally, it calls... The signature algorithm provided by the solution is used to verify the decryption result and the cloud server. Unique Identifier Obtain by signing Generate complete ciphertext result value .

5. The publicly verifiable Boolean search method for encrypted data according to claim 2, characterized in that, The specific method for step 6 is as follows: First, determine the unique identifier of the cloud server. Is it included in the list of registered servers? and list of valid query servers and call The solution provides a signature verification algorithm to verify whether the signature returned by the cloud server is correct; if the signature is correct, the verification key is used. Compare hash values ​​to determine: If Then the ciphertext output value And the corresponding token is ,if Then the ciphertext output value And the corresponding token is In other cases, the encrypted output value is used. and .

6. The publicly verifiable Boolean search method for encrypted data according to claim 2, characterized in that, In step 8, the key distribution center revokes the reported cloud server. The method for querying the function is as follows: The key distribution center will first revoke the cloud server. Unique Identifier From the list of valid query servers Delete; query key Update: Reselect the current time and invoke the revocable KPABE scheme again. The algorithm obtains a new query key. The updated version The key was redistributed to all cloud servers that had not been revoked. Update query keys for other cloud servers ( This is equivalent to indirectly canceling the cloud server. Outsourced query capabilities.

Citation Information

Patent Citations

  • Property base keyword searching method supporting efficient revocation in cloud environment

    CN106330865A

  • Cancellation-supported outsourcing verifiable multi-authorization center access control method, and cloud server

    CN108390876A