Multi-user searchable encryption method capable of resisting secret key leakage in cloud edge collaborative environment
By building an indexed ciphertext binary search tree and global search structure in the cloud-edge collaborative environment, combined with the key update mechanism, the problem of low key leakage and search efficiency in the cloud-edge collaborative environment is solved, and efficient and secure multi-dimensional Users can search for encryption methods, enhancing data privacy protection and system security.
Patent Information
- Application Number
- CN202411199131.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-08-29
AI Technical Summary
In the cloud-edge collaborative computing environment, existing searchable encryption technology is difficult to effectively prevent key leakage, resulting in the security and privacy protection of data privacy in multi-user scenarios, especially in untrusted cloud and edge servers. In the environment, it is difficult to achieve efficient search and key management.
The system key and hash function are initialized by trusted authoritative organizations. The data owner generates search keys and auxiliary search keys for users, and builds an indexed ciphertext binary search tree on the edge server, combining with the global search structure of the cloud server , realizes rapid retrieval of encrypted data and key updates, ensuring key updates and user permission management in each time period.
It enhances the anti-key exposure characteristics of the system, improves the efficiency of encrypted data search, reduces the risks of unauthorized access and data abuse, ensures user privacy and data security, and optimizes the response speed of real-time applications.
Smart Images

Figure CN119254458A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of multi-user searchable encryption technology, and specifically to a multi-user searchable encryption method that is resistant to key leakage in a cloud-edge collaborative environment. Background Art
[0002] With the rapid development of IoT technology, the massive amount of data generated can no longer be processed by cloud computing alone. Therefore, cloud-edge collaborative computing has emerged. Through the collaboration between cloud servers and edge servers, communication latency is effectively reduced, solving the computing and storage problems of massive data. However, this model also raises data security and privacy issues, because cloud servers and edge servers may encounter internal or external attacks and are not completely trustworthy, which may lead to the leakage of user data privacy. To ensure data security and privacy, users choose to encrypt their data before outsourcing storage. However, although data encryption ensures privacy security, it complicates retrieval operations. For this reason, searchable encryption technology has been proposed, aiming to achieve the function of effectively searching encrypted data without sacrificing data privacy.
[0003] Although searchable encryption technology provides an important technology for data privacy protection, most of the current solutions are mainly designed for cloud computing environments and are not suitable for the special needs of cloud-edge collaborative computing. These solutions only support single-user queries, while cloud-edge collaborative computing involves multiple users and multiple tasks. In a multi-user environment, protecting the data privacy of each user becomes more complicated. It is necessary to ensure the confidentiality of user data during transmission and storage to prevent data leakage to unauthorized users or third parties. At the same time, in the face of untrusted cloud servers and edge devices, it is difficult to achieve efficient global search and other problems. Therefore, inventing a multi-user searchable encryption method for cloud-edge collaborative environments that can achieve privacy protection and support multiple users, multiple tasks, and real-time response has become an urgent challenge in the field of privacy protection.
[0004] Song et al. first proposed searchable encryption in Practices for searches on encrypted data, thus opening a new research direction in cryptography. Since then, searchable encryption has gradually become a hot topic. For example, Boneh et al. proposed the public key searchable encryption scheme (PEKS) in Public key encryption with keyword search. Baek et al. proposed a new scheme in Public key encryption with keyword search revised, which eliminated the reliance of PEKS on secure channels. However, Rahee et al. pointed out in Improved searchable public key encryption with des ignated tester that the scheme of Baek et al. has the problems of inefficient security model and limited adversary capabilities. Therefore, Rahee et al. redesigned the security model and introduced the concept of trapdoor indistinguishability, and proved that their scheme can resist offline keyword guessing attacks. Most of these schemes are applicable to single-user scenarios, which limits the widespread application of searchable encryption in cloud computing environments. To support multi-user data sharing, Wang et al. proposed a forward-secure multi-user searchable encryption scheme in Multi-user forward secure dynamic searchable symmetric encryption. Their scheme enables key sharing among multiple users by introducing a semi-trusted proxy server. To reduce users' storage overhead, Zhang et al. constructed a storage-saving multi-user searchable encryption scheme using key hiding technology in Non-interactive multi-user searchable symmetric encryption with small storage. Nevertheless, these schemes are not directly applicable to architectures based on cloud-edge collaborative computing.
[0005] Recently, Zhang et al. proposed a privacy-preserving edge-cloud collaborative encrypted search method in IoT in “Efficient and privacy-preserving search over edge-cloud collaborative entities in IoT”. In order to meet the personalized search needs of users, this method designs a secure search architecture and search method for edge-cloud collaboration that supports diverse user needs (such as real-time search and global search). Gao et al. combined blockchain technology to construct a searchable encryption scheme that supports fine-grained access control in “Blockchain-enabled fine-grained search encryption with cloud-edge computing for electronic health records sharing”, and realized multi-user secure retrieval under the cloud-edge collaborative architecture. In order to verify the search results, Zhang et al. combined blockchain and hash technology to construct a secure and verifiable data search scheme for cloud-assisted edge computing in “A secure and verifiable multi-data search scheme for cloud-assisted edge computing”, and applied it to multimedia data search.
[0006] In summary, although existing searchable encryption schemes can provide search functions while ensuring data privacy, the risk of user key leakage has not been fully taken into account in these schemes. In actual operation, due to inadequate security measures or lack of security awareness among users, the risk of key leakage is extremely high. Once the key is leaked, all security protection measures will become ineffective and the encryption retrieval system will face the threat of collapse. What's more serious is that users often find it difficult to realize the leakage of keys, which makes the threat brought by key exposure likely to persist for a long time, resulting in serious and irreparable losses. Therefore, it is particularly important and urgent to actively prevent user key leakage and design a multi-user searchable encryption method with anti-key leakage characteristics suitable for cloud-edge collaboration environments. Summary of the invention
[0007] The purpose of the present invention is to provide a multi-user searchable encryption method that is resistant to key leakage in a cloud-edge collaborative environment to solve the problems raised in the above-mentioned background technology.
[0008] To achieve the above object, the present invention provides the following technical solutions:
[0009] A multi-user searchable encryption method resistant to key leakage in a cloud-edge collaborative environment, the specific steps comprising:
[0010] S1. The trusted authority initializes the system and generates the system's key, two p-order multiplication cyclic groups, generators, bilinear mappings, and one-way and collision-resistant hash functions. The data owner provides authorization to users who need to search and generates corresponding search keys and auxiliary search keys.
[0011] S2. The data owner encrypts the data and its keywords, and outsources the encrypted ciphertext to the auxiliary server and cloud server for storage and management. After receiving the ciphertext, the cloud server stores it and sends the storage address to the edge server;
[0012] S3. The edge server constructs an index ciphertext binary search tree based on the index ciphertext for searching encrypted data. Each node of the binary search tree contains a key code, a first ciphertext, a second ciphertext, a proxy conversion key, and a storage address. The characteristic of the binary search tree is that all node keys in the left subtree of any node are smaller than the key code of this node, and all node keys in the right subtree are larger than the key code of this node. The cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key, and storage address sent by each edge server to construct a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees distributed on each edge server to achieve global data retrieval. The user encrypts the keyword, generates a search request, and sends it to the edge server to initiate a retrieval request.
[0013] S4. The edge server performs matching calculations between the search information and the index ciphertext according to the search request submitted by the user. Once the index ciphertext of the required data is found, the edge server will quickly forward the storage address of the data ciphertext to the cloud server. If the required information cannot be found, the edge server will forward the search request to the cloud server and request the cloud server to perform a global search.
[0014] S5. After receiving the data ciphertext storage address or global search request forwarded by the edge server, the cloud server will take corresponding actions. If it is a data ciphertext storage address, the cloud server will locate and obtain the data ciphertext according to the address, and then cooperate with the edge server to return the search results to the user; if it is a global search request, the cloud server uses its global search structure to locate an edge server according to the retrieval request and initiates a search request to it, and its edge server then performs the operation of step S4;
[0015] S6. After receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recover the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext to obtain the searched data content;
[0016] S7. At the beginning of a time period, the data owner requests the auxiliary server to update the key. After receiving the request, the auxiliary server calculates the auxiliary key for the time period and transmits it to the data owner. After receiving the auxiliary key, the data owner uses the auxiliary key to calculate the key for the time period and generates a new auxiliary search key and index ciphertext. The new auxiliary search key and index ciphertext are then sent to the edge server to update the original auxiliary search key and index ciphertext.
[0017] S8. When the data owner decides to revoke the query authority of one or more users, the authority information of the user is deleted from the authorized user set, and the data owner sends a revocation instruction to the edge server, instructing the edge server to delete the auxiliary search key corresponding to the user in the authorization auxiliary table.
[0018] Furthermore, the trusted authority initializes the system and generates the system's key, two p-order multiplicative cyclic groups, generators, bilinear mappings, and one-way and collision-resistant hash functions as follows:
[0019] Two p-order multiplicative cyclic groups are G1 and G2, with a generator g, which is a generator of the multiplicative group G1, a bilinear map e, e:G1×G1→G2, and one-way and collision-resistant hash functions H1 and H2, where H1(·):{0,1} * →G1, H2(·):{0,1} * →G1, pseudo-random functions F1 and F2, F1: {0,1} * ×{0,1} * →{0,1} * ,F2:{0,1} * ×{0,1} * →{0,1} * ;
[0020] The trusted authority selects a single random number k to generate the key k of the system D , represents the set of integers from 1 to p-1, where p is a prime number, k D =F2(ID D ||t0) k , select the second random number k2 and the third random number k3 as the password, And through the secure channel (k3,k D,k2) to the data owner, and (ID D ,k,k2) to the auxiliary server, and the third random number k3 to the cloud server, ID D Identifier of the data owner;
[0021] The data owner's key k D It is generated by pseudo-random function F2 through the input data owner's identity ID D And timestamp t0 is generated, and after single random number k processing, the generated key k D It is valid in the t0 time period. In the next time period, the system will regenerate a new key with a new timestamp.
[0022] The trusted authority publishes the public parameters pp, pp = (G1, G2, p, e, F1, F2, H1, H2);
[0023] The data owner receives (k3,k D ,k2), select the first random number k1, Calculate the private key and the public key The formula is as follows:
[0024]
[0025]
[0026] The data owner keeps the key Remember the password (k3, k2), but do not store (k3, k2) locally;
[0027] The secondary server receives (ID D ,k,k2), and then store this set of information (ID D ,k,k2);
[0028] After receiving k3, the cloud server stores this set of information (ID D ,k3);
[0029] The process by which the data owner provides authorization to the user who needs to search and generates the corresponding search key and auxiliary search key is as follows:
[0030] The data owner generates a proxy re-encryption key pair {psk, ppk} and publishes ppk, where psk is the private proxy re-encryption key and ppk is the public proxy re-encryption key;
[0031] The data owner selects a double random number γ i , Calculate the authorized user's search key sk iand auxiliary search key δ i , based on the following formula:
[0032]
[0033]
[0034] The value range of i is 1 to n, which represents each authorized user in the set U. i Represents the collection of all authorized users, ID i It is the identity of the authorized user;
[0035] The data owner sends the search key sk through a secure channel. i Sent to authorized user U i , the auxiliary search key (ID i ,δ i ) to the edge server, and the edge server sends (ID i ,δ i ) is stored in the authorization auxiliary table.
[0036] Furthermore, the data owner encrypts the data and its keywords, and outsources the encrypted ciphertext to the auxiliary server and cloud server for storage and management. After receiving the data ciphertext, the cloud server stores it and sends the storage address to the edge server. The process is as follows:
[0037] Assume that there is a data information M, M has multiple keywords w1, w2, ..., w j ,...,w z , where w j is the jth keyword, z is the number of keywords;
[0038] The data owner chooses D random number ξ D As a symmetric key, Use the AES algorithm to encrypt the data information M, that is, c jM =E AES (ξ D , M), c jM is the encrypted ciphertext, E AES It is a symmetric encryption algorithm used to encrypt plain text;
[0039] The data owner uses the private proxy re-encryption key psk and the proxy re-encryption algorithm to D Encryption, i.e. c jp =E proxy (psk,ξ D ), and calculate the proxy transformation key ρ D->j , c jp is the ciphertext after proxy re-encryption, Eproxy Re-encryption algorithm for the proxy;
[0040] The data owner chooses V random number α v Calculate the first ciphertext c v1 and the second ciphertext c v2 , and the signed hash value The formula is as follows:
[0041]
[0042]
[0043] σ v =H2(c v2 )
[0044] Among them, w v is the identifier, which is the input of the hash function, H1(w v ) is to convert w v Transform into an element in group G1, v = 0, 1, 2, ..., b, b is the number of random numbers in V;
[0045] The data owner will encrypt the ciphertext c jM 、The ciphertext c after proxy re-encryption jp , proxy conversion key ρ D->j 、First ciphertext c v1 、Second ciphertext c v2 And the signed hash value σ v Send to edge server;
[0046] The edge server will encrypt the ciphertext c jM and the ciphertext c after proxy re-encryption jp forwarded to the cloud server, which stores it after receiving it and sets the storage address β ε Send to edge server,β ε is the εth encrypted ciphertext c jM and the ciphertext c after proxy re-encryption jp storage address, 1≤ε≤χ, χ is the number of storage addresses.
[0047] Furthermore, the edge server constructs a binary search tree of indexed ciphertexts for searching encrypted data. Each node of the binary search tree contains a key code, a first ciphertext, a second ciphertext, a proxy conversion key, and a storage address. The characteristic of the binary search tree is that the key codes of all nodes in the left subtree of any node are smaller than the key code of this node, and the key codes of all nodes in the right subtree are larger than the key code of this node. The process is as follows:
[0048] Each node of the binary search tree contains a key φη 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , η is the number of key codes, the value range of η is 1 to Γ, the edge server E f Receive the key code, the first ciphertext, the second ciphertext, the proxy conversion key and the storage address, where E f Represents the fth edge server and inserts the new data information into the binary search tree according to the following steps:
[0049] The edge server determines whether the root node of the binary search tree is empty. If the root node is empty, it directly sends the data information, such as the key code φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε Insert as a new root node; if the root node is not empty, execute the next step;
[0050] The edge server will insert the key code φ of the data information to be inserted η Compare with the key code φ0 of the current root node. If φ η is less than φ0, then turn to the left subtree to continue searching; if φ η If it is greater than φ0, turn to the right subtree and continue searching;
[0051] Move recursively along the tree, each time changing φ η Compare with the key code of the current node, and continue this process until an empty position is found, that is, an empty sublink position of a leaf node is found, which is used to insert the key code φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , and use it as a new node;
[0052] The edge server sends the key code φ η Integrate into function S μ (X), that is, update S μ (X) is S μ (X)(X-φ η ),in, Among them, X represents an independent variable, T θ is the set of all key codes stored in the edge server, and N is the set T θ elements, σ N is a specific value associated with the element N, called a root or zero;
[0053] The edge server will Sent to the cloud server, where is a link to the edge server E f The address of the stored index ciphertext binary search tree, μ is the polynomial function S μ (X) index, μ ranges from 1 to is the function S μ (X) is the number of items.
[0054] Furthermore, the cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key and storage address sent by each edge server to build a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees distributed on each edge server. The process of realizing global data retrieval is as follows:
[0055] The cloud server uses the information sent by the edge server Construct a global search structure ES, which consists of a series of tuple items, each of which contains a key item (E f , S μ (X)) and pointer items Composition, that is
[0056]
[0057] The user encrypts the search keyword, generates a search request, and sends it to the edge server. The process of initiating a retrieval request is as follows:
[0058] Authorized user U i Choose a τ random number to calculate the third ciphertext q k1 and the fourth ciphertext q k2 , The formula is as follows:
[0059]
[0060]
[0061] (ID i ,q k1 ,q k2 ) is sent to the edge server to request search service.
[0062] Furthermore, the specific process of step S4 is as follows:
[0063] The edge server finds the corresponding authorization key δ from the authorization auxiliary table Φ , calculate the transformed q vand The formula is as follows:
[0064]
[0065]
[0066]
[0067] Among them, sk i is the search key of the i-th user, is the third ciphertext after transformation, q v It is an intermediate value obtained by calculating the quotient of the bilinear pairing, which is used for authentication, verification, encryption and decryption. is the hash value before signing;
[0068] Will Bring in Right now if is equal to zero, which means that the edge server E f Store the index ciphertext of the required query data. In this case, the edge server will execute the next step, and the index ciphertext binary search tree will continue to search the data until the index ciphertext of the required data is located. If is not equal to zero, which means that the edge server E f does not contain the data required for the query. At this time, the edge server will forward the query request to the cloud server, and the cloud server will execute step S5 to continue processing the search request;
[0069] Edge Server E f In testing When it is equal to zero, it confirms that it has stored the index ciphertext of the data required for the query, and then the query information Compare with the root node key φ0, if is less than φ0, then turn to the left subtree to continue searching; if If it is greater than φ0, turn to the right subtree and continue searching;
[0070] Move recursively along the tree, each time Compare with the key code φ0 of the current root node, and continue this process until the
[0071] Once found The edge server will extract the node information corresponding to the key code from the corresponding node (σ v , c v1 , c v2 , ρ D->j ,β ε ) and verify Is it true? If the verification is successful, the edge server sends the address of the data storage to the cloud server.
[0072] Furthermore, the specific process of step S5 is as follows:
[0073] If the address received is the data ciphertext storage address, the cloud server locates and obtains the data ciphertext according to the address and forwards it to the edge server;
[0074] If a global search request is accepted, the cloud server will search the structure from the global search, i.e. Take out the functions S1(X),S2(X),...,S one by one μ (X), and detect each Is it zero? If a is zero, 1≤Λ≤μ, which means that the edge server E f Contains the data required for the query, so the cloud server will query Forwarded to edge server E f , so as to continue searching in the data managed by the edge server;
[0075] If all The calculation results of are not zero, which means that no data that satisfies the user's query can be found in all the stored data managed by the cloud server;
[0076] Receive the ciphertext data sent by the cloud server (c jM ,c jp ) then the edge server uses ρ D->j C jp Perform proxy encryption conversion to generate converted ciphertext And the information Send to user U i .
[0077] Furthermore, after receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recover the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext. The process of obtaining the searched data content is as follows:
[0078] UserU i Receive information Then, use the proxy re-encryption algorithm to Decrypt and obtain the symmetric key ξ D ;
[0079] The user then uses the symmetric key ξ D For ciphertext c jM =E AES (ξ D , M) to decrypt and obtain the searched data content.
[0080] Furthermore, the specific process of step S7 is as follows:
[0081] For time period t D , the data owner selects a special random number r, And calculate the first intermediate value Q and the second intermediate value Y according to the following formula:
[0082] Q=F2(ID D ||t D -1) -r F2(ID D ||t D ) r
[0083]
[0084] Send the second intermediate value Y to the auxiliary server, is an XOR operation, which compares the bits one by one. If the two bits are the same, the result is 0, and if they are different, the result is 1. || is a connection operator, which means that k2 and t D Concatenate them and input them into the hash function H1 as a whole;
[0085] After receiving it, the auxiliary server calculates the auxiliary key B according to the following formula:
[0086]
[0087] A=Q k =F2(ID D ||t D -1) -rk F2(ID D ||t D ) rk
[0088]
[0089] Send auxiliary key B to the data owner;
[0090] After receiving the auxiliary key B, the data owner uses the auxiliary key B to calculate the time period t D The key is based on the following formula:
[0091]
[0092]
[0093]
[0094] Among them, A is the new auxiliary key, t D The private key for the time period, t D The public key of the time period;
[0095] The data owner discards t D -1 time period private key Secure storage D Private key for the time period
[0096] The data owner calculates the update information according to the following formula:
[0097]
[0098]
[0099]
[0100]
[0101] in, is a ratio, used to express the relationship between two time points t0 and t D Auxiliary search key δ i The relative change of t0 is a specific time point, indicating the initial time, t D is another time point, indicating a time point compared with t0, L is a new first encrypted value, C is a new second encrypted value, is the new first ciphertext;
[0102] (L,t D )、(C,t D ) is sent to the edge server;
[0103] The edge server receives the updated (L,t D ), update the auxiliary search key with Replace(ID i ,δ i ) i , based on the following formula:
[0104]
[0105]
[0106] Search key for new secondary;
[0107] The edge server receives the updated (C,t D ), update the ciphertext index and use Replace c v1 , based on the following formula:
[0108]
[0109]
[0110] in, The new ciphertext index.
[0111] Furthermore, the specific process of step S8 is as follows:
[0112] The data owner decides to revoke the user U i The data owner removes user U from the authorized user set. i ;
[0113] The data owner sends a revocation request to the edge server. i The edge server deletes the auxiliary search key (ID i ,δ i ).
[0114] Compared with the prior art, the present invention has the following beneficial effects:
[0115] (1) In the present invention, the data owner periodically updates the key of each time period with the help of an auxiliary server, thereby achieving the anti-key exposure feature, which means that even if the data user's key is exposed in the current time period, it will not affect the key security of the previous or subsequent time periods, thereby enhancing the security of the entire system.
[0116] (2) The present invention proposes an innovative global search structure. Using this structure, the cloud server can quickly locate and specify the most suitable edge server to handle the search task, thereby eliminating the step of checking all edge servers one by one. In an environment with multiple edge servers, this optimization significantly improves the efficiency of encrypted data search.
[0117] (3) The present invention supports multiple users to search encrypted data and has the ability to revoke user search permissions, which is particularly critical in multi-user scenarios such as the Internet of Things. It can significantly reduce the risk of unauthorized access and data abuse, thereby enhancing data security and user privacy protection.
[0118] (4) The present invention uses a cloud-edge collaboration mechanism to perform encrypted data search, migrating computing tasks from the cloud to the edge of the network, closer to the data source and users. This mechanism enables indexed ciphertext to be processed directly on the edge server, thereby effectively reducing the risk of data leakage and further enhancing user privacy and data security. In addition, the cloud-edge collaboration mechanism also significantly reduces the delay of data transmission and improves the response speed of real-time applications, thereby optimizing the overall user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0119] Figure 1 It is a schematic diagram of the process of the present invention;
[0120] Figure 2 It is the application system design diagram of the present invention. DETAILED DESCRIPTION
[0121] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with specific embodiments.
[0122] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the present invention should be understood by people with ordinary skills in the field to which the present invention belongs. The words "first", "second" and similar words used in the present invention do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0123] Example:
[0124] See also Figure 1 , the present invention provides a technical solution:
[0125] A multi-user searchable encryption method resistant to key leakage in a cloud-edge collaborative environment, the specific steps comprising:
[0126] S1. The trusted authority initializes the system and generates the system's key, two p-order multiplication cyclic groups, generators, bilinear mappings, and one-way and collision-resistant hash functions. The data owner provides authorization to users who need to search and generates corresponding search keys and auxiliary search keys.
[0127] S2. The data owner encrypts the data and its keywords, and outsources the encrypted ciphertext to the auxiliary server and cloud server for storage and management. After receiving the ciphertext, the cloud server stores it and sends the storage address to the edge server;
[0128] S3. The edge server constructs an index ciphertext binary search tree based on the index ciphertext for searching encrypted data. Each node of the binary search tree contains a key code, a first ciphertext, a second ciphertext, a proxy conversion key, and a storage address. The characteristic of the binary search tree is that all node keys in the left subtree of any node are smaller than the key code of this node, and all node keys in the right subtree are larger than the key code of this node. The cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key, and storage address sent by each edge server to construct a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees distributed on each edge server to achieve global data retrieval. The user encrypts the keyword, generates a search request, and sends it to the edge server to initiate a retrieval request.
[0129] S4. The edge server performs matching calculations between the search information and the index ciphertext according to the search request submitted by the user. Once the index ciphertext of the required data is found, the edge server will quickly forward the storage address of the data ciphertext to the cloud server. If the required information cannot be found, the edge server will forward the search request to the cloud server and request the cloud server to perform a global search.
[0130] S5. After receiving the data ciphertext storage address or global search request forwarded by the edge server, the cloud server will take corresponding actions. If it is a data ciphertext storage address, the cloud server will locate and obtain the data ciphertext according to the address, and then cooperate with the edge server to return the search results to the user; if it is a global search request, the cloud server uses its global search structure to locate an edge server according to the retrieval request and initiates a search request to it, and its edge server then performs the operation of step S4;
[0131] S6. After receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recover the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext to obtain the searched data content;
[0132] S7. At the beginning of a time period, the data owner requests the auxiliary server to update the key. After receiving the request, the auxiliary server calculates the auxiliary key for the time period and transmits it to the data owner. After receiving the auxiliary key, the data owner uses the auxiliary key to calculate the key for the time period and generates a new auxiliary search key and index ciphertext. The new auxiliary search key and index ciphertext are then sent to the edge server to update the original auxiliary search key and index ciphertext.
[0133] S8. When the data owner decides to revoke the query authority of one or more users, the authority information of the user is deleted from the authorized user set, and the data owner sends a revocation instruction to the edge server, instructing the edge server to delete the auxiliary search key corresponding to the user in the authorization auxiliary table.
[0134] Based on the above embodiment, the trusted authority initializes the system and generates the system's key, two p-order multiplication cyclic groups, generators, bilinear mappings, and one-way and collision-resistant hash functions as follows:
[0135] S1-1. Two p-order multiplicative cyclic groups are G1 and G2, with a generator g, which is a generator of the multiplicative group G1, a bilinear map e, e:G1×G1→G2, and one-way and collision-resistant hash functions H1 and H2, where H1(·):{0,1} * →G1, H2(·):{0,1} * →G1, pseudo-random functions F1 and F2, F1: {0,1} * ×{0,1} * →{0,1} * ,F2:{0,1} * ×{0,1} * →{0,1} * ;
[0136] S1-2. The trusted authority selects a single random number k to generate the key k of the system D , represents the set of integers from 1 to p-1, where p is a prime number, k D =F2(ID D ||t0) k , select the second random number k2 and the third random number k3 as the password, And through the secure channel (k3,k D ,k2) to the data owner, and (ID D ,k,k2) to the auxiliary server, and the third random number k3 to the cloud server, ID D Identifier of the data owner;
[0137] The data owner's key k D It is generated by pseudo-random function F2 through the input data owner's identity ID D And timestamp t0 is generated, and after single random number k processing, the generated key k D It is valid in the t0 time period. In the next time period, the system will regenerate a new key with a new timestamp.
[0138] S1-3. The trusted authority publishes the public parameters pp, pp = (G1, G2, p, e, F1, F2, H1, H2);
[0139] S1-4. The data owner receives (k3, k D ,k2), select the first random number k1, Calculate the private key and the public key The formula is as follows:
[0140]
[0141]
[0142] The data owner keeps the key Remember the password (k3, k2), but do not store (k3, k2) locally;
[0143] S1-5. The auxiliary server receives (ID D ,k,k2), and then store this set of information (ID D ,k,k2);
[0144] S1-6. After receiving k3, the cloud server securely stores this set of information (ID D ,k3);
[0145] Based on the above embodiment, the data owner provides authorization to the user who needs to search, and generates the corresponding search key and auxiliary search key in the following process:
[0146] S1-7. The data owner generates a proxy re-encryption key pair {psk, ppk} and publishes ppk, where psk is the private proxy re-encryption key and ppk is the public proxy re-encryption key;
[0147] S1-8. Data owner selects double random number γ i , Calculate the authorized user's search key sk i and auxiliary search key δ i , based on the following formula:
[0148]
[0149]
[0150] The value range of i is 1 to n, which represents each authorized user in the set U. i Represents the collection of all authorized users, ID i It is the identity of the authorized user;
[0151] S1-9. The data owner sends the search key sk through a secure channel i Sent to authorized user U i , the auxiliary search key (ID i ,δ i ) to the edge server;
[0152] S1-10. The edge server will (ID i ,δ i ) is stored in the authorization auxiliary table.
[0153] Based on the above embodiment, the data owner encrypts the data and its keywords, and outsources the encrypted ciphertext to the edge server and cloud server for storage and management. After receiving the data ciphertext, the cloud server stores it and sends the storage address to the edge server. The process is as follows:
[0154] Assume that there is a data information M, M has multiple keywords w1, w2, ..., w j ,...,w z , where w j is the jth keyword, z is the number of keywords;
[0155] S2-1. The data owner selects a random number D D As a symmetric key, Use the AES algorithm to encrypt the data information M, that is, c jM =E AES (ξ D , M), c jM is the encrypted ciphertext, E AES It is a symmetric encryption algorithm used to encrypt plain text;
[0156] S2-2. The data owner uses the private proxy re-encryption key psk and the proxy re-encryption algorithm to D Encryption, i.e. c jp =E proxy (psk,ξ D ), and calculate the proxy transformation key ρ D->j , c jp is the ciphertext after proxy re-encryption, E proxy Re-encryption algorithm for the proxy;
[0157] S2-3. The data owner selects V random number α v Calculate the first ciphertext c v1 and the second ciphertext c v2 , and the signed hash value σ v , The formula is as follows:
[0158]
[0159]
[0160] σ v =H2(c v2 )
[0161] Among them, w v is the identifier, which is the input of the hash function, H1(w v ) is to convert w v Transform into an element in group G1, v = 0, 1, 2, ..., b, b is the number of random numbers in V;
[0162] S2-4. The data owner will encrypt the ciphertext c jM 、The ciphertext c after proxy re-encryption jp , proxy conversion key ρ D->j 、First ciphertext c v1 、Second ciphertext c v2 And the signed hash value σ v Send to edge server;
[0163] S2-5. The edge server sends the encrypted ciphertext c jM and the ciphertext c after proxy re-encryption jp forwarded to the cloud server, which stores it after receiving it and sets the storage address β ε Send to edge server,β ε is the εth encrypted ciphertext c jM and the ciphertext c after proxy re-encryption jp storage address, 1≤ε≤χ, χ is the number of storage addresses.
[0164] On the basis of the above embodiment, the edge server constructs a binary search tree of index ciphertext for searching encrypted data. Each node of the binary search tree contains a key code, a first ciphertext, a second ciphertext, a proxy conversion key and a storage address. The characteristic of the binary search tree is that all the node keys in the left subtree of any node are smaller than the key code of this node, and all the node keys in the right subtree are larger than the key code of this node. The process is as follows:
[0165] Each node of the binary search tree contains a key φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , η is the number of key codes, the value range of η is 1 to Γ, the edge server E fReceive the key code, the first ciphertext, the second ciphertext, the proxy conversion key and the storage address, where E f Represents the fth edge server and inserts the new data information into the binary search tree according to the following steps:
[0166] S3-1. The edge server determines whether the root node of the binary search tree is empty. If the root node is empty, the data information, such as the key code φ, is directly sent to the edge server. η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε Insert as a new root node; if the root node is not empty, execute the next step;
[0167] S3-2. The edge server inserts the key code φ of the data information to be inserted η Compare with the key code φ0 of the current root node. If φ η is less than φ0, then turn to the left subtree to continue searching; if φ η If it is greater than φ0, turn to the right subtree and continue searching;
[0168] S3-3. Move recursively along the tree, each time changing φ η Compare with the key code of the current node, and continue this process until an empty position is found, that is, an empty sublink position of a leaf node is found, which is used to insert the key code φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , and use it as a new node;
[0169] S3-4. The edge server sends the key code φ η Integrate into function S μ (X), that is, update S μ (X) is S μ (X)(X-φ η ),in, Among them, X represents an independent variable, T θ is the set of all key codes stored in the edge server, and N is the set T θ elements, σ N is a specific value associated with the element N, called a root or zero;
[0170] S3-5. The edge server will Sent to the cloud server, where is a link to the edge server E fThe address of the stored index ciphertext binary search tree, μ is the polynomial function S μ (X) index, μ ranges from 1 to is the function S μ (X) is the number of items.
[0171] On the basis of the above embodiment, the cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key and storage address sent by each edge server to build a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees distributed on each edge server. The process of realizing global data retrieval is as follows:
[0172] S3-6. The cloud server uses the information sent by the edge server Construct a global search structure ES, which consists of a series of tuple items, each of which contains a key item (E f , S μ (X)) and pointer items Composition, that is
[0173]
[0174] S3-7. The user encrypts the search keyword, generates a search request, and sends it to the edge server. The process of initiating a retrieval request is as follows:
[0175] Authorized user U i Choose a τ random number to calculate the third ciphertext q k1 and the fourth ciphertext q k2 , The formula is as follows:
[0176]
[0177]
[0178] (ID i ,q k1 ,q k2 ) is sent to the edge server to request search service.
[0179] Based on the above embodiment, the specific process of step S4 is as follows:
[0180] S4-1. The edge server finds the corresponding authorization key δ from the authorization auxiliary table Φ , calculate the transformed q v and The formula is as follows:
[0181]
[0182]
[0183]
[0184] Among them, sk i is the search key of the i-th user, is the third ciphertext after transformation, q v It is an intermediate value obtained by calculating the quotient of the bilinear pairing, which is used for authentication, verification, encryption and decryption. is the hash value before signing;
[0185] S4-2. Bring in Right now if is equal to zero, which means that the edge server E f Store the index ciphertext of the required query data. In this case, the edge server will execute the next step, and the index ciphertext binary search tree will continue to search the data until the index ciphertext of the required data is located. If is not equal to zero, which means that the edge server E f does not contain the data required for the query. At this time, the edge server will forward the query request to the cloud server, and the cloud server will execute step S5 to continue processing the search request;
[0186] S4-3. Edge Server E f In testing When it is equal to zero, it confirms that it has stored the index ciphertext of the data required for the query, and then the query information Compare with the root node key φ0, if is less than φ0, then turn to the left subtree to continue searching; if If it is greater than φ0, turn to the right subtree and continue searching;
[0187] S4-4. Move recursively along the tree, each time Compare with the key code φ0 of the current root node, and continue this process until the
[0188] S4-5. Once found The edge server will extract the node information corresponding to the key code from the corresponding node (σ v , c v1 , c v2 , ρ D->j ,β ε ) and verify Is it true? If the verification is successful, the edge server sends the address of the data storage to the cloud server.
[0189] Based on the above embodiment, the specific process of step S5 is as follows:
[0190] S5-1. If the data ciphertext storage address is received, the cloud server locates and obtains the data ciphertext according to the address, and forwards it to the edge server, and then executes step S5-4;
[0191] S5-2. If the global search request is accepted, the cloud server will search the structure from the global search, i.e. Take out the functions S1(X),S2(X),...,S one by one μ (X), and detect each Is it zero? If a is zero, 1≤Λ≤μ, which means that the edge server E f Contains the data required for the query, so the cloud server will query Forwarded to edge server E f , so as to continue searching in the data managed by the edge server;
[0192] S5-3. If all The calculation results of are not zero, which means that no data that satisfies the user's query can be found in all the stored data managed by the cloud server;
[0193] S5-4. Receive the ciphertext data sent by the cloud server (c jM ,c jp ) then the edge server uses ρ D->j C jp Perform proxy encryption conversion to generate converted ciphertext And the information Send to user U i .
[0194] On the basis of the above embodiment, after receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recovers the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext. The process of obtaining the searched data content is as follows:
[0195] S6-1. User U i Receive information Then, use the proxy re-encryption algorithm to Decrypt and obtain the symmetric key ξ D ;
[0196] S6-2. The user then uses the symmetric key ξ D For ciphertext c jM =EAES (ξ D , M) to decrypt and obtain the searched data content.
[0197] Based on the above embodiment, the specific process of step S7 is as follows:
[0198] S7-1. For time period t D , the data owner selects a special random number r, And calculate the first intermediate value Q and the second intermediate value Y according to the following formula:
[0199] Q=F2(ID D ||t D -1) -r F2(ID D ||t D ) r
[0200]
[0201] Send the second intermediate value Y to the auxiliary server, is an XOR operation, which compares the bits one by one. If the two bits are the same, the result is 0, and if they are different, the result is 1. || is a connection operator, which means that k2 and t D Concatenate them and input them into the hash function H1 as a whole;
[0202] S7-2. After receiving the auxiliary server, it calculates the auxiliary key B according to the following formula:
[0203]
[0204] A=Q k =F2(ID D ||t D -1) -rk F2(ID D ||t D ) rk
[0205]
[0206] Send auxiliary key B to the data owner;
[0207] S7-3. After the data owner receives the auxiliary key B, he uses the auxiliary key B to calculate the time period t D The key is based on the following formula:
[0208]
[0209]
[0210]
[0211] Among them, A is the new auxiliary key, t D The private key for the time period, t D The public key of the time period;
[0212] S7-4. Data owner discards t D -1 time period private key Secure storage D Private key for the time period
[0213] S7-5. The data owner calculates the update information according to the following formula:
[0214]
[0215]
[0216]
[0217]
[0218] in, is a ratio, used to express the relationship between two time points t0 and t D Auxiliary search key δ i The relative change of t0 is a specific time point, indicating the initial time, t D is another time point, indicating a time point compared with t0, L is a new first encrypted value, C is a new second encrypted value, is the new first ciphertext;
[0219] (L,t D )、(C,t D ) is sent to the edge server;
[0220] S7-6. The edge server receives the updated (L,t D ), update the auxiliary search key with Replace(ID i ,δ i ) i , based on the following formula:
[0221]
[0222]
[0223] Search key for new secondary;
[0224] S7-7. The edge server receives the updated (C,t D ), update the ciphertext index and use Replace c v1 , based on the following formula:
[0225]
[0226]
[0227] in, The new ciphertext index.
[0228] Based on the above embodiment, the specific process of step S8 is as follows:
[0229] S8-1. The data owner decides to revoke the user U i The data owner removes user U from the authorized user set. i ;
[0230] S8-2. The data owner sends a request to the edge server to revoke the user U i The edge server deletes the auxiliary search key (ID i ,δ i ).
[0231] In the cloud-edge collaborative environment, a specific example of implementing a multi-user searchable encryption method that resists key leakage is as follows: Figure 2 As shown, the graph contains six entities, each of which performs the following operations:
[0232] Trusted authority: is fully trusted, is responsible for performing the system initialization process, and does not need to be continuously online to operate.
[0233] Cloud server: responsible for storing user encrypted data and coordinating data queries of multiple edge servers in the entire system. Once the data is retrieved, it will collaborate with the edge server to return the data securely to the data user. The cloud server uses the search function and other information sent by the edge server to build an efficient global search structure. When the required query data cannot be found in a certain edge server, the cloud server uses the global search structure to quickly locate the appropriate edge server and initiate a query request to it, thereby greatly improving the data query efficiency and reducing computing and communication costs.
[0234] Auxiliary server: At the beginning of each time period, it assists the data owner to update his private key to ensure that the system has the characteristics of resisting key exposure.
[0235] Edge server: Mainly responsible for storing local index ciphertext and responding to data users' query requests. The edge server can perform matching retrieval based on the user's query information and ciphertext index, and pass the matching information to the cloud server in a timely manner to ensure the efficiency of the query process and the timeliness of data transmission.
[0236] Data owner: The data owner encrypts the local data and outsources it to the edge server and cloud server, and provides authorization for users who need to query the data, that is, generates the corresponding query key and auxiliary query key, and distributes them to authorized users and edge servers for data query.
[0237] User: Each user belongs to an edge server. Once authorized, the user can make queries with the assistance of the edge server. Applicable devices include but are not limited to mobile phones, tablets, laptops or desktop computers.
[0238] The above formulas are all dimensionless and numerical calculations. The formula is a formula for the most recent real situation obtained by collecting a large amount of data and performing software simulation. The preset parameters in the formula are set by technicians in this field according to actual conditions.
[0239] The above embodiments may be implemented in whole or in part by software, hardware, firmware or any other combination thereof. When implemented by software, the above embodiments may be implemented in whole or in part in the form of a computer program product. Those skilled in the art may appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein may be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed by hardware or software methods depends on the specific application and design constraints of the technical solution.
[0240] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, and may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0241] The above description is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.
Claims
1. A multi-user searchable encryption method that resists key leakage in a cloud-edge collaborative environment, characterized in that: The specific steps include: S1. The trusted authority initializes the system and generates the system's key, two p-order multiplication cyclic groups, generators, bilinear mappings, and one-way and collision-resistant hash functions. The data owner provides authorization to users who need to search and generates corresponding search keys and auxiliary search keys. S2. The data owner encrypts the data and its keywords, and outsources the encrypted ciphertext to the auxiliary server and cloud server for storage and management. After receiving the ciphertext, the cloud server stores it and sends the storage address to the edge server; S3. The edge server constructs an index ciphertext binary search tree based on the index ciphertext for searching encrypted data. Each node of the binary search tree contains a key code, a first ciphertext, a second ciphertext, a proxy conversion key, and a storage address. The characteristic of the binary search tree is that all node keys in the left subtree of any node are smaller than the key code of this node, and all node keys in the right subtree are larger than the key code of this node. The cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key, and storage address sent by each edge server to construct a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees distributed on each edge server to achieve global data retrieval. The user encrypts the keyword, generates a search request, and sends it to the edge server to initiate a retrieval request. S4. The edge server performs matching calculations between the search information and the index ciphertext according to the search request submitted by the user. Once the index ciphertext of the required data is found, the edge server will quickly forward the storage address of the data ciphertext to the cloud server. If the required information cannot be found, the edge server will forward the search request to the cloud server and request the cloud server to perform a global search. S5. After receiving the data ciphertext storage address or global search request forwarded by the edge server, the cloud server will take corresponding actions. If it is a data ciphertext storage address, the cloud server will locate and obtain the data ciphertext according to the address, and then cooperate with the edge server to return the search results to the user; if it is a global search request, the cloud server uses its global search structure to locate an edge server according to the retrieval request and initiates a search request to it, and its edge server then performs the operation of step S4; S6. After receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recover the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext to obtain the searched data content; S7. At the beginning of a time period, the data owner requests the auxiliary server to update the key. After receiving the request, the auxiliary server calculates the auxiliary key for the time period and transmits it to the data owner. After receiving the auxiliary key, the data owner uses the auxiliary key to calculate the key for the time period and generates a new auxiliary search key and index ciphertext. The new auxiliary search key and index ciphertext are then sent to the edge server to update the original auxiliary search key and index ciphertext. S8. When the data owner decides to revoke the query authority of one or more users, the authority information of the user is deleted from the authorized user set, and the data owner sends a revocation instruction to the edge server, instructing the edge server to delete the auxiliary search key corresponding to the user in the authorization auxiliary table.
2. According to claim 1, the multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment is characterized by: The trusted authority initializes the system and generates the system's key, two p-order multiplicative cyclic groups, generators, bilinear maps, and one-way and collision-resistant hash functions as follows: Two p-order multiplicative cyclic groups are G1 and G2, with a generator g, which is a generator of the multiplicative group G1, a bilinear map e, e:G1×G1→G2, and one-way and collision-resistant hash functions H1 and H2, where H1(·):{0,1} * →G1, H2(·):{0,1} * →G1, pseudo-random functions F1 and F2, F1: {0,1} * ×{0,1} * →{0,1} * ,F2:{0,1} * ×{0,1} * →{0,1} * ; The trusted authority selects a single random number k to generate the key k of the system D , represents the set of integers from 1 to p-1, where p is a prime number, k D =F2(ID D ||t0) k , select the second random number k2 and the third random number k3 as the password, And through the secure channel (k3,k D ,k2) to the data owner, and (ID D ,k,k2) to the auxiliary server, and the third random number k3 to the cloud server, ID D Identifier of the data owner; The data owner's key k D It is generated by pseudo-random function F2 through the input data owner's identity ID D And timestamp t0 is generated, and after single random number k processing, the generated key k D It is valid in the t0 time period. In the next time period, the system will regenerate a new key with a new timestamp. The trusted authority publishes the public parameters pp, pp = (G1, G2, p, e, F1, F2, H1, H2); The data owner receives (k3,k D ,k2), select the first random number Calculate the private key and the public key The formula is as follows: The data owner keeps the key Remember the password (k3, k2), but do not store (k3, k2) locally; The secondary server receives (ID D ,k,k2), and then store this set of information (ID D ,k,k2); After receiving k3, the cloud server stores this set of information (ID D ,k3); The process by which the data owner provides authorization to the user who needs to search and generates the corresponding search key and auxiliary search key is as follows: The data owner generates a proxy re-encryption key pair {psk, ppk} and publishes ppk, where psk is the private proxy re-encryption key and ppk is the public proxy re-encryption key; The data owner selects a double random number γ i , Calculate the authorized user's search key sk i and auxiliary search key δ i , based on the following formula: The value range of i is 1 to n, which represents each authorized user in the set U. i Represents the collection of all authorized users, ID i It is the identity of the authorized user; The data owner sends the search key sk through a secure channel. i Sent to authorized user U i , the auxiliary search key (ID i ,δ i ) to the edge server, and the edge server sends (ID i ,δ i ) is stored in the authorization auxiliary table.
3. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 2 is characterized in that: The data owner encrypts the data and its keywords and outsources the encrypted ciphertext to the auxiliary server and cloud server for storage and management. After receiving the data ciphertext, the cloud server stores it and sends the storage address to the edge server. The process is as follows: Assume that there is a data information M, M has multiple keywords w1, w2, ..., w j ,...,w z , where w j is the jth keyword, z is the number of keywords; The data owner chooses D random number ξ D As a symmetric key, Use the AES algorithm to encrypt the data information M, that is, c jM =E AES (ξ D , M), c jM is the encrypted ciphertext, E AES It is a symmetric encryption algorithm used to encrypt plain text; The data owner uses the private proxy re-encryption key psk and the proxy re-encryption algorithm to D Encryption, i.e. c jp =E proxy (psk,ξ D ), and calculate the proxy transformation key ρ D->j , c jp is the ciphertext after proxy re-encryption, E proxy Re-encryption algorithm for the proxy; The data owner chooses V random number α v Calculate the first ciphertext c v1 and the second ciphertext c v2 , and the signed hash value σ v , The formula is as follows: σ v =H2(c v2 ) Among them, w v is the identifier, which is the input of the hash function, H1(w v ) is to convert w v Transform into an element in group G1, v = 0, 1, 2, ..., b, b is the number of random numbers in V; The data owner will encrypt the ciphertext c jM 、The ciphertext c after proxy re-encryption jp , proxy conversion key ρ D->j 、First ciphertext c v1 、Second ciphertext c v2 And the signed hash value σ v Send to edge server; The edge server will encrypt the ciphertext c jM and the ciphertext c after proxy re-encryption jp forwarded to the cloud server, which stores it after receiving it and sets the storage address β ε Send to edge server,β ε is the εth encrypted ciphertext c jM and the ciphertext c after proxy re-encryption jp storage address, 1≤ε≤χ, χ is the number of storage addresses.
4. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 3 is characterized in that: The edge server constructs a binary search tree of indexed ciphertexts for searching encrypted data. Each node of the binary search tree contains a key code, the first ciphertext, the second ciphertext, the proxy conversion key, and the storage address. The characteristic of the binary search tree is that the key codes of all nodes in the left subtree of any node are smaller than the key code of this node, and the key codes of all nodes in the right subtree are larger than the key code of this node. The process is as follows: Each node of the binary search tree contains a key φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , η is the number of key codes, the value range of η is 1 to Γ, the edge server E f Receive the key code, the first ciphertext, the second ciphertext, the proxy conversion key and the storage address, where E f Represents the fth edge server and inserts the new data information into the binary search tree according to the following steps: The edge server determines whether the root node of the binary search tree is empty. If the root node is empty, it directly sends the data information, such as the key code φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε Insert as a new root node; if the root node is not empty, execute the next step; The edge server will insert the key code φ of the data information to be inserted η Compare with the key code φ0 of the current root node. If φ η is less than φ0, then turn to the left subtree to continue searching; if φ η If it is greater than φ0, turn to the right subtree and continue searching; Move recursively along the tree, each time changing φ η Compare with the key code of the current node, and continue this process until an empty position is found, that is, an empty sublink position of a leaf node is found, which is used to insert the key code φ η 、First ciphertext c v1 、Second ciphertext c v2 , proxy conversion key ρ D->j and storage address β ε , and use it as a new node; The edge server sends the key code φ η Integrate into function S μ (X), that is, update S μ (X) is S μ (X)(X-φ η ),in, Among them, X represents an independent variable, T θ is the set of all key codes stored in the edge server, and N is the set T θ elements, σ N is a specific value associated with the element N, called a root or zero; The edge server will Sent to the cloud server, where is a link to the edge server E f The address of the stored index ciphertext binary search tree, μ is the polynomial function S μ (X) index, μ ranges from 1 to For function S μ (X) is the number of items.
5. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 4 is characterized in that: The cloud server uses the search function, key code, first ciphertext, second ciphertext, proxy conversion key and storage address sent by each edge server to build a global search structure. The global search structure consists of a search function and multiple index ciphertext binary searches. The cloud server manages the index ciphertext binary search trees scattered on each edge server. The process of realizing global data retrieval is as follows: The cloud server uses the information sent by the edge server Construct a global search structure ES, which consists of a series of tuple items, each of which contains a key item (E f , S μ (X)) and pointer items Composition, that is The user encrypts the search keyword, generates a search request, and sends it to the edge server. The process of initiating a retrieval request is as follows: Authorized user U i Choose a τ random number to calculate the third ciphertext q k1 and the fourth ciphertext q k2 , The formula is as follows: (ID i ,q k1 ,q k2 ) is sent to the edge server to request search service.
6. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 5 is characterized in that: The specific process of step S4 is as follows: The edge server finds the corresponding authorization key δ from the authorization auxiliary table Φ , calculate the transformed q v and The formula is as follows: Among them, sk i is the search key of the i-th user, is the third ciphertext after transformation, q v It is an intermediate value obtained by calculating the quotient of the bilinear pairing, which is used for authentication, verification, encryption and decryption. is the hash value before signing; Will Bring in Right now if is equal to zero, which means that the edge server E f Store the index ciphertext of the required query data. In this case, the edge server will execute the next step, and the index ciphertext binary search tree will continue to search the data until the index ciphertext of the required data is located. If is not equal to zero, which means that the edge server E f does not contain the data required for the query. At this time, the edge server will forward the query request to the cloud server, and the cloud server will execute step S5 to continue processing the search request; Edge Server E f In testing When it is equal to zero, it confirms that it has stored the index ciphertext of the data required for the query, and then the query information Compare with the root node key φ0, if is less than φ0, then turn to the left subtree to continue searching; if If it is greater than φ0, turn to the right subtree and continue searching; Move recursively along the tree, each time Compare with the key code φ0 of the current root node, and continue this process until the Once found The edge server will extract the node information corresponding to the key code from the corresponding node (σ v , c v1 , c v2 , ρ D->j ,β ε ) and verify Is it true? If the verification is successful, the edge server sends the address of the data storage to the cloud server.
7. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 6 is characterized in that: The specific process of step S5 is as follows: If the address received is the data ciphertext storage address, the cloud server locates and obtains the data ciphertext according to the address and forwards it to the edge server; If a global search request is accepted, the cloud server will search the structure from the global search, i.e. Take out the functions S1(X),S2(X),...,S one by one μ (X), and detect each Is it zero? If a is zero, 1≤Λ≤μ, which means that the edge server E f Contains the data required for the query, so the cloud server will query Forwarded to edge server E f , so as to continue searching in the data managed by the edge server; If all The calculation results of are not zero, which means that no data that satisfies the user's query can be found in all the stored data managed by the cloud server; Receive the ciphertext data sent by the cloud server (c jM ,c jp ) then the edge server uses ρ D->j C jp Perform proxy encryption conversion to generate converted ciphertext And the information Send to user U i .
8. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 7 is characterized in that: After receiving the search results, the user uses the private key and the proxy re-decryption algorithm to decrypt the key ciphertext, recover the symmetric key, and uses the symmetric key and the AES decryption algorithm to decrypt the data ciphertext. The process of obtaining the searched data content is as follows: UserU i Receive information Then, use the proxy re-encryption algorithm to Decrypt and obtain the symmetric key ξ D ; The user then uses the symmetric key ξ D For ciphertext c jM =E AES (ξ D , M) to decrypt and obtain the searched data content.
9. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 8, characterized in that: The specific process of step S7 is as follows: For time period t D , the data owner selects a special random number r, And calculate the first intermediate value Q and the second intermediate value Y according to the following formula: Q=F2(ID D ||t D -1) -r F2(ID D ||t D ) r Send the second intermediate value Y to the auxiliary server, is an XOR operation, which compares the bits one by one. If the two bits are the same, the result is 0, and if they are different, the result is 1. || is a connection operator, which means that k2 and t D Concatenate them and input them into the hash function H1 as a whole; After receiving it, the auxiliary server calculates the auxiliary key B according to the following formula: Send auxiliary key B to the data owner; After receiving the auxiliary key B, the data owner uses the auxiliary key B to calculate the time period t D The key is based on the following formula: Among them, A is the new auxiliary key, t D The private key for the time period, t D The public key of the time period; The data owner discards t D -1 time period private key Secure storage D Private key for the time period The data owner calculates the update information according to the following formula: in, is a ratio, used to express the relationship between two time points t0 and t D Auxiliary search key δ i The relative change of t0 is a specific time point, indicating the initial time, t D is another time point, indicating a time point compared with t0, L is a new first encrypted value, C is a new second encrypted value, is the new first ciphertext; (L,t D )、(C,t D ) is sent to the edge server; The edge server receives the updated (L,t D ), update the auxiliary search key with Replace(ID i ,δ i ) i , based on the following formula: Search key for new secondary; The edge server receives the updated (C,t D ), update the ciphertext index and use Replace c v1 , based on the following formula: in, The new ciphertext index.
10. The multi-user searchable encryption method against key leakage in a cloud-edge collaborative environment according to claim 9, characterized in that: The specific process of step S8 is as follows: The data owner decides to revoke the user U i The data owner removes user U from the authorized user set. i ; The data owner sends a revocation request to the edge server. i The edge server deletes the auxiliary search key (ID i ,δ i ).
Citation Information
Patent Citations
Efficient verifiable multi-keyword sequencing searchable encryption method supporting preference search and logic search
CN108388807A
Searchable public key encryption method and system with key updating and ciphertext sharing functions
CN113407966A
Fine-grained multi-user security searchable encryption method in cloud-edge collaborative environment
CN114640458A
Cloud edge-end longitudinal fusion de-duplication storage system, method, equipment and medium
CN117539389A
Cloud edge cross-domain intelligent collaborative optimization method for multi-domain encrypted storage
CN118171332A
