Cloud-edge collaboration based encrypted search system and method

CN122932957APending Publication Date: 2026-10-16CHENGDU IND VOCATIONAL TECHN COLLEGE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610883354.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-17
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

传统可搜索加密方案仅支持一刀切式访问授权,无法实现属性级细粒度管控;同时,全部检索与解密运算集中于终端或云端,算力开销高,不适配低功耗物联网边缘设备

Benefits of technology

[0025]Through the embodiments provided in this application, the key management center, as a global trusted root node, initializes system parameters, generates system public parameters, system master keys, and user private keys, and extracts lightweight decryption factors, providing a trusted benchmark for access control. The data owner, as the business data producer, encrypts plaintext data and constructs encrypted indexes based on access policies, combined with system public parameters and system master keys. The edge computing cluster, upon receiving the encrypted data and encrypted indexes uploaded by the data owner, performs hash integrity verification and proxies permission matching verification, encrypted index matching, and/or pre-decryption operations. Simultaneously, it intercepts illegal user requests, thereby reducing the load on terminals and the cloud and reducing latency. The data user terminal, as the retrieval request initiator, constructs a retrieval trap based on its own legitimate user attribute set, combined with retrieval keywords and system public parameters, and initiates a retrieval request. Upon receiving the pre-decryption result sent by the edge computing cluster, it decrypts the data according to the local user lightweight decryption factor to obtain matching plaintext data. The user terminal only needs to perform some lightweight decryption calculations, resulting in low energy consumption. The permissioned chain evidence storage node cluster is responsible for uploading and solidifying all key behavioral data of the system to the chain to support subsequent data use. This application enables encrypted retrieval with low latency, low energy consumption, and strong security control capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122932957A_ABST
    Figure CN122932957A_ABST
Patent Text Reader

Abstract

The application provides a cloud edge collaborative encryption retrieval system and method, and relates to the technical field of encryption retrieval. The system comprises: a key management center for initializing system parameters according to security parameters, constructing system public parameters, system master keys and user private keys, and extracting user lightweight decryption factors; a data possession end for encrypting according to an access strategy to obtain encrypted indexes and data ciphertexts; an edge computing cluster for checking the data ciphertexts and the encrypted indexes, and performing illegal request interception, permission matching verification, ciphertext index matching and / or pre-decryption operation on a retrieval request; a data user terminal for constructing a retrieval trapdoor according to a retrieval keyword and a user attribute set, generating a retrieval request, decrypting and calculating a pre-decryption result according to the user lightweight decryption factor to obtain matching plaintext data; and a permission chain storage node cluster for on-chain solidification of full key behavior data of the system. The application has low delay, small energy consumption and good security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of encrypted retrieval technology, specifically to an encrypted retrieval system and method based on cloud-edge collaboration. Background Technology

[0002] Currently, with the rapid deployment of the Internet of Things (IoT), the Industrial Internet, and mobile edge computing, massive amounts of sensitive sensing data are collected from resource-constrained edge terminals and centrally stored in the cloud. In cross-entity data sharing scenarios, uploading data in plaintext can easily lead to privacy leaks. Traditional access control models have security flaws such as unauthorized access, fixed permissions, and untraceable operation behavior. Encrypted retrieval and fine-grained access control have become essential requirements for the industry.

[0003] Currently, mainstream encrypted retrieval solutions fall into three categories: traditional searchable encryption schemes, classic attribute encryption (ABE) ciphertext retrieval schemes, and blockchain-integrated ciphertext retrieval schemes. Traditional searchable encryption schemes only support one-size-fits-all access authorization and cannot achieve fine-grained control at the attribute level; at the same time, all retrieval and decryption operations are concentrated on the terminal or cloud, resulting in high computing power consumption and making them unsuitable for low-power IoT edge devices.

[0004] Classic Attribute Encryption (ABE) ciphertext retrieval schemes can achieve fine-grained attribute-level control through bilinear pairings, but the encryption, trapdoor generation, and decryption stages involve a large number of O(n)-level bilinear pairing operations, making them unsuitable for low-power IoT edge devices. Furthermore, the classic attribute encryption (ABE) ciphertext retrieval scheme has inadequate mechanisms for attribute revocation and user permission cancellation, lacks fixed evidence of permission changes, and centralized management is susceptible to tampering.

[0005] The blockchain-integrated encrypted retrieval solution uses blockchain as an offline evidence storage tool or index storage medium, which greatly reduces the risk of tampering. However, the retrieval operation still relies on the cloud or smart contracts, resulting in high latency and high energy consumption, making it unsuitable for low-power IoT edge devices. At the same time, since the blockchain-integrated encrypted retrieval solution only supports post-event auditing, its security control capabilities are insufficient. Summary of the Invention

[0006] Based on this, this application provides a cloud-edge collaborative encrypted retrieval system and method to achieve encrypted retrieval with low latency, low energy consumption, and good security control capabilities.

[0007] According to one aspect of this application, a cloud-edge collaborative encrypted retrieval system is proposed, comprising: a key management center, used to initialize system parameters according to security parameters, construct system public parameters, system master key and user private key according to system parameters, and extract user lightweight decryption factor according to user private key; a data ownership terminal, used to encrypt keyword-bound business identifier set and plaintext data according to pre-set access policies and system public parameters to obtain encrypted index and data ciphertext; an edge computing cluster, used to perform hash integrity verification on data ciphertext and encrypted index, and based on data ciphertext and encrypted index, to perform illegal request interception, permission matching verification, ciphertext index matching and / or pre-decryption operation on retrieval requests; a data user terminal, used to construct retrieval trapdoor according to retrieval keywords, user attribute set and system public parameters to generate retrieval request, and to perform decryption calculation on the pre-decryption result sent by the edge computing cluster according to the stored user lightweight decryption factor to obtain matching plaintext data; and a permissioned chain evidence storage node cluster, used to solidify all key behavioral data of the system on the chain.

[0008] According to some embodiments, the system further includes a cloud storage server for storing data ciphertext and encrypted indexes that have passed hash integrity verification.

[0009] According to some embodiments, the key management center includes: a system parameter initialization unit, used to initialize system parameters according to security parameters, wherein the system parameters include a bilinear group and generators; a system master key and parameter unit, used to construct system public parameters according to system parameters, a cryptographic hash function, and a secret factor of the system master key, and to construct the system master key according to the secret factor of the system master key; a user private key generation unit, used to generate a user private key according to a user private key random factor, a user attribute set, system public parameters, and the system master key; a user private key distribution unit, used to extract a user lightweight decryption factor from the user private key and distribute the user lightweight decryption factor to the data user terminal; and a digest calculation and evidence storage unit, used to calculate an evidence storage digest according to the user's original information, a cryptographic hash function, and a current timestamp, and upload the user's original information and the evidence storage digest to the permissioned chain evidence storage node cluster, wherein the user's original information includes a user identity identifier, a user attribute set, and a user public key.

[0010] According to some embodiments, the system master key and parameter unit is used to: randomly select a secret factor for the system master key from a preset finite field; construct and store the system master key based on the secret factor; calculate the group element based on the secret factor and generator; and construct the system public parameters based on the mapping relationship between the generator, group element, cryptographic hash function and bilinear group.

[0011] According to some embodiments, the user private key generation unit is used to: randomly select a first user private key random factor and a second user private key random factor from a preset finite field; and construct a user private key using a first preset formula based on the first user private key random factor, the second user private key random factor, the user attribute set, and publicly available system parameters; wherein the first preset formula includes: ; ; ; ; In the formula, All are components of the user's private key; Represents generator; and The secret factor of the system master key; This represents the random factor of the first user's private key; express In the predefined finite domain The following model Multiplicative inverse; Indicates user attributes; Represents a set of user attributes; This represents the random factor of the second user's private key; , , For cryptographic hash functions; This indicates publicly available system parameters; Represents the mapping relationship of the bilinear group; This represents the user's private key.

[0012] According to some embodiments, the data ownership end includes: an index encryption unit, used to encrypt the set of business identifiers bound to keywords according to the access policy, system public parameters, index encryption secret value, index random vector, and index random factor to obtain an encrypted index; a data encryption unit, used to encrypt plaintext data according to the access policy, the set of business identifiers bound to keywords, system public parameters, data encryption secret value, data random vector, and data random factor to obtain ciphertext data; and an encrypted data upload unit, used to upload the ciphertext data and the encrypted index to the edge computing cluster.

[0013] According to some embodiments, the index encryption unit is used to: select an index encryption secret value, an index random vector, and an index random factor from a preset finite field; calculate an index secret share based on the access matrix and the index random vector in the access policy; and encrypt the keyword-bound business identifier set using a second preset formula based on the mapping function of the index random factor, the index encryption secret value, the system public parameters, the index secret share, and the matrix row-to-attribute in the access policy, to obtain an encrypted index; wherein the second preset formula includes: ; ; ; ; In the formula, All are components with encrypted indexes; Represents generator; This represents the encrypted secret value of the index; This indicates that the keyword is bound to a set of business identifiers; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the index secret share; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping function to attributes, Represents the access matrix; Indicates the index random factor; Indicates an encrypted index; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

[0014] According to some embodiments, the data encryption unit is used to: randomly select a data encryption secret value, a data random vector, and a data random factor from a preset finite field; calculate a data secret share based on the access matrix and the data random vector in the access policy; and encrypt the plaintext data using a third preset formula based on the mapping function of the data random factor, the data encryption secret value, the system public parameters, the data secret share, and the matrix row-to-attribute in the access policy, to obtain ciphertext; wherein the third preset formula includes: ; ; ; ; In the formula, All are components of encrypted data; Represents generator; This represents the encrypted secret value of the data; Represents plaintext data; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the share of data secrecy; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping functions to user attributes, Represents the access matrix; Indicates the random factor in the data; This indicates encrypted data; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

[0015] According to some embodiments, the data user terminal includes: a retrieval trapdoor construction unit, used to construct a retrieval trapdoor based on retrieval keywords, a set of user attributes, publicly available system parameters, a random factor for the user's private key, and a random factor for the trapdoor; and a retrieval trapdoor sending unit, used to generate a retrieval request based on the retrieval trapdoor and send it to the edge computing cluster.

[0016] According to some embodiments, the retrieval trapdoor construction unit is used to: randomly select a trapdoor random factor from a preset finite domain; and construct a retrieval trapdoor using a fourth preset formula based on the retrieval keywords, user attribute set, system public parameters, user private key random factor, and trapdoor random factor; wherein the fourth preset formula includes: ; ; ; ; In the formula, All of these are components for searching Xi'an Gate; Represents generator; Indicates the trapdoor random factor; This represents the random factor of the first user's private key; This represents the random factor of the second user's private key; , , For cryptographic hash functions; The bit string representing the search keywords; Indicates user attributes; Represents a set of user attributes; Indicates a search trapdoor; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; This indicates publicly available system parameters.

[0017] According to some embodiments, the edge computing cluster includes: a hash integrity verification unit for performing hash integrity verification on the data ciphertext and the encrypted index; an illegal request interception unit for revoking the retrieval request and sending revocation information to the key management center if the retrieval request is included in the revocation list, wherein the revocation information is used to generate a revocation instruction; an authorization matching verification unit for performing authorization matching verification on the retrieval request if the retrieval request is not included in the revocation list and meets the access policy, and obtaining an authorization matching verification result; and a first pre-decryption unit for, if the authorization matching verification result includes successful authorization matching verification, using group inverse to decrypt the retrieval request. The system comprises the following components: a meta-operation unit, which performs pre-decryption calculations on the encrypted index to obtain the verification index; a second pre-decryption unit, which, based on the retrieval request and using group inverse operations, performs pre-decryption calculations on the encrypted data to obtain the pre-decryption factor, provided that the permission matching verification result is successful; a list update unit, which updates the revocation list in real time according to the revocation instruction; a proxy calculation result distribution unit, which distributes the verification index and pre-decryption factor as pre-decryption results to the data user terminal; and a decrypted data upload unit, which uploads the retrieval request, matching result, and decryption log access record to the permission chain evidence storage node cluster for on-chain solidification.

[0018] According to some embodiments, the permission matching and verification unit is used to: when the retrieval request is not included in the revocation list and the retrieval request satisfies the access policy, based on the encrypted index, using group inverse operation to replace division operation, and based on a fifth preset formula, perform permission matching and verification on the retrieval trapdoor in the retrieval request to obtain the permission matching and verification result; wherein, the fifth preset formula includes: ; In the formula, This represents the mapping relationship of the bilinear group, which is a partial parameter of the publicly available system parameters; , , Components for encrypted indexes; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; Indicates the number of rows in the accessed matrix; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; when satisfying In this case, the permission matching is successful; A component for user private keys; Represents generator; It is the secret factor of the system master key.

[0019] According to some embodiments, the first pre-decryption unit is used to: if the permission matching verification result includes successful permission matching verification, based on the retrieval request, utilize group inverse operation, and based on a sixth preset formula, perform pre-decryption calculation on the encrypted index to obtain the verification index; wherein, the sixth preset formula includes: ; ; In the formula, Indicates the edge node index; Indicates the validation index; This represents the mapping relationship of the bilinear group, which is a partial parameter of the system's publicly disclosed parameters; , , , Components for encrypted indexes; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

[0020] According to some embodiments, the second pre-decryption unit is used to: if the permission matching verification result includes successful permission matching verification, based on the retrieval request, utilize group inverse operation, and according to a seventh preset formula, perform pre-decryption calculation on the encrypted data to obtain a decryption factor; wherein the seventh preset formula includes: ; In the formula, Indicates the decryption factor; This represents the mapping relationship of the bilinear group, which is a partial parameter of the system's publicly disclosed parameters; , , Components for encrypted data , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

[0021] According to some embodiments, the data user terminal includes: a decryption calculation unit, used to calculate matching plaintext data based on a verification index, a pre-decryption factor, and a user-lightweight decryption factor.

[0022] According to one aspect of this application, a cloud-edge collaborative encrypted retrieval method includes: based on a key management center, initializing system parameters according to security parameters, constructing system public parameters, a system master key, and a user private key based on the system parameters, extracting a user lightweight decryption factor based on the user private key, and distributing the user lightweight decryption factor to the data user terminal; based on the data owner terminal, encrypting the keyword-bound business identifier set and plaintext data according to a pre-set access policy and system public parameters to obtain an encrypted index and data ciphertext; based on an edge computing cluster, performing hash integrity verification on the data ciphertext and encrypted index; and based on the data user terminal, constructing a retrieval trapdoor based on retrieval keywords, a user attribute set, and system public parameters to generate a retrieval request and concurrently... The data is sent to the edge computing cluster. Based on the edge computing cluster, illegal requests are intercepted according to the encrypted data and encrypted index. Based on the edge computing cluster, permission matching and verification are performed on the retrieval requests that do not need to be intercepted, and permission matching and verification results are obtained. Based on the edge computing cluster, if the permission matching and verification results include successful permission matching and verification, the encrypted index and encrypted data are matched and pre-decrypted according to the retrieval request, and verification index and pre-decryption factor are obtained. Based on the data user terminal, the verification index and pre-decryption factor are decrypted according to the stored user lightweight decryption factor, verification index and decryption factor, and matching plaintext data is obtained. Based on the permissioned chain evidence storage node cluster, all key behavioral data in the encrypted retrieval process are uploaded to the chain for solidification.

[0023] According to one aspect of this application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more programs; and, when the one or more programs are executed by the one or more processors, causing the one or more processors to implement the method as described above.

[0024] According to one aspect of this application, a computer-readable medium is provided that stores a computer program or instructions thereon, which, when executed by a processor, implement the method as described above.

[0025] Through the embodiments provided in this application, the key management center, as a global trusted root node, initializes system parameters, generates system public parameters, system master keys, and user private keys, and extracts lightweight decryption factors, providing a trusted benchmark for access control. The data owner, as the business data producer, encrypts plaintext data and constructs encrypted indexes based on access policies, combined with system public parameters and system master keys. The edge computing cluster, upon receiving the encrypted data and encrypted indexes uploaded by the data owner, performs hash integrity verification and proxies permission matching verification, encrypted index matching, and / or pre-decryption operations. Simultaneously, it intercepts illegal user requests, thereby reducing the load on terminals and the cloud and reducing latency. The data user terminal, as the retrieval request initiator, constructs a retrieval trap based on its own legitimate user attribute set, combined with retrieval keywords and system public parameters, and initiates a retrieval request. Upon receiving the pre-decryption result sent by the edge computing cluster, it decrypts the data according to the local user lightweight decryption factor to obtain matching plaintext data. The user terminal only needs to perform some lightweight decryption calculations, resulting in low energy consumption. The permissioned chain evidence storage node cluster is responsible for uploading and solidifying all key behavioral data of the system to the chain to support subsequent data use. This application enables encrypted retrieval with low latency, low energy consumption, and strong security control capabilities. Attached Figure Description

[0026] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this application.

[0027] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings, without exceeding the scope of protection claimed by this application.

[0028] Figure 1 A block diagram of a cloud-edge collaborative encrypted retrieval system provided in an embodiment of this application; Figure 2 A block diagram of the key management center of a cloud-edge collaborative encrypted retrieval system provided in this application embodiment; Figure 3 A block diagram of the data ownership end of the cloud-edge collaborative encrypted retrieval system provided in the embodiments of this application; Figure 4 A block diagram of a data user terminal for a cloud-edge collaborative encrypted retrieval system provided in an embodiment of this application; Figure 5 A block diagram of an edge computing cluster for a cloud-edge collaborative encrypted retrieval system provided in this application embodiment; Figure 6A flowchart illustrating the cloud-edge collaborative encrypted retrieval method provided in this application embodiment; Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0029] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0030] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0031] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0032] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0033] It should be understood that although the terms first, second, third, etc., may be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another. Therefore, the first component discussed below may be referred to as the second component without departing from the teachings of this application. As used herein, the term "and / or" includes all combinations of any one and more of the associated listed items.

[0034] For specific implementation details, please refer to the following examples.

[0035] Figure 1 This is a block diagram of a cloud-edge collaborative encrypted retrieval system provided in an embodiment of this application. Figure 1 As shown, the system includes a key management center 110, a data ownership terminal 120, an edge computing cluster 130, a data user terminal 140, and a permissioned chain evidence storage node cluster 150.

[0036] The key management center 110 is used to initialize system parameters according to security parameters, construct system public parameters, system master key and user private key according to system parameters, and extract user lightweight decryption factor according to user private key.

[0037] The security parameters are preset, and this application does not restrict the specific method of setting them or the specific content of the security parameters.

[0038] The system parameters are initialized based on security parameters. According to an example embodiment, the system parameters include a bilinear group. with generator .

[0039] Based on the system parameters, the system public parameters, system master key, and user private key are constructed.

[0040] The system's public parameters are publicly available on all network nodes and can be accessed by all network nodes. The system's master key is encrypted and stored in the key management center 110.

[0041] After obtaining the user's private key, a portion of the components is extracted as a lightweight decryption factor and distributed to the data user terminal 140 for the final stage of decryption.

[0042] In some embodiments, the key management center 110 is also used for user identity real-name authentication, attribute set binding, public and private key and attribute key distribution, etc.

[0043] Furthermore, in some embodiments, for scenarios involving personnel changes, device deregistration, and expired permissions, the key management center 110 issues a signature revocation command, the edge computing cluster 130 updates the revocation list in real time, and at the same time, the permission chain evidence storage node cluster 150 solidifies the revocation record, taking into account both real-time performance and immutability.

[0044] Furthermore, the key management center 110 sends the user's identity, attributes, and public key information digest to the permissioned chain evidence storage node cluster 150 for on-chain evidence storage.

[0045] Data owner terminal 120 is used to encrypt the keyword-bound business identifier set and plaintext data according to the pre-set access policy and system public parameters, so as to obtain encrypted index and data ciphertext.

[0046] The data owner 120 has a preset access policy to restrict unauthorized user access. This application does not restrict the specific content of the access policy, which can be set according to the actual situation.

[0047] In some embodiments, the access strategies include access strategies based on LSSS (Linear Secret Sharing Scheme) access matrices, access strategies based on access trees, access strategies based on AND-OR gates, etc.

[0048] According to the example implementation, the access policy include: ; in, For access matrix; This is a mapping function from matrix rows to attributes.

[0049] Based on the access policy, the system's publicly available parameters are used to encrypt the keyword-bound business identifier set and plaintext data, resulting in encrypted indexes and ciphertext data.

[0050] Afterwards, the encrypted index and data ciphertext are uploaded to the edge computing cluster 130.

[0051] Edge computing cluster 130 is used to perform hash integrity verification on encrypted data and encrypted indexes, and based on encrypted data and encrypted indexes, to intercept illegal requests, verify permissions, match encrypted indexes, and / or perform pre-decryption operations on retrieval requests.

[0052] The edge computing cluster 130 includes multiple edge nodes. This application does not impose specific restrictions on the edge nodes and can reuse existing hardware facilities such as mobile edge gateways, base stations, and vehicle-mounted edge nodes.

[0053] For the encrypted data and encrypted index uploaded by the data owner 120, perform hash integrity verification on them, and store the encrypted data and encrypted index that pass the verification.

[0054] The storage location can be either the local storage unit of the edge computing cluster 130 or a cloud storage node. Understandably, if stored in the local storage unit of the edge computing cluster 130, the relevant encrypted data and encrypted index can be directly accessed during subsequent encrypted retrieval processes; if stored in a cloud storage node, the relevant encrypted data and encrypted index need to be retrieved from the cloud storage node during subsequent encrypted retrieval processes.

[0055] Based on the encrypted data and encrypted index that have passed hash verification, the retrieval request sent by the data user terminal 140 is processed. The processing includes illegal request interception, permission matching and verification, encrypted index matching, and / or pre-decryption operations.

[0056] Among them, illegal request interception is used to intercept retrieval requests that do not conform to the specifications (e.g., have been revoked); permission matching and verification is used to perform permission matching and verification on retrieval requests to verify whether the user initiating the retrieval request has the attribute permissions required to access the corresponding encrypted data / encrypted index, and at the same time perform encrypted index matching; pre-decryption operation is used to pre-decrypt the retrieval request, encrypted data and encrypted index to obtain the verification index and decryption factor as the pre-decryption result, and send them to the data user terminal 140.

[0057] Data user terminal 140 is used to construct a search trap based on search keywords, user attribute set and publicly available system parameters to generate a search request, and to perform decryption calculation on the pre-decryption result sent by the edge computing cluster 130 based on the stored user lightweight decryption factor to obtain matching plaintext data.

[0058] Based on the search keywords, user attribute set, and publicly available system parameters, a search trap is constructed to generate a search request and submit it to the edge computing cluster 130.

[0059] The system receives the pre-decryption result returned by the edge computing cluster 130, and uses the user-lightweight decryption factor issued by the key management center 110 and stored locally to further decrypt the pre-decryption result to obtain the matching plaintext data.

[0060] The permissioned blockchain evidence storage node cluster consists of 150 nodes, used to solidify all key behavioral data of the system onto the blockchain.

[0061] The permissioned blockchain evidence storage node cluster of 150 can be implemented based on a blockchain architecture, or on other permissioned blockchain architectures such as consortium blockchains and private blockchains. It can be configured according to the trust level requirements of different industries.

[0062] The full set of key behavioral data includes user registration, key distribution, retrieval behavior, permission changes, attribute revocation and / or decryption operations, etc. The permissioned chain evidence storage node cluster of 150 is used to hash and solidify the full set of key behaviors on the chain, supporting post-event auditing, public verification and behavior traceability.

[0063] Through the embodiments provided in this application, the key management center, as a global trusted root node, initializes system parameters, generates system public parameters, system master keys, and user private keys, and extracts lightweight decryption factors, providing a trusted benchmark for access control. The data owner, as the business data producer, encrypts plaintext data and constructs encrypted indexes based on access policies, system public parameters, and system master keys. The edge computing cluster, upon receiving the encrypted data and encrypted indexes uploaded by the data owner, performs hash integrity verification and proxies permission matching verification, encrypted index matching, and / or pre-decryption operations. Simultaneously, it intercepts illegal user requests, thereby reducing the load on terminals and the cloud and reducing latency. The data user terminal, as the retrieval request initiator, constructs a retrieval trapdoor based on its own legitimate user attribute set, combined with retrieval keywords and system public parameters, and initiates a retrieval request. Upon receiving the pre-decryption result sent by the edge computing cluster, it decrypts the data according to the local user lightweight decryption factor to obtain matching plaintext data. The user terminal only needs to perform some lightweight decryption calculations, resulting in low energy consumption. The permissioned chain evidence storage node cluster is responsible for uploading and solidifying all key behavioral data of the system to the chain to support subsequent data use. This application enables encrypted retrieval with low latency, low energy consumption, and strong security control capabilities.

[0064] According to some embodiments, the system also includes a cloud storage server 160.

[0065] Cloud storage server 160 is used to store encrypted data and encrypted indexes that have passed hash integrity verification.

[0066] The cloud storage server 160 is responsible for the long-term storage of encrypted indexes and encrypted data. It responds to data retrieval requests from the edge computing cluster 130, providing only data forwarding and storage services, and does not participate in decryption or permission determination. The cloud handles large-capacity storage, while the edge handles computing power offloading and real-time management, resulting in a significant reduction in overall retrieval latency.

[0067] According to some embodiments, refer to Figure 2 The key management center 110 includes: a system parameter initialization unit 210, a system master key and parameter unit 220, a user private key generation unit 230, a user private key distribution unit 240, and a digest calculation and storage unit 250.

[0068] The system parameter initialization unit 210 is used to initialize system parameters according to security parameters, wherein the system parameters include bilinear group and generator.

[0069] Initialize the system parameters based on the safety parameters. The system parameters include the bilinear group. with generator .in, Cyclic group The standard generator.

[0070] According to the example embodiment, For the order of The multiplicative cyclic group satisfies the discrete logarithmic difficulty hypothesis.

[0071] The system master key and parameter unit 220 is used to construct the system public parameters based on the system parameters, the cryptographic hash function and the system master key secret factor, and to construct the system master key based on the system master key secret factor.

[0072] The system master key secret factor can be obtained by randomly selecting it from a preset finite field or by other means. This application does not impose any restrictions on this.

[0073] Three sets of cryptographic hash functions are predefined. .

[0074] According to the example embodiment, For collision-resistant cryptographic hash functions, , used to map any bit string to a group element; For fixed-length digest hash functions, Maps the input space of a binary string of arbitrary length to a fixed length. The hash output space of bits These are security parameters used for calculating the evidence digest of the permissioned blockchain evidence storage node cluster; For finite field mapping hash functions, , For a finite field, The order of the finite field is used to output the modulus. Integer.

[0075] Based on the system parameters, the defined cryptographic hash function, and the obtained secret factor of the system master key, construct the system public parameters and the system master key.

[0076] User private key generation unit 230 is used to generate user private keys based on user private key random factor, user attribute set, system public parameters and system master key.

[0077] The random factor of the user's private key is obtained. The random factor of the user's private key can be randomly selected from a preset finite field or obtained by other means. This application does not restrict this.

[0078] The user's private key is generated based on the user's own set of user attributes, the random factor of the obtained user private key, and the publicly available parameters of the system.

[0079] User private key distribution unit 240 is used to extract the user lightweight decryption factor from the user private key and distribute the user lightweight decryption factor to the data user terminal.

[0080] Extract the core component of the user's private key as a lightweight decryption factor for final decryption. Send the lightweight decryption factor to data user terminal 140.

[0081] The digest calculation and evidence storage unit 250 is used to calculate the evidence storage digest based on the user's original information, the password hash function and the current timestamp, and upload the user's original information and the evidence storage digest to the permissioned chain evidence storage node cluster. The user's original information includes the user's identity identifier, user attribute set and user public key.

[0082] User identification User attribute set User public key and current timestamp Concatenate the original user information and calculate the evidence digest. : ; in, This is a fixed-length digest hash function.

[0083] User identity ,property Public key timestamp With evidence summary They are jointly uploaded to the permissioned blockchain storage node cluster of 150 for on-chain storage and distributed solidification.

[0084] According to some embodiments, the system master key and parameter unit 220 is used to execute steps S221-S224.

[0085] Step S221: Randomly select a secret factor for the system master key from a preset finite field.

[0086] From the pre-defined finite field In this process, a secret factor for the system master key is randomly selected. .

[0087] According to the example embodiment, .

[0088] Step S222: Construct and store the system master key based on the secret factor of the system master key.

[0089] The system master key includes: ; in, This represents the system master key.

[0090] It should be noted that the system master key is encrypted and stored by the key management center.

[0091] Step S223: Calculate the group elements based on the system master key secret factor and generator.

[0092] In this embodiment of the application, the group elements include It can be calculated based on the system master key secret factor and generator.

[0093] Step S224: Construct the system public parameters based on the mapping relationship between generators, group elements, cryptographic hash functions, and bilinear groups.

[0094] According to generator Group elements Predefined cryptographic hash function and bilinear group mapping relationship Output system public parameters : ; in, It satisfies bilinearity, nondegeneracy, and computability.

[0095] It should be noted that the system's public parameters are publicly accessible to all nodes on the network.

[0096] According to some embodiments, the user private key generation unit 230 is used to perform steps S231-S232.

[0097] Step S231: Randomly select the first user private key random factor and the second user private key random factor from a preset finite field.

[0098] For the attribute set users Selecting random numbers from a finite field Let be the random factor of the first user's private key. For any attribute... Selecting random numbers from a finite field Let be the random factor of the second user's private key.

[0099] Step S232: Based on the first user private key random factor, the second user private key random factor, the user attribute set, and the system public parameters, construct the user private key using the first preset formula; The first preset formula includes: ; ; ; ; In the formula, All are components of the user's private key; Represents generator; and The secret factor of the system master key; This represents the random factor of the first user's private key; express In the predefined finite domain The following model Multiplicative inverse; Indicates user attributes; Represents a set of user attributes; This represents the random factor of the second user's private key; , , For cryptographic hash functions; This indicates publicly available system parameters; Represents the mapping relationship of the bilinear group; This represents the user's private key.

[0100] Specifically, remember for exist The following model Multiplicative inverse.

[0101] Using the selected first user private key random factor Second user private key random factor User attribute set and publicly available system parameters Component for calculating user private keys: ; ; in, This is the core component of the user's private key.

[0102] Then the user's complete private key: .

[0103] Furthermore, in some embodiments, the lightweight decryption factor is made... It is stored independently in the data user terminal 140 for final decryption.

[0104] According to some embodiments, refer to Figure 3 The data ownership terminal 120 includes an index encryption unit 310, a data encryption unit 320, and an encrypted data upload unit 330.

[0105] The index encryption unit 310 is used to encrypt the set of business identifiers bound to keywords according to the access policy, system public parameters, index encryption secret value, index random vector and index random factor to obtain an encrypted index.

[0106] The index encryption secret value, index random vector, and index random factor are obtained. The index encryption secret value, index random vector, and index random factor can be randomly selected from a preset finite field or obtained by other means. This application does not impose any restrictions on this.

[0107] Based on the obtained index encryption secret value, index random vector, and index random factor, and combined with the access policy and publicly available system parameters, the set of business identifiers bound to keywords is encrypted to obtain an encrypted index.

[0108] The data encryption unit 320 is used to encrypt plaintext data according to the access policy, the set of business identifiers bound to keywords, the publicly available parameters of the system, the data encryption secret value, the data random vector and the data random factor, so as to obtain the ciphertext data.

[0109] The data encryption secret value, data random vector, and data random factor are obtained. The data encryption secret value, data random vector, and data random factor can be randomly selected from a preset finite field or obtained by other means. This application does not impose any restrictions on this.

[0110] Based on the obtained data encryption secret value, data random vector, and data random factor, and combined with access policies, keyword-bound business identifier sets, and publicly available system parameters, plaintext data is encrypted to obtain ciphertext data.

[0111] The encrypted data upload unit 330 is used to upload encrypted data and encrypted indexes to the edge computing cluster.

[0112] The encrypted data and encrypted index are uploaded to the edge computing cluster 130 for verification and subsequent operations.

[0113] According to some embodiments, the index encryption unit 310 is used to perform steps S311-S313.

[0114] Step S311: Select the index encryption secret value, the index random vector, and the index random factor from the preset finite field.

[0115] From the pre-defined finite field In the middle, select the index to encrypt the secret value. Indexed random vector and index random factor .

[0116] Step S312: Calculate the index secret share based on the access matrix and index random vector in the access strategy.

[0117] According to the access matrix in the access strategy and indexed random vector Calculate the index secret share : ; in, Represents the access matrix The Row vectors.

[0118] Step S313: Based on the index random factor, index encryption secret value, system public parameters, index secret share, and the mapping function of matrix row to attribute in the access policy, use the second preset formula to encrypt the keyword binding business identifier set to obtain the encrypted index; The second preset formula includes: ; ; ; ; In the formula, All are components with encrypted indexes; Represents generator; This represents the encrypted secret value of the index; This indicates that the keyword is bound to a set of business identifiers; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the index secret share; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping function to attributes, Represents the access matrix; Indicates the index random factor; Indicates an encrypted index; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

[0119] Specifically, based on the index random factor Index Encryption Secret Value System Public Parameters Index secret share Mapping function from matrix rows to attributes in access strategies Keyword binding business identifier set Encryption is performed, and an indexed ciphertext component is constructed: ; ; Encrypted index : .

[0120] According to some embodiments, the data encryption unit 320 is used to perform steps S321-S323.

[0121] Step S321: Randomly select the data encryption secret value, the data random vector, and the data random factor from the preset finite field.

[0122] From the pre-defined finite field In the middle, select the data encryption secret value. Random vectors of data and data random factor .

[0123] Step S322: Calculate the data secret share based on the access matrix and data random vector in the access strategy.

[0124] According to the access matrix in the access strategy and random vectors of data Calculate the secret share of data : ; in, Represents the access matrix The Row vectors.

[0125] Step S323: Based on the mapping function of the matrix row-to-attribute in the data random factor, data encryption secret value, system public parameters, data secret share and access strategy, the plaintext data is encrypted using the third preset formula to obtain the ciphertext data. The third preset formula includes: ; ; ; ; In the formula, All are components of encrypted data; Represents generator; This represents the encrypted secret value of the data; Represents plaintext data; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the share of data secrecy; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping functions to user attributes, Represents the access matrix; Indicates the random factor in the data; This indicates encrypted data; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

[0126] Specifically, based on the data random factor Data encryption secret value System Public Parameters Data secrecy share Mapping function from matrix rows to attributes in access strategies For plaintext data Encryption is performed to construct a data ciphertext component.

[0127] ; ; Then the encrypted data : .

[0128] According to some embodiments, refer to Figure 4 The data user terminal 140 includes a retrieval trapdoor construction unit 410 and a retrieval trapdoor transmission unit 420.

[0129] The retrieval trapdoor construction unit 410 is used to construct a retrieval trapdoor based on the retrieval keywords, user attribute set, system public parameters, user private key random factor and trapdoor random factor.

[0130] Obtain the trapdoor random factor. The trapdoor random factor can be randomly selected from a preset finite field or obtained by other means; this application does not impose any restrictions on this.

[0131] Based on the obtained trapdoor random factor, and combined with the user's private key random factor, search keywords, system public parameters and user attribute set, a search trapdoor is constructed.

[0132] The retrieval trap sending unit 420 is used to generate a retrieval request based on the retrieval trap and send it to the edge computing cluster 130.

[0133] According to some embodiments, the trapdoor construction unit 410 is used to perform steps S411-S412.

[0134] Step S411: Randomly select a trapdoor random factor from a preset finite field; From the pre-defined finite field In the process, a random number trapdoor random factor is selected. .

[0135] Step S412: Based on the search keywords, user attribute set, system public parameters, user private key random factor and trapdoor random factor, construct the search trapdoor using the fourth preset formula; The fourth preset formula includes: ; ; ; ; In the formula, All of these are components for searching Xi'an Gate; Represents generator; Indicates the trapdoor random factor; This represents the random factor of the first user's private key; This represents the random factor of the second user's private key; , , For cryptographic hash functions; The bit string representing the search keywords; Indicates user attributes; Represents a set of user attributes; Indicates a search trapdoor; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; This indicates publicly available system parameters.

[0136] Specifically, based on the search keywords, user attribute set, publicly available system parameters, user private key random factor, and trapdoor random factor, a search trapdoor component is constructed using the fourth preset formula: ; ; Then retrieve the trapdoor for: .

[0137] According to some embodiments, refer to Figure 5 The edge computing cluster 130 includes a hash integrity verification unit 510, an illegal request interception unit 520, an permission matching verification unit 530, a first pre-decryption unit 540, a second pre-decryption unit 550, a list update unit 560, a proxy calculation result distribution unit 570, and a decrypted data upload unit 580.

[0138] The hash integrity verification unit 510 is used to perform hash integrity verification on the encrypted data and the encrypted index.

[0139] This application does not restrict the specific implementation steps of hash integrity verification, and existing technologies can be used to implement it.

[0140] The illegal request interception unit 520 is used to revoke a retrieval request if the retrieval request is included in the revocation list, and send revocation information to the key management center 110, wherein the revocation information is used to generate a revocation instruction.

[0141] If the revocation list contains a retrieval request, generate revocation information and send it to the key management center 110.

[0142] According to the example embodiment, the key management center 110 generates a revocation instruction based on the revocation information and signs it with the master key: ; in, To cancel the instruction; This indicates a global signature algorithm based on the system master key; For user identification; For attributes; For timestamps; This is a bit string concatenation operator.

[0143] The revocation command is synchronized to edge computing cluster 130 and permission chain evidence storage node cluster 150; edge computing cluster 130 updates the revocation list in real time and dynamically determines permissions. ; in, Represents the decision function; This represents the edge-local revocation list, recording the invalid user ID and revocation attributes.

[0144] If the determination result is 0, access will be blocked directly, and the permission will expire within seconds.

[0145] The permission matching and verification unit 530 is used to perform permission matching and verification on the retrieval request when the retrieval request is not included in the revocation list and meets the access policy, and obtain the permission matching and verification result.

[0146] If the retrieval request is not included in the withdrawal list If the access policy is met, the search request will not be blocked. The search request undergoes permission matching verification, and the verification result is obtained. If the permission matching verification is successful, the result is recorded as successful; otherwise, the result is recorded as unsuccessful, and the corresponding search request is rejected.

[0147] The first pre-decryption unit 540 is used to perform pre-decryption calculation on the encrypted index according to the retrieval request, based on the permission matching verification result including successful permission matching verification, and to obtain the verification index.

[0148] If the permission matching verification is successful, the encrypted index is pre-decrypted using group inverse operation based on the retrieval request to obtain the verification index.

[0149] The second pre-decryption unit 550 is used to perform pre-decryption calculation on the encrypted data according to the retrieval request, based on the permission matching verification result including successful permission matching verification, and to obtain the pre-decryption factor.

[0150] If the permission matching verification is successful, the group inverse operation is used to pre-decrypt the encrypted data according to the retrieval request to obtain the pre-decryption factor.

[0151] List update unit 560 is used to update the cancellation list in real time according to the cancellation command.

[0152] The proxy calculation result distribution unit 570 is used to distribute the verification index and pre-decryption factor as pre-decryption results to the data user terminal.

[0153] The decryption data upload unit 580 is used to upload retrieval requests, matching results, and decryption log access records to the permission chain evidence storage node cluster for on-chain solidification.

[0154] Edge nodes will upload retrieval requests, matching results, decryption logs, and access records to the permissioned chain evidence storage node cluster 150 in real time for on-chain evidence storage, so as to achieve full-process auditability.

[0155] According to some embodiments, the permission matching and verification unit 530 is used to perform step S531.

[0156] Step S531: If the retrieval request is not included in the revocation list and the retrieval request meets the access policy, according to the encrypted index, the group inverse operation is used to replace the division operation, and based on the fifth preset formula, the retrieval trap in the retrieval request is subject to permission matching and verification to obtain the permission matching and verification result. The fifth preset formula includes: ; In the formula, This represents the mapping relationship of the bilinear group, which is a partial parameter of the system's publicly disclosed parameters; , , Components for encrypted indexes; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; Indicates the number of rows in the accessed matrix; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; when satisfying In this case, the permission matching is successful; A component for user private keys; Represents generator; It is the secret factor of the system master key.

[0157] Specifically, if user attributes satisfy the access policy, a reconstruction coefficient exists. satisfy .

[0158] in, Indicates the index secret share; This represents the encrypted secret value of the index.

[0159] The matching verification is performed by replacing the division operation with the inverse of the group multiplication method: ; The conditions for successful verification include: .

[0160] If the equality condition for successful verification is met, the permission matching verification is successful; otherwise, the retrieval request is rejected.

[0161] According to some embodiments, the first pre-decryption unit 540 is used to perform step S541.

[0162] Step S541: If the permission matching verification result includes successful permission matching verification, according to the retrieval request, the encrypted index is pre-decrypted using the group inverse operation based on the sixth preset formula to obtain the verification index. The sixth preset formula includes: ; ; In the formula, Indicates the edge node index; Indicates the validation index; This represents the mapping relationship of the bilinear group, which is a partial parameter of the system's publicly disclosed parameters; , , , Components for encrypted indexes; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

[0163] Specifically, if the permission matching verification is successful, the search trap in the search request will be used. Using group inverse operations, the encrypted index is processed. Perform pre-decryption calculations to obtain the verification index. : ; ; in, Indicates the edge node index. To verify the index, which is the set of keyword business identifiers recovered from pre-decryption.

[0164] According to some embodiments, the second pre-decryption unit 550 is used to perform step S551.

[0165] Step S551: If the permission matching verification result includes successful permission matching verification, according to the retrieval request, the group inverse operation is used to pre-decrypt the encrypted data based on the seventh preset formula to obtain the decryption factor. The seventh preset formula includes: ; In the formula, Indicates the decryption factor; This represents the mapping relationship of the bilinear group, which is a partial parameter of the system's publicly disclosed parameters; , , Components for encrypted data , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

[0166] Specifically, if the permission matching verification is successful, the search trap in the search request will be used. Using group inverse operations, the encrypted data is processed. Perform pre-decryption calculations to obtain the pre-decryption factor. : .

[0167] According to some embodiments, the data user terminal 140 also includes a decryption calculation unit 430.

[0168] The decryption calculation unit 430 is used to calculate the matching plaintext data based on the verification index, the pre-decryption factor, and the user-lightweight decryption factor.

[0169] Specifically, the user receives the pre-decryption factor transmitted by the edge computing cluster 130. and validate index After obtaining the pre-decryption result, the local user's lightweight decryption factor is used. Final decryption complete: ; in, To match plaintext data; This is a data encryption component.

[0170] The system provided in this application solves the problem that existing technologies cannot simultaneously meet the requirements of lightweight terminal computing, fine-grained attribute access, real-time dynamic permission updates, tamper-proof traceability of operational behavior, and cloud-edge collaborative load balancing. It offloads high-complexity bilinear pairing operations, index matching, and pre-decryption to edge nodes, with the terminal retaining only constant-level group inverses and bilinear pairing operations, adapting to low-computing-power IoT devices. Flexible attribute access control is implemented based on access policies, combined with a dual revocation mechanism at both the user and attribute levels, ensuring real-time effect of permission changes and overcoming the revocation delay defects of traditional solutions. Relying on a permissioned blockchain distributed ledger, it achieves full-scale evidence storage for key distribution, retrieval, decryption, and revocation actions, preventing centralized tampering and meeting industry regulatory and auditing requirements. By separating storage, computing, and permission determination functions, with the edge responsible for offloading computing power and real-time management, overall retrieval latency is significantly reduced. Based on the standard bilinear cryptographic difficulty assumption, it ensures ciphertext security and is widely adaptable to various scenarios such as the Industrial Internet, the Internet of Vehicles, and the Internet of Things.

[0171] The following describes an apparatus embodiment of this application, which can be used to perform the method embodiment of this application. For details not disclosed in the apparatus embodiment of this application, please refer to the method embodiment of this application.

[0172] Figure 6 A flowchart illustrating a cloud-edge collaborative encrypted retrieval method according to an exemplary embodiment is shown.

[0173] Figure 6 The illegal operation shown can execute the aforementioned cloud-edge collaborative encrypted retrieval system according to the embodiments of this application.

[0174] like Figure 6 As shown, the cloud-edge collaborative encrypted retrieval method may include steps S610-S690.

[0175] Step S610: Based on the key management center, initialize system parameters according to security parameters, construct system public parameters, system master key and user private key according to system parameters, extract user lightweight decryption factor according to user private key, and send user lightweight decryption factor to data user terminal.

[0176] Step S620: Based on the data owner, according to the pre-set access policy and publicly available system parameters, encrypt the keyword binding business identifier set and plaintext data to obtain encrypted index and ciphertext data.

[0177] Step S630: Based on the edge computing cluster, perform hash integrity verification on the encrypted data and encrypted index.

[0178] Step S640: Based on the data user terminal, construct a search trap according to the search keywords, user attribute set and publicly available system parameters to generate a search request and send it to the edge computing cluster.

[0179] Step S650: Based on the edge computing cluster, intercept illegal requests for retrieval based on the encrypted data and the encrypted index.

[0180] Step S660: Based on the edge computing cluster, perform permission matching and verification on retrieval requests that do not need to be intercepted, and obtain the permission matching and verification results.

[0181] Step S670: Based on the edge computing cluster, if the permission matching verification result includes successful permission matching verification, perform ciphertext index matching and pre-decryption operation on the encrypted index and data ciphertext according to the retrieval request to obtain the verification index and pre-decryption factor.

[0182] Step S680: Based on the data user terminal, according to the stored user lightweight decryption factor, verification index and decryption factor, perform decryption calculation on the verification index and pre-decryption factor to obtain the matching plaintext data.

[0183] Step S690: Based on the permissioned blockchain evidence storage node cluster, all key behavioral data during the encrypted retrieval process are uploaded to the blockchain for solidification.

[0184] It illegally executes functions similar to those of the system described above. Other functions can be found in the previous descriptions and will not be repeated here.

[0185] This application discloses an electronic device, including: a processor; and a memory storing a computer program, which, when executed by the processor, causes the processor to execute the above-described instruction generation method.

[0186] For example, refer to Figure 7 , Figure 7 The illustrated electronic device 700 includes a processor 701 and a memory 703. The processor 701 and the memory 703 are connected, for example, via a bus 702. Optionally, the electronic device 700 may also include a transceiver 704. It should be noted that in practical applications, the transceiver 704 is not limited to one type, and the structure of this electronic device 700 does not constitute a limitation on the embodiments of this application.

[0187] Processor 701 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in this application. Processor 701 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0188] Bus 702 may include a pathway for transmitting information between the aforementioned components. Bus 702 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 702 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0189] The memory 703 may be a ROM (Read Only Memory) or other type of static storage device capable of storing static information and instructions, RAM (Random Access Memory) or other type of dynamic storage device capable of storing information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other storage medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto.

[0190] The memory 703 is used to store application code that executes the solution of this application, and its execution is controlled by the processor 701. The processor 701 is used to execute the application code stored in the memory 703 to implement the content shown in the foregoing method embodiments.

[0191] Figure 7 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0192] This application discloses a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, causes the processor to execute an instruction generation method.

[0193] It should be understood that although the steps in the flowcharts of the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the accompanying figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0194] The above are only some embodiments of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A cloud-edge collaborative encrypted retrieval system, characterized in that, include: The key management center is used to initialize system parameters according to security parameters, construct system public parameters, system master key and user private key according to the system parameters, and extract user lightweight decryption factor according to the user private key; The data owner is used to encrypt the keyword-bound business identifier set and plaintext data according to the pre-set access policy and the system's public parameters, to obtain encrypted index and data ciphertext; An edge computing cluster is used to perform hash integrity verification on the encrypted data and the encrypted index, and based on the encrypted data and the encrypted index, to perform illegal request interception, permission matching verification, encrypted index matching and / or pre-decryption operation on retrieval requests; The data user terminal is used to construct a search trap based on search keywords, user attribute set and system public parameters to generate the search request, and to perform decryption calculation on the pre-decryption result sent by the edge computing cluster based on the stored user lightweight decryption factor to obtain matching plaintext data. The permissioned blockchain evidence storage node cluster is used to solidify all key behavioral data of the system on the blockchain.

2. The system according to claim 1, characterized in that, The system also includes: A cloud storage server is used to store the encrypted data and encrypted index that have passed the hash integrity verification.

3. The system according to claim 1, characterized in that, The key management center includes: A system parameter initialization unit is used to initialize system parameters according to security parameters, wherein the system parameters include a bilinear group and generators; The system master key and parameter unit is used to construct the system public parameters based on the system parameters, the cryptographic hash function, and the system master key secret factor, and to construct the system master key based on the system master key secret factor; The user private key generation unit is used to generate a user private key based on the user private key random factor, the user attribute set, the system public parameters, and the system master key; The user private key distribution unit is used to extract the user lightweight decryption factor from the user private key and distribute the user lightweight decryption factor to the data user terminal. The digest calculation and evidence storage unit is used to calculate the evidence storage digest based on the user's original information, the password hash function and the current timestamp, and upload the user's original information and the evidence storage digest to the permissioned chain evidence storage node cluster. The user's original information includes the user's identity identifier, the user attribute set and the user's public key.

4. The system according to claim 3, characterized in that, The system master key and parameter unit is used for: The secret factor of the system master key is randomly selected from a preset finite field; The system master key is constructed and stored based on the secret factor of the system master key; The group elements are calculated based on the system master key secret factor and the generator; The system public parameters are constructed based on the mapping relationship between the generator, the group element, the cryptographic hash function, and the bilinear group.

5. The system according to claim 3, characterized in that, The user private key generation unit is used for: Randomly select a random factor for the first user's private key and a random factor for the second user's private key from a preset finite field; The user private key is constructed using a first preset formula based on the first user private key random factor, the second user private key random factor, the user attribute set, and the system public parameters. The first preset formula includes: ; ; ; ; In the formula, All are components of the user's private key; Represents generator; and The secret factor of the system master key; This represents the random factor of the first user's private key; express In the predefined finite domain The following model Multiplicative inverse; Indicates user attributes; Represents a set of user attributes; This represents the random factor of the second user's private key; , , For cryptographic hash functions; This indicates publicly available system parameters; Represents the mapping relationship of the bilinear group; This represents the user's private key.

6. The system according to claim 1, characterized in that, The data ownership end includes: An index encryption unit is used to encrypt the keyword binding business identifier set according to the access policy, the system public parameters, the index encryption secret value, the index random vector, and the index random factor to obtain the encrypted index. The data encryption unit is used to encrypt the plaintext data according to the access policy, the keyword binding business identifier set, the system public parameters, the data encryption secret value, the data random vector, and the data random factor to obtain the data ciphertext. An encrypted data upload unit is used to upload the encrypted data and the encrypted index to the edge computing cluster.

7. The system according to claim 6, characterized in that, The index encryption unit is used for: The index encryption secret value, the index random vector, and the index random factor are selected from a preset finite field. Calculate the index secret share based on the access matrix in the access strategy and the index random vector; Based on the index random factor, the index encryption secret value, the system public parameters, the index secret share, and the mapping function of the matrix row-to-attribute in the access strategy, the keyword-bound business identifier set is encrypted using the second preset formula to obtain the encrypted index; The second preset formula includes: ; ; ; ; In the formula, All are components with encrypted indexes; Represents generator; This represents the encrypted secret value of the index; This indicates that the keyword is bound to a set of business identifiers; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the index secret share; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping function to attributes, Represents the access matrix; Indicates the index random factor; Indicates an encrypted index; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

8. The system according to claim 6, characterized in that, The data encryption unit is used for: The data encryption secret value, the data random vector, and the data random factor are randomly selected from a preset finite field. Calculate the data secret share based on the access matrix in the access strategy and the data random vector; Based on the data random factor, the data encryption secret value, the system public parameters, the data secret share, and the mapping function of the matrix row-to-row attribute in the access strategy, the plaintext data is encrypted using a third preset formula to obtain the data ciphertext. The third preset formula includes: ; ; ; ; In the formula, All are components of encrypted data; Represents generator; This represents the encrypted secret value of the data; Represents plaintext data; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; Indicates the share of data secrecy; , , For cryptographic hash functions; Indicates access policy Middle matrix rows Mapping functions to user attributes, Represents the access matrix; Indicates the random factor in the data; This indicates encrypted data; Indicates the number of rows in the accessed matrix; This indicates publicly available system parameters.

9. The system according to claim 1, characterized in that, The data user terminal includes: The retrieval trapdoor construction unit is used to construct the retrieval trapdoor based on the retrieval keywords, the user attribute set, the system public parameters, the user private key random factor, and the trapdoor random factor. The retrieval trapdoor sending unit is used to generate the retrieval request according to the retrieval trapdoor and send it to the edge computing cluster.

10. The system according to claim 9, characterized in that, The retrieval trapdoor construction unit is used for: The trapdoor random factor is randomly selected from a preset finite field; The search trap is constructed using the fourth preset formula based on the search keywords, the user attribute set, the system public parameters, the user private key random factor, and the trapdoor random factor. The fourth preset formula includes: ; ; ; ; In the formula, All of these are components for searching Xi'an Gate; Represents generator; Indicates the trapdoor random factor; This represents the random factor of the first user's private key; This represents the random factor of the second user's private key; , , For cryptographic hash functions; The bit string representing the search keywords; Indicates user attributes; Represents a set of user attributes; Indicates a search trapdoor; Represents the mapping relationship of the bilinear group; and The secret factor of the system master key; This indicates publicly available system parameters.

11. The system according to claim 1, characterized in that, The edge computing cluster includes: A hash integrity verification unit is used to perform hash integrity verification on the encrypted data and the encrypted index. An illegal request interception unit is configured to, if the retrieval request is included in the revocation list, revoke the retrieval request and send revocation information to the key management center, wherein the revocation information is used to generate a revocation instruction; The permission matching and verification unit is used to perform permission matching and verification on the retrieval request when the retrieval request is not included in the revocation list and meets the access policy, and obtain the permission matching and verification result. The first pre-decryption unit is used to perform pre-decryption calculation on the encrypted index according to the retrieval request, based on the permission matching verification result including permission matching verification success, using group inverse operation to obtain the verification index. The second pre-decryption unit is used to perform pre-decryption calculation on the encrypted data according to the retrieval request, based on the permission matching verification result including permission matching verification success, using group inverse operation to obtain a pre-decryption factor. A list update unit is used to update the cancellation list in real time according to the cancellation instruction; The proxy calculation result distribution unit is used to distribute the verification index and the pre-decryption factor as the pre-decryption result to the data user terminal; The decryption data upload unit is used to upload the retrieval request, matching result, and decryption log access record to the permission chain evidence storage node cluster for on-chain solidification by the permission chain evidence storage node cluster.

12. The system according to claim 11, characterized in that, The permission matching and verification unit is used for: If the search request is not included in the revocation list and the search request satisfies the access policy, based on the encrypted index, the group inverse operation is used to replace the division operation, and based on the fifth preset formula, the search trap in the search request is subjected to permission matching verification to obtain the permission matching verification result. The fifth preset formula includes: ; In the formula, This represents the mapping relationship of the bilinear group, which is a partial parameter of the publicly available system parameters; , , Components for encrypted indexes; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; Indicates the number of rows in the accessed matrix; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; when satisfying In this case, the permission matching is successful; A component for user private keys; Represents generator; It is the secret factor of the system master key.

13. The system according to claim 11, characterized in that, The first pre-decryption unit is used for: If the permission matching verification result includes successful permission matching verification, then according to the retrieval request, the encrypted index is pre-decrypted using group inverse operation and based on the sixth preset formula to obtain the verification index. The sixth preset formula includes: ; ; In the formula, Indicates the edge node index; Indicates the validation index; This represents the mapping relationship of the bilinear group, which is a partial parameter of the publicly available system parameters; , , , Components for encrypted indexes; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

14. The system according to claim 11, characterized in that, The second pre-decryption unit is used for: If the permission matching verification result includes successful permission matching verification, then according to the retrieval request, the group inverse operation is used to pre-decrypt the encrypted data based on the seventh preset formula to obtain the decryption factor. The seventh preset formula includes: ; In the formula, Indicates the decryption factor; This represents the mapping relationship of the bilinear group, which is a partial parameter of the publicly available system parameters; , , Components for encrypted data; , , Components for retrieving trapdoors; )express Indicates access policy Middle matrix rows The mapping function to user attribute 1, Represents the access matrix; Represents the reconstruction coefficients, and ; Indicates the index secret share; This represents the encrypted secret value of the index; Represents the access matrix of the first i OK; This indicates the number of rows in the accessed matrix.

15. The system according to claim 11, wherein the data user terminal comprises: The decryption calculation unit is used to calculate the matching plaintext data based on the verification index, the pre-decryption factor, and the user-lightweight decryption factor.

16. A cloud-edge collaborative encrypted retrieval method, characterized in that, include: Based on the key management center, the system parameters are initialized according to the security parameters. The system public parameters, system master key and user private key are constructed according to the system parameters. The user lightweight decryption factor is extracted according to the user private key and sent to the data user terminal. Based on the data owner, according to the pre-set access policy and the publicly available parameters of the system, the keyword binding business identifier set and plaintext data are encrypted to obtain encrypted index and data ciphertext; Based on the edge computing cluster, hash integrity verification is performed on the encrypted data and the encrypted index. Based on the data user terminal, a search trap is constructed according to the search keywords, user attribute set and the publicly available parameters of the system to generate a search request and send it to the edge computing cluster; Based on the edge computing cluster, illegal requests are intercepted according to the encrypted data and the encrypted index. Based on the edge computing cluster, permission matching and verification are performed on the retrieval requests that do not need to be intercepted, and permission matching and verification results are obtained. Based on the edge computing cluster, if the permission matching verification result includes successful permission matching verification, then according to the retrieval request, the encrypted index and the encrypted data are subjected to ciphertext index matching and pre-decryption operation to obtain the verification index and pre-decryption factor. Based on the data user terminal, according to the stored user lightweight decryption factor, the verification index, and the decryption factor, the verification index and the pre-decryption factor are decrypted to obtain matching plaintext data; Based on a permissioned blockchain evidence storage node cluster, all key behavioral data during the encrypted retrieval process is stored on the blockchain and solidified.

17. An electronic device, characterized in that, include: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the method as described in claim 16.

18. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the method as described in claim 16.