A lightweight public key authentication encryption method supporting paid query of similar data
Through the lightweight public key authentication encryption method, combined with local sensitive hashing and Diffie–Hellman hypothesis, the efficiency of paid queries and similar data searches in cloud services is solved, and the security and privacy protection of paid queries are achieved to prevent collusion.
Patent Information
- Application Number
- CN202310673741.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-08
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2043-06-08
AI Technical Summary
The existing public key authentication encryption method is difficult to efficiently support paid queries and similar data searches in cloud services, and cannot effectively resist adaptive target selection attacks and internal keyword guessing attacks. At the same time, there is a risk of cloud servers and data users conspiring to deny fees.
The lightweight public key authentication encryption method is adopted to generate public parameters, public key and private key pairs, combined with local sensitive hash and Diffie–Hellman assumptions, and similar data matching between ciphertext and trap gates is achieved, and the cost deduction is performed when the match is successful to prevent collusion.
It realizes efficient paid query and similar data search in cloud services, which can resist adaptive target selection attacks and internal keyword guessing attacks, protect user privacy, and prevent conspiracy to deduct fees.
Smart Images

Figure CN116566722B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a public key authenticated encryption method with keyword search, and more particularly to a lightweight public key authenticated encryption method supporting paid query of similar data. Background Art
[0002] Paid query has gradually become a service mode of many cloud service providers (such as Amazon Athena, Google Cloud, IBM Cloud, etc.). Under this service mode, the data owner can charge according to the query data volume of the data user. Obviously, the paid query service needs to entrust the data to a third-party cloud server, which is likely to cause data and user privacy leakage.
[0003] To safeguard the interests of data owners and the personal and property safety of users, the traditional method is that the data owner first encrypts the information and then sends it to the user, and the user decrypts to obtain the information according to the key negotiated with the data owner. However, this encryption method is cumbersome and has a single form, which is undoubtedly outdated for complex and diverse cloud services.
[0004] To meet the user query requirements, Boneh et al. first proposed the concept of public key encryption based on keyword search and constructed a specific public key encryption with keyword search (PEKS) scheme. However, compared with the key space, the keyword space is very small, which will lead to offline keyword guessing attack (KGA). Subsequently, some variant schemes of PEKS have been proposed one after another. For example, the PEKS scheme with fuzzy keyword search function proposed by Cao et al., the PEKS scheme with conjunctive keyword search function proposed by Golle et al., and the PEKS scheme satisfying trapdoor security proposed by Arriaga and Tang. However, these schemes still cannot resist the KGA initiated by the insider adversary in the cloud.
[0005] On the other hand, the application rate of mobile devices in cloud services has increased rapidly. Limited by the performance of mobile devices, general public key authenticated encryption with keyword search (PAEKS) schemes cannot be efficiently applied. Aiming at the problem of low storage space and computing power of mobile devices in cloud services, Lu and Li proposed a lightweight public key authenticated encryption scheme applicable to mobile devices. This scheme does not involve bilinear mapping operations and has a low computational cost, which is more suitable for mobile devices with low performance in cloud services. However, this scheme cannot be applied to the paid query scenario and does not support the operation of searching for similar data. Summary of the Invention
[0006] Objective of the Invention: Aiming at the defects of existing public-key authentication encryption methods, the objective of the present invention is to propose a lightweight public-key authentication encryption method that supports paid query of similar data, can resist adaptive chosen target attacks and internal keyword guessing attacks, and at the same time prevent the cloud server and the user from colluding and denying the deduction of fees.
[0007] Technical Solution: The lightweight public-key authentication encryption method that supports paid query of similar data according to the present invention includes:
[0008] (1) Configure public parameters PP, threshold th, and a list for recording the number of user queries
[0009] (2) Generate the public key PK CS and private key SK CS of the cloud server according to the public parameters PP, generate the public key PK S and private key SK S of the data owner, and generate the public key PK U and private key SK U of the data user;
[0010] (3) Generate the ciphertext C according to the public parameters PP, the file F and its digest d of the data owner, the private key SK S of the data owner, as well as the public key PK CS of the cloud server and the public key PK U of the data user;
[0011] (4) Generate the trapdoor T according to the public parameters PP, the digest d' previously received by the data user from the data owner, the private key SK U of the data user, as well as the public key PK CS of the cloud server and the public key PK S of the data owner;
[0012] (5) According to the public parameters PP, the ciphertext C, the trapdoor T, the private key SK CS of the cloud server and the threshold th, if the number of matching times between the digest d and d' is greater than or equal to the threshold th, then the digest d and d' are similar data, deduct fees according to the amount of data queried by the user, and jump to step (6); otherwise, terminate the execution;
[0013] (6) Generate the updated ciphertext C' and the updated list according to the ciphertext C, the private key SK S of the data owner and the list ;
[0014] (7) Obtain the file F according to the updated ciphertext C', the private key SK U of the data user and the public key PK S of the data owner.
[0015] Furthermore, step (1) includes:
[0016] Set the public parameter PP as where p is a large prime number, is an elliptic curve group, and g is a generator of;
[0017] Hash function and |W| represents the keyword space, represents the set of positive integers; represents the set of all elements in that are invertible under modular multiplication, represents the residue class ring modulo p represents the set of all integers;
[0018] Pre - define a threshold th;
[0019] Initialize a list for recording the query times of users where, PK U is the public key of data user U, and qt U is the query times of this data user U; this list is secretly held by the data owner.
[0020] Furthermore, step (2) includes:
[0021] Randomly select The public key PK of the cloud server CS = sg; The private key SK of the cloud server CS = s.
[0022] Furthermore, step (2) also includes:
[0023] Randomly select α1, The public key PK of the data owner S =(PK S1 , PK S2 )=(α1g, α2g); The private key SK of the data owner S =(SK S1 , SK S2 )=(α1, α2).
[0024] Furthermore, step (2) also includes:
[0025] Randomly select β1, The public key PK of the data user U =(PK U1 , PKU2 ) = (β1g, β2g); The private key SK of the data user U = (SK U1 , SK U2 ) = (β1, β2).
[0026] Further, step (3) includes:
[0027] Calculate:
[0028] v1 = H1(PK S1 , PK U1 , SK S1 PK U1 ), v2 = H1(PK S2 , PK U2 , SK S2 PK U2 );
[0029] Randomly select
[0030] Through the LSH function, extract n sub - feature sets {f1,..., f n} of the digest d;
[0031] Calculate:
[0032] Q i = r(g + H2(f i , v1, v2)PK U1 ), the sub - ciphertext C 1,i = H3(Q i ),
[0033] C2 = rPK CS and C3 = (F·SK S1 PK U1 )SK S1 ; 1 ≤ i ≤ n
[0034] Generate the ciphertext C = (C 1,i , C2, C3).
[0035] Further, step (4) includes:
[0036] Calculate:
[0037] v1′ = H1(PK S1 , PK U1 , SK U1 PK S1 ), v′2 = H1(PK S2 , PK U2 , SK U2 PK S2 );
[0038] Extract n sub - feature sets {f1′,..., f′ n ′} of the abstract d′ through the LSH function;
[0039] Calculate:
[0040] T i = H2(f i ′, v1′, v′2)SK U1 ;
[0041] Generate the trapdoor T = {T i}.
[0042] Furthermore, step (5) includes:
[0043] Initialize a temporary counter count = 0;
[0044] Calculate:
[0045]
[0046] If C 1,i = H3(Q i ′), then count + 1;
[0047] After looping less than or equal to n times, if count ≥ th, deduct fees according to the data volume of the user's query and jump to step (6); otherwise, terminate the execution.
[0048] Furthermore, step (6) includes:
[0049] Parse the ciphertext C into C 1,i , C2 and C3, and return C3 to the data owner;
[0050] Calculate the updated ciphertext for the data user;
[0051] According to the public key PK U1 of the data user, record the query times of this user and return the updated list
[0052] Furthermore, step (7) includes:
[0053] Decrypt to obtain the file F = C′·(SK U1 PK S1 ) -1 .
[0054] Beneficial effects: Compared with the prior art, the present invention has the following remarkable advantages:
[0055] Compared with the existing public key authentication encryption methods, the present invention is applicable not only to mobile devices with low storage space and computing performance in cloud services, but also to the scenario of paid query for similar data.
[0056] The present invention can also prevent the cloud server and the data user from colluding to deny the deduction of fees, and can resist the adaptive chosen target attack and the internal keyword guessing attack. Specifically, the adversary can adaptively select the challenge sender and the challenge receiver to conduct the attack. Under this attack model, the present invention satisfies the ciphertext indistinguishability, the ciphertext unforgeability, and the trapdoor indistinguishability. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 It is a flowchart of a lightweight public key authentication encryption method supporting paid query for similar data provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0058] The present invention will be further described below with reference to the accompanying drawings.
[0059] A lightweight public key authentication encryption method supporting paid query for similar data includes:
[0060] (1) Configure the public parameters PP, the threshold th, and the list for recording the user's query times
[0061] Specifically,
[0062] Set the public parameter PP as where p is a large prime number, is an elliptic curve group, and g is a generator of
[0063] The hash functions and W| represents the keyword space, represents the set of positive integers; represents the set of all multiplicative invertible elements modulo in represents the residue class ring modulo p represents the set of all integers;
[0064] Pre-define a threshold th;
[0065] Initialize a list for recording the user's query times where PK U is the public key of the data user U, and qt U is the query times of the data user U; this list is secretly held by the data owner.
[0066] (2) Generate the public key PK of the cloud server according to the public parameter PP CS and the private key SK CS , generate the public key PK of the data owner S and the private key SK S , generate the public key PK of the data user U and the private key SK U ;
[0067] Specifically,
[0068] The key generation center randomly selects The public key PK of the cloud server CS = sg; The private key SK of the cloud server CS = s.
[0069] The key generation center randomly selects α1, The public key PK of the data owner S =(PK S1 , PK S2 )=(α1g, α2g); The private key SK of the data owner S =(SK S1 , SK S2 )=(α1, α2).
[0070] The key generation center randomly selects β1, The public key PK of the data user U =(PK U1 , PK U2 )=(β1g, β2g); The private key SK of the data user U =(SK U1 , SK U2 )=(β1, β2).
[0071] (3) Generate the ciphertext C according to the public parameter PP, the file F of the data owner and its digest d, the private key SK of the data owner S , and the public key PK of the cloud server CS and the public key PK of the data user U ;
[0072] Specifically,
[0073] Calculate:
[0074] v1 = H1(PK S1 , PK U1 , SK S1 PK U1 ), v2 = H1(PK S2 , PK U2 , SK S2 PKU2 );
[0075] Randomly select
[0076] The data owner extracts n sub - feature sets {f1,..., f n} of the digest d through the LSH function;
[0077] Calculate:
[0078] Q i = r(g + H2(f i , v1, v2)PK U1 ), the sub - ciphertext C 1,i = H3(Q i ),
[0079] C2 = rPK CS and C3 = (F·SK S1 PK U1 )SK S1 ; 1 ≤ i ≤ n
[0080] Generate the ciphertext C = (C 1,i , C2, C3).
[0081] (4) According to the public parameters PP, the digest d' previously received by the data user from the data owner, the private key SK U of the data user, as well as the public key PK CS of the cloud server and the public key PK S of the data owner, generate the trapdoor T;
[0082] Specifically,
[0083] Calculate:
[0084] v1' = H1(PK S1 , PK U1 , SK U1 PK S1 ), v'2 = H1(PK S2 , PK U2 , SK U2 PK S2 );
[0085] The data user extracts n sub - feature sets {f1',..., f n '} of the digest d' through the LSH function;
[0086] Calculate:
[0087] T i = H2(f i ', v1', v'2)SK U1 ;
[0088] Generate a trapdoor \(T = \{T i \}\).
[0089] In the above steps (3) and (4), Locality-Sensitive Hashing (LSH) is involved, which is an algorithm that can be used to measure the similarity between the feature sets of two data items.
[0090] (5) According to the public parameters \(PP\), ciphertext \(C\), trapdoor \(T\), the private key \(SK\) of the cloud server CS and threshold \(th\), if the number of matching times between the digests \(d\) and \(d'\) is greater than or equal to the threshold \(th\), then the digests \(d\) and \(d'\) are similar data, deduct fees according to the amount of user query data, and jump to step (6); otherwise, terminate the execution;
[0091] Specifically,
[0092] The cloud server initializes a temporary counter \(count = 0\);
[0093] Calculate:
[0094]
[0095] If \(C 1,i = H3(Q i '), then \(count + 1\);
[0096] After looping less than or equal to \(n\) times, if \(count \geq th\), then deduct fees according to the amount of user query data, and jump to step (6); otherwise, terminate the execution.
[0097] (6) According to the ciphertext \(C\), the private key \(SK\) of the data owner S and the list Generate an updated ciphertext \(C'\) and an updated list
[0098] Specifically,
[0099] The cloud server parses the ciphertext \(C\) into \(C 1,i , C2 and C3, and returns C3 to the data owner;
[0100] The data owner calculates the updated ciphertext for the data user;
[0101] The data owner records the query times of this user according to the public key \(PK\) of the data user U1 and returns the updated list
[0102] (7) According to the updated ciphertext \(C'\), the private key \(SK\) of the data user U and the public key \(PK\) of the data ownerS , obtain file F;
[0103] Specifically,
[0104] The data user decrypts to obtain file F = C'·(SK U1 PK S1 ) -1 .
[0105] As Figure 1 shown, it is a flowchart of a public key authenticated encryption method for lightweight support of paid query of similar data, involving four entities: a key generation center, a cloud server, a data owner (client), and a data user (client). The following are the functions implemented by these four entities.
[0106] The key generation center generates public-private key pairs for the cloud server, the data owner, and the data user respectively.
[0107] The data owner encrypts the file and its digest to generate a ciphertext and uploads it to the cloud server.
[0108] The data user generates a trapdoor and initiates a query to the cloud server. The cloud server performs a similar data matching operation. If the ciphertext and the trapdoor match, it returns the matching result to the data owner; otherwise, it terminates the process.
[0109] After receiving the matching result, the data owner calculates and updates the ciphertext and returns it to the data user.
[0110] The following gives an example of applying the public key authenticated encryption method for lightweight support of paid query of similar data to cloud services.
[0111] First, the key generation center generates public-private key pairs for the cloud server, the data owner, and the data user. Then, the data owner encrypts the file and its digest to generate a ciphertext and stores it in the cloud server; the data user encrypts the previously received digest from the data owner to generate a trapdoor and initiates a query request to the cloud server. Finally, the cloud server performs a similar match between the ciphertext and the trapdoor; if the match is successful, the cloud server deducts the fee of this data user and sends the parsed ciphertext to the data owner; otherwise, it terminates the process. To prevent the cloud server and the data user from colluding to deny the deduction of the fee, the data owner records the query times of this user and calculates and returns an updated ciphertext to the data user through calculation; the data user decrypts to obtain the file. Since it does not adopt computationally expensive bilinear mapping calculations, the present invention has high efficiency and is more suitable for mobile devices with weak performance in cloud services.
[0112] The present invention can protect user privacy. It adopts the computational Diffie–Hellman assumption, the decisional Diffie–Hellman assumption, and locality-sensitive hashing, protecting the privacy of ciphertext and trapdoors during the process of realizing similar data search. The present invention can resist both adaptive chosen target attacks and internal keyword guessing attacks, and also solves the problem of collusion between cloud servers and data users to damage the interests of data owners.
Claims
1. A lightweight public key authentication encryption method that supports paid query of similar data, characterized in that, including: (1) Configure the public parameter PP, the threshold th, and a list for recording the number of user queries (2) Generate the public key PK of the cloud server according to the public parameter PP CS and the private key SK CS , generate the public key PK of the data owner S and the private key SK S , generate the public key PK of the data user U and the private key SK U ; (3) Generate ciphertext C according to the public parameter PP, the file F of the data owner and its digest d, the private key SK of the data owner S , as well as the public key PK of the cloud server CS and the public key PK of the data user U . (4) Generate a trapdoor T based on the public parameter PP, the digest d' previously received by the data user from the data owner, the private key SK of the data user U , the public key PK of the cloud server CS and the public key PK of the data owner S . (5) According to the public parameter PP, ciphertext C, trapdoor T, and the private key SK of the cloud server CS and the threshold th, if the number of matching times between the digest d and d′ is greater than or equal to the threshold th, then the digest d and d′ are similar data, deduct fees according to the amount of user query data, and jump to step (6); otherwise, terminate the execution; (6) Generate the updated ciphertext C' and the updated list according to the ciphertext C, the private key SK of the data owner S and the list (7) Based on the updated ciphertext C′, the private key SK of the data user U and the public key PK of the data owner S , the file F is obtained.
2. The public key authentication encryption method according to claim 1, wherein Step (1) includes: Set the public parameter PP as where p is a large prime number, is an elliptic curve group, and g is a generator of Hash function H1: H2: and H3: Let \(W\) denote the keyword space, and \(\mathbb{Z}^+\) denote the set of positive integers; Let \(\mathbb{Z}_p^*\) denote the set of all elements in \(\mathbb{Z}_p\) that are multiplicatively invertible modulo \(p\), and \(\mathbb{Z}_p\) denote the ring of integers modulo \(p\). Let \(\mathbb{Z}\) denote the set of all integers; Pre-define a threshold th; Initialize a list for recording the number of user queries where PK U is the public key of data user U, and qt U is the number of queries of this data user U; this list is secretly held by the data owner.
3. The public key authentication encryption method according to claim 2, wherein Step (2) includes: Random selection The public key PK of the cloud server CS = sg; The private key SK of the cloud server CS = s.
4. The public key authentication encryption method according to claim 3, wherein Step (2) also includes: Randomly select The public key PK of the data owner S =(PK S1 , PK S2 )=(α1g, α2g); The private key SK of the data owner S =(SK S1 , SK S2 )=(α1, α2).
5. The public key authentication encryption method according to claim 4, wherein Step (2) also includes: Randomly select The public key PK of the data user U =(PK U1 , PK U2 )=(β1g, β2g); The private key SK of the data user U =(SK U1 , SK U2 )=(β1, β2).
6. The public key authentication encryption method according to claim 5, wherein Step (3) includes: Calculate: v1 = H1(PK S1 , PK U1 , SK S1 PK U1 ), v2 = H1(PK S2 , PK U2 , SK S2 PK U2 ); Random selection Extract n sub - feature sets {f1,..., f n} of the abstract d through the LSH function; Calculate: Q i = r(g + H2(f i , v1, v2)PK U1 ), the sub-ciphertext C 1,i = H3(Q i ), C2 = rPK CS and C3 = (F · SK S1 PK U1 )SK S1 ; 1 ≤ i ≤ n Generate ciphertext C = (C 1,i , C2, C3).
7. The public key authentication encryption method according to claim 6, characterized in that, Step (4) includes: Calculate: v′1 = H1(PK S1 , PK U1 , SK U1 PK S1 ), v′2 = H1(PK S2 , PK U2 , SK U2 PK S2 ); Extract n sub - feature sets {f1′,..., f′} of the abstract d′ through the LSH function; n} Calculate: T i = H2(f i ′, v′1, v′2)SK U1 ; Generate a trapdoor \(T = \{T i \}\).
8. The public key authentication encryption method according to claim 7, characterized in that, Step (5) includes: Initialize a temporary counter count = 0; Calculate: If C 1,i = H3(Q' i ), then count + 1; After looping less than or equal to n times, if count ≥ th, deduct fees according to the user query data volume and jump to Step (6); otherwise, terminate the execution.
9. The public key authentication encryption method according to claim 8, wherein, Step (6) includes: Parse the ciphertext C into C 1,i , C2 and C3, and return C3 to the data owner; Calculate the updated ciphertext To the data user; According to the public key PK of the data user U1 Record the query times of this user and return the updated list 10. The public key authentication encryption method according to claim 9, characterized in that, Step (7) includes: The decryption yields the file F = C′·(SK U1 PK S1 ) -1 .
Citation Information
Patent Citations
A copyright-protected and privacy-preserving media sharing scheme
AU2018100682A4
End-to-end public key keyword searchable encryption method for cloud data transmission
CN108390760A