A searchable attribute-based encryption method supporting keyword hiding

By supporting a retrievable attribute-based encryption method with keyword hiding, the privacy protection problem in the dynamic permission management and data sharing process in the Internet of Things is solved, the efficient use and sharing of data is achieved, the privacy of user search keywords is protected, and fine-grained access control and fast data retrieval are supported.

CN119903550BActive Publication Date: 2025-10-10SHENZHEN ZHIHUI HUASHENG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411962109.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-10-10
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

Traditional privacy protection mechanisms in the Internet of Things are difficult to adapt to privacy protection in dynamic permission management and data sharing processes, and their data retrieval efficiency is low, making it impossible to effectively protect the privacy of user search keywords.

Method used

A searchable attribute-based encryption method that supports keyword hiding is adopted. Through the collaborative work of trusted institutions, attribute management institutions and edge servers, data encryption, decryption and retrieval are realized. Attribute-based encryption technology and retrieval encryption technology are used to ensure the security and privacy of the data sharing process.

Benefits of technology

It realizes the efficient utilization and sharing of data in the Internet of Things, protects the privacy of user search keywords, reduces the computing overhead in the data communication process, and supports fine-grained access control and fast data retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119903550B_ABST
    Figure CN119903550B_ABST
Patent Text Reader

Abstract

The application provides a searchable attribute-based encryption method supporting keyword hiding, and belongs to the technical field of data security sharing of Internet of Things.The technical scheme is as follows: a searchable attribute-based encryption method supporting keyword hiding comprises the following steps: S10, system initialization and registration;S20, data encryption;S30, fine-grained authorization;S40, data retrieval;S50, user decryption.The application realizes the safe sharing of data in the Internet of Things environment, enhances the flexibility and fine-grained management capability of access control, and ensures the information security in the retrieval and data sharing process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the fields of Internet of Things, data sharing, attribute-based encryption technology, and retrieval encryption, and in particular to a searchable attribute-based encryption method that supports keyword hiding. Background Art

[0002] With the rapid development of information technology, the Internet of Things (IoT), an emerging information technology paradigm, is rapidly transforming every aspect of our lives and work. It connects various information sensing devices, communication terminals, and computing resources via the internet, forming a complex and vast network system. Within this system, participants can exchange data, sense status, and perform remote control, enabling information collection, transmission, processing, and execution without human intervention. The IoT encompasses not only traditional computer networks and internet technologies but also emerging technologies such as wireless sensor networks, embedded systems, cloud computing, and big data analytics. Significant reductions in sensor costs and significant performance improvements have made large-scale deployment possible. The commercialization of 5G networks provides high-speed, low-latency data transmission capabilities. The development of cloud computing and edge computing provides a powerful platform for the storage, processing, and analysis of IoT data, enabling seamless integration from the cloud to the edge. IoT technology has gradually penetrated numerous fields, including industrial manufacturing, agricultural management, urban planning, and healthcare.

[0003] However, while enjoying the convenience brought by the Internet of Things, we also face unprecedented security challenges. Due to the sheer number and widespread distribution of IoT devices, a vast amount of data is generated locally or in the cloud. This data contains highly sensitive personal information, such as user behavior, location, and consumption patterns. For example, in a smart home environment, smart speakers record user voice commands; smart watches collect user movement data; and smart appliances track user daily routines. Therefore, while the Internet of Things provides personalized services to users, it also brings the risk of privacy breaches. If this data is misused or abused, it will have a serious impact on users' personal lives.

[0004] In IoT scenarios, traditional privacy protection mechanisms such as symmetric key encryption, public key infrastructure, and access control lists (ACLs) are gradually exposing their shortcomings in the face of increasingly complex data exchange and diverse demands. These traditional security measures primarily focus on securing point-to-point communications, failing to fully consider the dynamic collaboration requirements among the massive number of devices in the IoT and the complexities of privacy protection during data sharing. Static access control policies struggle to adapt to the dynamic nature of the IoT environment. In application scenarios such as smart homes and smart cities, the relationships between devices and users are highly dynamic, and user permissions may change over time and in different scenarios. For example, in a smart home system, a visitor may be temporarily granted access to certain rooms, but this permission must be valid for a specific time period and cannot impact the security of other areas. Traditional role-based or user-based access control systems typically rely on predefined rule sets, making them ineffective in managing frequently changing permissions.

[0005] Attribute-Based Encryption (ABE), a cryptographic language that enables fine-grained access, provides an effective solution for data privacy protection in the IoT. ABE allows data owners to define encryption policies based on the recipient's attributes (such as identity, position, timestamp, etc.). Only entities that meet specific attributes can decrypt and use the data, greatly improving data security. Ciphertext-Policy Attribute-Based Encryption (CP-ABE), a cryptographic language commonly used in the field of data sharing, allows data owners to specify which attribute combinations can decrypt the data. For example, in the healthcare field, CP-ABE can be used to set access permissions for patient medical records, allowing only qualified medical staff to view specific types of medical information within a specified time frame.

[0006] Furthermore, with the ever-increasing volume of IoT data, quickly finding relevant information within this vast data volume has become a challenge. Retrieval encryption technology enables efficient data retrieval by encrypting keywords without revealing the data's content. Users encrypt data based on its sharing scope. Regardless of the server, any qualified applicant can decrypt and view the relevant shared information, eliminating the need to expose the data to unrelated users. This ensures data flow while maintaining privacy and security. Summary of the Invention

[0007] The purpose of the present invention is to provide a searchable attribute-based encryption method that supports keyword hiding. By using search encryption and attribute-based encryption technologies, the security of the data sharing process in the Internet of Things scenario is guaranteed, which effectively prevents unauthorized users from accessing data and protects the privacy of users' search keywords.

[0008] In order to achieve the above-mentioned object of the invention, the present invention adopts a technical solution specifically as follows: a searchable attribute-based encryption method supporting keyword hiding, comprising the following steps:

[0009] S10, System Initialization and Registration: The trusted institution (TI) initializes the system, generates and publishes the system's public parameters; the data applicant (DA) registers with the system, obtains the user's public-private key pair and retrieval key; the TI accepts the DA's request for retrieval key generation and calculates the retrieval key for the DA; the attribute management authority (AU) registers with the system, obtains the public-private key pair for the attribute under its jurisdiction, and publishes the public key in the system;

[0010] S20, data encryption. The data provider DP encrypts the shared data according to the predefined access policy and generates the data sharing ciphertext KSCT. The DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT. The DP stores all the generated ciphertexts in the edge server ES.

[0011] S30, fine-grained authorization. Before accessing data, the data applicant DA needs to apply for a decryption private key from the attribute management agency AU. The AU generates a decryption key for users within its attribute jurisdiction. After receiving the decryption key, the DA needs to blind it with its own private key to obtain the decryption private key udk.

[0012] S40, Data Retrieval. To retrieve data and protect keyword privacy, the data requester DA encrypts the search keyword. The DA sends a search request to the edge server ES, which stores the shared data. The ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext. For ciphertexts that pass the preliminary screening, the ES further performs a matching operation and returns the storage address of the qualified ciphertext to the DA.

[0013] S50: User decryption. The data requester DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address. The DA uses its own retrieval key rpk and decryption private key udk to decrypt the data sharing ciphertext KSCT. Subsequently, the DA further uses its own private key to recover the shared data.

[0014] Among them, the main entities in the retrievable attribute-based encryption method that supports keyword hiding include: a trusted organization, an attribute management organization, a data owner, a data applicant, and an edge server.

[0015] Furthermore, the step S10 includes:

[0016] S101. The trusted institution (TI) is responsible for system initialization. All institutions or users participating in data sharing need to complete registration with TI.

[0017] S102, the trusted institution TI sets a security parameter λ, selects two bilinear groups G and G with order N = p1p2p3 T , where p1, p2, p3 represent large prime numbers, and we define That is, G1, G2, and G3 are three subgroups of group G;

[0018] S103, the trusted institution TI selects a bilinear mapping e:G×G→G T , select two random generators g,h∈G1 and a hash function H:{0,1}*→G;

[0019] S104, the trusted institution TI selects a random number α, As the retrieval private key rek, that is, rek = {α, β}, where Represents the set {1,2,…,N-1}, TI needs to save rek secretly, then TI calculates and publishes the public parameters of the system PP={N,G,G1,G T ,g,g α ,h,h α ,e(g,h) αβ ,H(·)}, ensures that any legitimate user can quickly obtain PP from the system;

[0020] S105. Each data applicant registered in the system has his own attribute set. Assume that the data applicant DA x The attribute set it has is S x ={x1,x2,…,x n};

[0021] S106, Data Applicant DA x Randomly select r x , As your own private key sk x , that is, sk x ={r x ,t x}, and calculate the user's public key In order to achieve subsequent data retrieval, DA x Calculate user retrieval key And send it to the trusted institution TI;

[0022] S107, TI receives the user retrieval key rpk x,1 After that, use your own retrieval private key rek as DAx Calculate the retrieval key rpk x,2 :

[0023]

[0024] S108: Assume that the attribute management organization AU p Manages a set of attributes S p , for S p Attribute u,AU in p Select random number As the attribute private key of u ask p,u ={τ u ,δ u}, and calculate the corresponding attribute public key Then AU p APK p,u Published in the system, data providers in the system can download apk from the system p,u Encrypt shared data.

[0025] Furthermore, the step S20 includes:

[0026] S201, assuming that the data to be shared is M, each legal data provider DP will pre-define an access policy (A * ,ρ * ), where A * is a matrix with l rows and n columns, ρ * Indicates that A * Each row is mapped to an attribute, and DP chooses a random value Construct a random vector in Represents a d-dimensional vector. For each row v (1≤v≤l) of the matrix, DP calculates λ v =A * v ·s, where A * v is the matrix A * The vth row, then, DP selects a random number Calculate the data sharing ciphertext KSCT:

[0027]

[0028] S202: Assuming that the shared data M has feature w, the data provider DP encrypts w as a search keyword to generate a keyword search ciphertext KRCT:

[0029]

[0030] S203, the data provider DP converts the ciphertext CT into {KSCT = (C0, C1, (C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C6, v ) v=1,2,…,l )} is uploaded to the nearest edge server ES, and ES returns the storage location address URL of CT to DP. Subsequently, DP publishes data sharing information in the system and pledges certain assets to ensure data quality.

[0031] Furthermore, the step S30 includes:

[0032] S301. Assume that the data applicant DA x Has attribute set S x , when data needs to be retrieved from the system, DA x Will report to the property management agency AU p Issue a decryption private key request UR x ={u∈S x ,AU p ,pk x}, where u is the attribute set S x The attribute in pk x It's DA x The user's public key;

[0033] S302, attribute management agency AU p Receive user application for UR x After that, check UR x Whether the user attribute u in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p Data Requester (DA) x Generate decryption key Next, AU p DK x Return to DA as application result x :

[0034] S303, Data Applicant DA x Receive the decryption key dk x Afterwards, use your own private key sk x Blindly decrypt the key to obtain the user's decryption private key

[0035] Furthermore, the step S40 includes:

[0036] S401. Assume that the data applicant DA x Use keyword q to retrieve shared data in the system. Before retrieval, DA xThe keyword q needs to be encrypted using the search key rpk x,2 Calculate keyword search key

[0037] S402, Data Applicant DA x Send a retrieval request SR to the edge server ES that stores shared data x ={S x ,pk x ,rpk x,1 ,rpk x,3}, where S x It's DA x Then, ES uses the attribute set S x Match the access policy in the shared data (A * ,ρ * ), filter out the data sharing ciphertext KSCT that meets the access policy;

[0038] S403: For the ciphertext that passes the preliminary screening, the edge server ES calculates a set of constants So that ∑ v∈I k v ·A * v =(1,0,...,0), where A * v is the matrix A * The vth row of I={v|v∈[l],ρ * (v)∈S x} is the matrix A * The row index of , verify the following equation:

[0039]

[0040] Right now: where ∑ v∈I λ v k v =∑ v∈I A * v ·s·k v =s, if the equation holds true, ES returns the filtered ciphertext location URL to the data requester DA x .

[0041] Furthermore, the step S50 includes:

[0042] S501, Data applicant DA x After receiving the location address URL, the ciphertext CT is downloaded from the edge server ES according to the URL. x Attribute S xCan satisfy the access policy of ciphertext CT (A * ,ρ * ), therefore, DA x Need to calculate a set of constants So that ∑ v∈I k v ·A * v =(1 , 0,...,0), then, DA x Use the retrieval key rpk x,1 And decryption private key udk x Decrypt the data sharing ciphertext KSCT and calculate ct:

[0043]

[0044] S502, data applicant DA x Use ct and your own private key sk x Share the ciphertext KSCT with the data to restore the shared data

[0045] Compared with the prior art, the present invention has the following beneficial effects:

[0046] (1) The present invention provides a searchable attribute-based encryption method that supports keyword hiding, proposes a secure data access solution based on attribute-based encryption in the Internet of Things, and realizes the efficient use and sharing of data in the Internet of Things.

[0047] (2) The present invention provides a searchable attribute-based encryption method that supports keyword hiding and proposes a keyword-searchable data sharing method, which allows the server to retrieve encrypted data without leaking keyword information, thereby protecting the privacy of user keywords.

[0048] (3) This invention provides a searchable attribute-based encryption method that supports keyword hiding. The proposed method can provide technical support for data sharing among IoT devices. Even without the help of a server, users can still complete the decryption calculation in a relatively short time, effectively reducing the computational overhead during data communication. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The accompanying drawings are used to provide further understanding of the present invention and constitute a part of the specification. They are used to explain the present invention together with the embodiments of the present invention and do not constitute a limitation of the present invention.

[0050] Figure 1 The present invention provides a flowchart of a searchable attribute-based encryption method that supports keyword hiding.

[0051] Figure 2 A model diagram of a searchable attribute-based encryption method supporting keyword hiding provided by the present invention. DETAILED DESCRIPTION

[0052] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. Of course, the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0053] Example 1

[0054] See also Figures 1 to 2 As shown, an embodiment of the present invention provides a searchable attribute-based encryption method that supports keyword hiding, and its entities include: a trusted organization, an attribute management organization, a data owner, a data applicant, and an edge server.

[0055] An embodiment of the present invention provides a searchable attribute-based encryption method supporting keyword hiding, which specifically includes the following steps:

[0056] S10, System Initialization and Registration: The trusted institution (TI) initializes the system, generates and publishes the system's public parameters; the data applicant (DA) registers with the system, obtains the user's public-private key pair and retrieval key; the TI accepts the DA's request for retrieval key generation and calculates the retrieval key for the DA; the attribute management authority (AU) registers with the system, obtains the public-private key pair for the attribute under its jurisdiction, and publishes the public key in the system;

[0057] S20, data encryption. The data provider DP encrypts the shared data according to the predefined access policy and generates the data sharing ciphertext KSCT. The DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT. The DP stores all the generated ciphertexts in the edge server ES.

[0058] S30, fine-grained authorization. Before accessing data, the data applicant DA needs to apply for a decryption private key from the attribute management agency AU. The AU generates a decryption key for users within its attribute jurisdiction. After receiving the decryption key, the DA needs to blind it with its own private key to obtain the decryption private key udk.

[0059] S40, Data Retrieval. To retrieve data and protect keyword privacy, the data requester DA encrypts the search keyword. The DA sends a search request to the edge server ES, which stores the shared data. The ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext. For ciphertexts that pass the preliminary screening, the ES further performs a matching operation and returns the storage address of the qualified ciphertext to the DA.

[0060] S50, user decryption, the data applicant DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address; the DA decrypts the data sharing ciphertext KSCT using the search key rpk and the decryption private key udk held by the DA, and then the DA further recovers the shared data using the private key of the DA;

[0061] The main entities in the searchable attribute-based encryption method supporting keyword hiding include a trusted institution, an attribute management institution, a data owner, a data applicant and an edge server.

[0062] The step S10 specifically includes the following steps:

[0063] S101, the trusted institution TI is responsible for system initialization, and all institutions or users participating in data sharing need to complete registration at the TI;

[0064] S102, the trusted institution TI sets a security parameter λ, selects a bilinear group G of two orders N=p1p2p3 and G T , wherein p1, p2, p3 represent large prime numbers, and G1, G2 and G3 are three subgroups of the group G;

[0065] S103, the trusted institution TI selects a bilinear mapping e: G×G→G T , selects two random generators g, h∈G1 and a hash function H:{0,1}*→G;

[0066] S104, the trusted institution TI selects a random number α, as the search private key rek, that is, rek={α,β}, wherein represents the set {1,2,…,N-1}, and the TI needs to secretly keep the rek, then the TI calculates and publishes the public parameters PP of the system = {N,G,G1,G T ,g,g α ,h,h α ,e(g,h) αβ ,H(·)}, ensuring that any legitimate user can quickly obtain the PP from the system;

[0067] S105, each data applicant registered in the system has its own attribute set, assuming that the data applicant DA x has an attribute set S x ={x1,x2,…,x n};

[0068] S106, the data applicant DA x randomly selects r x , as the private key skx , that is, sk x ={r x ,t x}, and calculate the user's public key In order to achieve subsequent data retrieval, DA x Calculate user retrieval key And send it to the trusted institution TI;

[0069] S107, TI receives the user retrieval key rpk x,1 After that, use your own retrieval private key rek as DA x Calculate the retrieval key rpk x,2 :

[0070]

[0071] S108: Assume that the attribute management organization AU p Manages a set of attributes S p , for S p Attribute u,AU in p Choose a random number τ u , As the attribute private key of u ask p,u ={τ u ,δ u}, and calculate the corresponding attribute public key Then AU p APK p,u Published in the system, data providers in the system can download apk from the system p,u Encrypt shared data.

[0072] The step S20 specifically includes the following steps:

[0073] S201, assuming that the data to be shared is M, each legal data provider DP will pre-define an access policy (A * ,ρ * ), where A * is a matrix with l rows and n columns, ρ * Indicates that A * Each row is mapped to an attribute, and DP chooses a random value Construct a random vector in Represents a d-dimensional vector. For each row v (1≤v≤l) of the matrix, DP calculates λ v =A * v ·s, where A * v is the matrix A * The vth row, then, DP selects a random number Calculate the data sharing ciphertext KSCT:

[0074]

[0075] S202: Assuming that the shared data M has feature w, the data provider DP encrypts w as a search keyword to generate a keyword search ciphertext KRCT:

[0076]

[0077] S203, the data provider DP converts the ciphertext CT into {KSCT = (C0, C1, (C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C6, v ) v=1,2,…,l )} is uploaded to the nearest edge server ES, and ES returns the storage location address URL of CT to DP. Subsequently, DP publishes data sharing information in the system and pledges certain assets to ensure data quality.

[0078] The step S30 specifically includes the following steps:

[0079] S301. Assume that the data applicant DA x Has attribute set S x , when data needs to be retrieved from the system, DA x Will report to the property management agency AU p Issue a decryption private key request UR x ={u∈S x ,AU p ,pk x}, where u is the attribute set S x The attribute in pk x It's DA x The user's public key;

[0080] S302, attribute management agency AU p Receive user application for UR x After that, check UR x Whether the user attribute u in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p Data Requester (DA) x Generate decryption key Next, AU p DK x Return to DA as application result x :

[0081] S303, Data Applicant DA xReceive the decryption key dk x Afterwards, use your own private key sk x Blindly decrypt the key to obtain the user's decryption private key

[0082] The step S40 specifically includes the following steps:

[0083] S401. Assume that the data applicant DA x Use keyword q to retrieve shared data in the system. Before retrieval, DA x The keyword q needs to be encrypted using the search key rpk x,2 Calculate keyword search key

[0084] S402, Data Applicant DA x Send a retrieval request SR to the edge server ES that stores shared data x ={S x ,pk x ,rpk x,1 ,rpk x,3}, where S x It's DA x Then, ES uses the attribute set S x Match the access policy in the shared data (A * ,ρ * ), filter out the data sharing ciphertext KSCT that meets the access policy;

[0085] S403: For the ciphertext that passes the preliminary screening, the edge server ES calculates a set of constants So that ∑ v∈I k v ·A * v =(1,0,...,0), where A * v is the matrix A * The vth row of I={v|v∈[l],ρ * (v)∈S x} is the matrix A * The row index of , verify the following equation:

[0086]

[0087] where ∑ v∈I λ v k v =∑ v∈I A * v ·s·k v= s, if the equation is established, the ES returns the position address URL of the filtered ciphertext to the data applicant DA x .

[0088] The step S50 specifically comprises the following steps:

[0089] S501, the data applicant DA x After receiving the position address URL, the ciphertext CT is downloaded from the edge server ES according to the URL, since the DA x has the attribute S x which can satisfy the access policy (A * , p * ) of the ciphertext CT, therefore, the DA x needs to calculate a set of constants such that ∑ v∈I k v ·A * v = (1, 0,..., 0), then, the DA x uses the retrieval key rpk x,1 and the decryption private key udk x to decrypt the data sharing ciphertext KSCT, and the ct is calculated:

[0090]

[0091] S502, the data applicant DA x uses the ct, its own private key sk x and the data sharing ciphertext KSCT to recover the shared data M

[0092]

[0093] In the embodiment of the present application, the method is described from the functional aspect. The functionality of the method mainly considers the use of groups, the security of retrieval, etc.

[0094] Table 1 shows the performance of the embodiment in terms of security.

[0095] Table 1 Functionality of the method

[0096]

[0097] The above only describes the preferred embodiments of the present application and is not used to limit the present application, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A searchable attribute-based encryption method supporting keyword hiding, characterized in that: The following steps are involved: S10, System Initialization and Registration: The trusted institution TI initializes the system, generates and publishes the system's public parameters; the data applicant DA registers in the system, obtains the user's public and private key pair and retrieval key; TI accepts the DA's retrieval key generation request and calculates the retrieval key for the DA; The attribute management agency AU registers in the system, obtains the public and private key pairs of the attributes under its jurisdiction, and publishes the public key in the system; S20, data encryption. The data provider DP encrypts the shared data according to the predefined access policy and generates the data sharing ciphertext KSCT. The DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT. The DP stores all the generated ciphertexts in the edge server ES. The step S20 includes the following steps: S201, assuming that the data to be shared is M, each legal data provider DP will pre-define an access policy (A * ,ρ * ), where A * is a matrix with l rows and n columns, ρ * Indicates that A * Each row of Z is mapped to an attribute, and DP selects a random value s∈Z N * , where Z N * Represent the set {1,2,…,N-1}, construct a random vector s=(s,s2,s3,…,s d )∈Z N d , where Z N d Represents a d-dimensional vector. For each row v (1≤v≤l) of the matrix, DP calculates λ v =A * v ·s, where A * v is the matrix A * The vth row of , then DP selects a random number z1∈Z N * , calculate the data sharing ciphertext KSCT: S202: Assuming that the shared data M has feature w, the data provider DP encrypts w as a search keyword to generate a keyword search ciphertext KRCT: S203, the data provider DP converts the ciphertext CT into {KSCT = (C0, C1, (C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C 6,v ) v=1,2,…,l )}Upload to the nearest edge server ES, ES returns the storage location address URL of CT to DP, and then DP publishes data sharing information in the system and pledges certain assets to ensure data quality; S30, fine-grained authorization. Before accessing data, the data applicant DA needs to apply for a decryption private key from the attribute management agency AU. The AU generates a decryption key for users within its attribute jurisdiction. After receiving the decryption key, the DA needs to blind it with its own private key to obtain the decryption private key udk. S40, Data Retrieval. To retrieve data and protect keyword privacy, the data requester DA encrypts the search keyword. The DA sends a search request to the edge server ES, which stores the shared data. The ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext. For ciphertexts that pass the preliminary screening, the ES further performs a matching operation and returns the storage address of the qualified ciphertext to the DA. S50: User decryption. The data requester DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address. The DA uses its own retrieval key rpk and decryption private key udk to decrypt the data sharing ciphertext KSCT. Subsequently, the DA further uses its own private key to recover the shared data. The entities in the retrievable attribute-based encryption method supporting keyword hiding include: a trusted organization, an attribute management organization, a data owner, a data applicant, and an edge server.

2. The searchable attribute-based encryption method supporting keyword hiding according to claim 1, characterized in that: The step S10 includes the following steps: S101. The trusted institution (TI) is responsible for system initialization. All institutions or users participating in data sharing need to complete registration with TI. S102, the trusted institution TI sets a security parameter λ, selects two bilinear groups G and G with order N = p1p2p3 T , where p1, p2, p3 represent large prime numbers, and we define That is, G1, G2, and G3 are three subgroups of group G; S103, the trusted institution TI selects a bilinear mapping e:G×G→G T , select two random generators g,h∈G1 and a hash function H:{0,1}*→G; S104, the trusted institution TI selects random numbers α, β∈Z N * As the retrieval private key rek, that is, rek = {α, β}, TI needs to keep rek secret, and then TI calculates and publishes the public parameters PP = {N, G, G1, G T ,g,g α ,h,h α ,e(g,h) αβ ,H(·)}, ensures that any legitimate user can quickly obtain PP from the system; S105. Each data applicant registered in the system has his own attribute set. Assume that the data applicant DA x The attribute set it has is S x ={x1,x2,…,x n }; S106, Data Applicant DA x Randomly select r x ,t x ∈Z N * As your own private key sk x , that is, sk x ={r x ,t x }, and calculate the user's public key In order to achieve subsequent data retrieval, DA x Calculate user retrieval key And send it to the trusted institution TI; S107, TI receives the user retrieval key rpk x,1 After that, use your own retrieval private key rek as DA x Calculate the retrieval key rpk x,2 : S108: Assume that the attribute management organization AU p Manages a set of attributes S p , for S p Attribute u,AU in p Choose a random number τ u ,δ u ∈Z N * As the attribute private key of u ask p,u ={τ u ,δ u }, and calculate the corresponding attribute public key Then AU p APK p,u Published in the system, data providers in the system can download apk from the system p,u Encrypt shared data.

3. The searchable attribute-based encryption method supporting keyword hiding according to claim 2, characterized in that: The step S30 includes the following steps: S301. Assume that the data applicant DA x Has attribute set S x , when data needs to be retrieved from the system, DA x Will report to the property management agency AU p Issue a decryption private key request UR x ={u∈S x ,AU p ,pk x }, where u is the attribute set S x The attribute in pk x It's DA x The user's public key; S302, attribute management agency AU p Receive user application UR x After that, check UR x Whether the user attribute u in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p Data Requester (DA) x Generate decryption key Next, AU p DK x Return to DA as application result x : S303, Data Applicant DA x Receive the decryption key dk x Afterwards, use your own private key sk x Blindly decrypt the key to obtain the user's decryption private key 4. The searchable attribute-based encryption method supporting keyword hiding according to claim 2, characterized in that: The step S40 includes the following steps: S401. Assume that the data applicant DA x Use keyword q to retrieve shared data in the system. Before retrieval, DA x The keyword q needs to be encrypted using the search key rpk x,2 Calculate keyword search key S402, Data Applicant DA x Send a retrieval request SR to the edge server ES that stores shared data x ={S x ,pk x ,rpk x,1 ,rpk x,3 }, where S x It's DA x Then, ES uses the attribute set S x Match the access policy in the shared data (A * ,ρ * ), filter out the data sharing ciphertext KSCT that meets the access policy; S403: For the ciphertext that passes the preliminary screening, the edge server ES calculates a set of constants {k v ∈Z N * } v=1,2,…,l , so that ∑ v∈I k v ·A * v =(1,0,...,0), where A * v is the matrix A * The vth row of I={v|v∈[l],ρ * (v)∈S x } is the matrix A * The row index of , verify the following equation: Right now: where ∑ v∈I λ v k v =∑ v∈I A * v ·s·k v =s, if the equation holds true, ES returns the filtered ciphertext location URL to the data requester DA x .

5. The searchable attribute-based encryption method supporting keyword hiding according to claim 2, characterized in that: The step S50 includes the following steps: S501, Data applicant DA x After receiving the location address URL, the ciphertext CT is downloaded from the edge server ES according to the URL. x Attribute S x Can satisfy the access policy of ciphertext CT (A * ,ρ * ), therefore, DA x Need to calculate a set of constants {k v ∈Z N * }v=1,2,…,l, so that ∑ v∈I k v ·A * v =(1,0,...,0), then, DA x Use the retrieval key rpk x,1 And decryption private key udk x Decrypt the data sharing ciphertext KSCT and calculate ct: S502, data applicant DA x Use ct and your own private key sk x Share the ciphertext KSCT with the data to restore the shared data

Citation Information

Patent Citations

  • CP-ABE-based keyword hiding search method

    CN115643016A

  • Attribute-based encryption (ABE) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (IOT)

    US20230019301A1