Retrievable attribute-based encryption method supporting keyword hiding
By adopting a retrievalable attribute-based encryption method that supports keyword hiding in the Internet of Things scenario, the problem that traditional privacy protection mechanisms are difficult to adapt to dynamic changes in the Internet of Things environment is solved, and the data is securely shared and privacy protection is achieved, and data utilization efficiency is improved.
Patent Information
- Application Number
- CN202411962109.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2044-12-30
AI Technical Summary
In the IoT scenario, traditional privacy protection mechanisms are difficult to effectively protect the privacy of data during dynamic collaboration between massive devices, especially in the process of data sharing, and static access control policies are difficult to adapt to dynamic changes in the IoT environment.
The retrievalable attribute-based encryption method that supports keyword hiding is adopted, and the search encryption and attribute-based encryption technology are used to achieve secure sharing of data in IoT scenarios. This method includes steps such as system initialization and registration, data encryption, fine-grained authorization, data retrieval and user decryption, to ensure the security and privacy of the data.
It realizes efficient utilization and sharing of data in IoT scenarios, protects the privacy of users' search keywords, prevents unauthorized users from accessing data, and reduces the computing overhead during data communication.
Smart Images

Figure CN119903550A_ABST
Abstract
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 supporting keyword hiding. Background Art
[0002] With the rapid development of information technology, the Internet of Things (IoT), as an emerging information technology paradigm, is rapidly changing all aspects of our lives and work. It connects various information sensing devices, communication terminals and computing resources through the Internet to form a complex and huge network system. In this system, participants can realize data exchange, state perception and remote control, and complete information collection, transmission, processing and execution without human intervention. The Internet of Things not only covers traditional computer networks and Internet technologies, but also integrates emerging technologies such as wireless sensor networks, embedded systems, cloud computing, and big data analysis. The significant reduction in sensor costs and the substantial improvement in performance make large-scale deployment possible. The commercialization of 5G networks provides high-speed and low-latency data transmission capabilities. The development of cloud computing and edge computing provides a powerful support platform for the storage, processing and analysis of IoT data, realizing seamless connection from the cloud to the edge. Now IoT technology has gradually penetrated into industrial manufacturing, agricultural management, urban planning, medical health and other fields.
[0003] However, while enjoying the convenience brought by the Internet of Things, we are also facing unprecedented security challenges. Due to the large number of IoT devices and their wide distribution, a large amount of data is generated locally or in the cloud. These data contain a large amount of highly sensitive personal information such as user behavior habits, geographic location, and consumption patterns. For example, in a smart home environment, smart speakers record users' voice commands; smart watches collect users' movement trajectories; and smart home appliances reflect users' daily routines. Therefore, while the Internet of Things provides users with personalized services, it also brings the risk of privacy leakage. Once these data are improperly used or abused, they will have a serious impact on users' personal lives.
[0004] In the IoT scenario, traditional privacy protection mechanisms such as symmetric key encryption, public key infrastructure, and access control lists have gradually exposed their shortcomings in the face of increasingly complex data exchanges and diversified needs. These traditional security measures mainly focus on the security of point-to-point communications, and fail to fully consider the needs of dynamic collaboration between massive devices in the IoT and the complexity of privacy protection in the data sharing process. Static access control strategies are difficult to adapt to dynamic changes in the IoT environment. In application scenarios such as smart homes and smart cities, the relationship between devices and users is highly variable, and user permissions may change over time and in different scenarios. For example, in a smart home system, visitors may be temporarily granted access to certain rooms, but this permission needs to be valid for a specific period of time and cannot affect the security of other areas. Traditional role-based or user-based access control systems usually rely on pre-defined rule sets, and it is difficult to effectively deal with frequently changing permission management.
[0005] Attribute-Based Encryption (ABE), as a cryptographic primitive that can achieve fine-grained access, provides an effective solution for data privacy protection in IoT. ABE allows data owners to define encryption policies based on the attributes of the recipient (such as identity, position, timestamp, etc.). Only entities that meet specific attributes can decrypt and use data, greatly improving data security. Ciphertext-Policy Attribute-Based Encryption (CP-ABE), as a commonly used cryptographic primitive in the field of data sharing, allows data owners to specify which attribute combinations can decrypt data. For example, in the field of healthcare, CP-ABE can be used to set access rights to patient medical records so that only qualified medical staff can view specific types of diagnosis and treatment information within a specified time frame.
[0006] In addition, as the amount of data in IOT continues to grow, how to quickly find relevant information in massive data has become a challenge. Retrieval encryption technology can achieve efficient data retrieval by encrypting keywords without leaking data content. Users encrypt data according to the sharing scope of the data. No matter which server, as long as the conditions are met, applicants can decrypt and view relevant shared information without exposing the data to irrelevant users. This not only ensures the flow of data, but also maintains 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, which uses search encryption and attribute-based encryption technology to ensure the security of the data sharing process in the Internet of Things scenario, effectively prevent unauthorized users from accessing data, and protect the privacy of user search keywords;
[0008] In order to achieve the above-mentioned invention object, the technical solution adopted by the present invention is specifically: 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 public parameters of the system. The data applicant DA registers in the system and obtains the user's public and private key pair and search key. TI accepts the search key generation request from DA and calculates the search key for DA. The attribute management agency AU registers in the system, obtains the public and private key pair of 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 pre-defined access policy to generate the data sharing ciphertext KSCT; DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT; 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; AU generates a decryption key for users within its attribute jurisdiction; after receiving the decryption key, DA needs to blind it with its own private key to obtain the decryption private key udk;
[0012] S40, data retrieval, in order to retrieve data and protect keyword privacy, the data applicant DA encrypts the retrieval keyword; DA sends a retrieval request to the edge server ES that stores shared data; ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext; for the ciphertext that passes the preliminary screening, ES further performs a matching operation and returns the storage address of the ciphertext that meets the conditions to DA;
[0013] S50, user decryption, the data applicant DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address; DA uses its own retrieval key rpk and decryption private key udk to decrypt the data sharing ciphertext KSCT, and then DA further uses its own private key to restore the shared data;
[0014] Among them, the main 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.
[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 at TI.
[0017] S102, the trusted institution TI sets a security parameter λ and selects two bilinear groups G and G with order N = p1p2p3 T , where p1, p2, p3 represent large prime numbers, and 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 keep rek secret, 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(·)}, ensuring 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 The attribute u,AU 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 DP 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 legitimate data provider DP will predefine 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 selects 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 of , 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={KSCT=(C0,C1,(C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C6, v ) v=1,2,…,l )}Upload it 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.
[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 AU p Send 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 UR x After that, check UR x Whether the user attribute u in is in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p For data applicants 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 searching, 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 the 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 Matching access policies in 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 * (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, ES returns the URL of the filtered ciphertext 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 The property S xCan satisfy the access policy of the 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 And data sharing ciphertext KSCT restore 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 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 searchable keyword data sharing method, which allows the server to retrieve encrypted data without leaking keyword information, thereby protecting the privacy of user keywords.
[0048] (3) The present invention provides a searchable attribute-based encryption method that supports keyword hiding. The proposed method can provide technical support for data sharing of 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 in the data communication process. 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 supporting 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 solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. Of course, the specific embodiments described here are only used to explain the present invention and are not used to limit the present invention.
[0053] Example 1
[0054] See also Figure 1 to Figure 2 As shown, an embodiment of the present invention provides a searchable attribute-based encryption method supporting keyword hiding, and its entities include: a trusted agency, an attribute management agency, 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 public parameters of the system. The data applicant DA registers in the system and obtains the user's public and private key pair and search key. TI accepts the search key generation request from DA and calculates the search key for DA. The attribute management agency AU registers in the system, obtains the public and private key pair of 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 pre-defined access policy to generate the data sharing ciphertext KSCT; DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT; 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; AU generates a decryption key for users within its attribute jurisdiction; after receiving the decryption key, DA needs to blind it with its own private key to obtain the decryption private key udk;
[0059] S40, data retrieval, in order to retrieve data and protect keyword privacy, the data applicant DA encrypts the retrieval keyword; DA sends a retrieval request to the edge server ES that stores shared data; ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext; for the ciphertext that passes the preliminary screening, ES further performs a matching operation and returns the storage address of the ciphertext that meets the conditions to DA;
[0060] S50, user decryption, the data applicant DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address; DA uses its own retrieval key rpk and decryption private key udk to decrypt the data sharing ciphertext KSCT, and then DA further uses its own private key to restore the shared data;
[0061] Among them, the main 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.
[0062] The step S10 specifically includes the following steps:
[0063] S101. The trusted institution TI is responsible for system initialization. All institutions or users participating in data sharing need to complete registration at TI.
[0064] S102, the trusted institution TI sets a security parameter λ and selects two bilinear groups G and G with order N = p1p2p3 T , where p1, p2, p3 represent large prime numbers, and define That is, G1, G2, and G3 are three subgroups of group G;
[0065] 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;
[0066] 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 keep rek secret, 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(·)}, ensuring that any legitimate user can quickly obtain PP from the system;
[0067] 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};
[0068] S106. Data applicant DA x Randomly select r x , As your own 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 The attribute u,AU 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 DP 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 legitimate data provider DP will predefine 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 selects 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 of , 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={KSCT=(C0,C1,(C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C6, v ) v=1,2,…,l )}Upload it 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.
[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 AU p Send 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 UR x After that, check UR x Whether the user attribute u in is in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p For data applicants 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 searching, 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 the 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 Matching access policies in 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 * (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 holds, ES returns the URL of the filtered ciphertext to the data requester DA x .
[0088] The step S50 specifically includes the following steps:
[0089] 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 The property S x Can satisfy the access policy of the 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:
[0090]
[0091] S502, data applicant DA x Use ct and your own private key sk x And data sharing ciphertext KSCT restore shared data M
[0092]
[0093] In the embodiment of the present invention, the method is described from the functional aspect. The functionality of the method mainly considers the use of the group, the security of the search, etc.;
[0094] Table 1 shows the performance of this embodiment in terms of security.
[0095] Table 1 Functionality of the methods
[0096]
[0097] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
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 public parameters of the system. The data applicant DA registers in the system and obtains the user's public and private key pair and retrieval key. TI accepts the retrieval key generation request from DA and calculates the retrieval key for DA. The attribute management agency AU registers in the system, obtains the public and private key pair of the attribute it manages, and publishes the public key in the system; S20, data encryption, the data provider DP encrypts the shared data according to the pre-defined access policy to generate the data sharing ciphertext KSCT; DP extracts the features of the shared data and encrypts these features as keywords to generate the keyword retrieval ciphertext KRCT; DP stores all the generated ciphertexts in the edge server ES; 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; AU generates a decryption key for users within its attribute jurisdiction; after receiving the decryption key, DA needs to blind it with its own private key to obtain the decryption private key udk; S40, data retrieval, in order to retrieve data and protect keyword privacy, the data applicant DA encrypts the retrieval keyword; DA sends a retrieval request to the edge server ES that stores shared data; ES uses the attribute set and access policy to perform a preliminary screening of the ciphertext; for the ciphertext that passes the preliminary screening, ES further performs a matching operation and returns the storage address of the ciphertext that meets the conditions to DA; S50, user decryption, the data applicant DA downloads the ciphertext from the edge server ES according to the received ciphertext storage address; DA uses its own retrieval key rpk and decryption private key udk to decrypt the data sharing ciphertext KSCT, and then DA further uses its own private key to restore 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 comprises 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 at TI. S102, the trusted institution TI sets a security parameter λ and selects two bilinear groups G and G with order N = p1p2p3 T , where p1, p2, p3 represent large prime numbers, and define G1, G2, 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 = {α, β}, where Z N * represents the set {1,2,…,N-1}, TI needs to keep rek secret, 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(·)}, ensuring 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 The 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 DP 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 1, characterized in that: The step S20 comprises the following steps: S201, assuming that the data to be shared is M, each legitimate data provider DP will predefine 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 * , 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={KSCT=(C0,C1,(C 2,v ) v=1,2,…,l ),KRCT=(C3,C4,C5,(C 6,v ) v=1,2,…,l )}Upload it 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.
4. The searchable attribute-based encryption method supporting keyword hiding according to claim 1, characterized in that: The step S30 comprises 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 AU p Send 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 is in the attribute set S it manages p If not, the user's application will be rejected. Otherwise, AU p For data applicants 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 5. The searchable attribute-based encryption method supporting keyword hiding according to claim 1, characterized in that: The step S40 comprises the following steps: S401. Assume that the data applicant DA x Use keyword q to retrieve shared data in the system. Before searching, 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 the 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 Matching access policies in 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 * (v)∈S x } is the matrix A * , verify the following equation: Right now: where ∑ v∈I λ v k v =∑ v∈I A * v ·s·k v =s, if the equation holds, ES returns the URL of the filtered ciphertext to the data requester DA x .
6. The searchable attribute-based encryption method supporting keyword hiding according to claim 1, characterized in that: The step S50 comprises 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 The property S x Can satisfy the access policy of the 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 And data sharing ciphertext KSCT restore shared data
Citation Information
Patent Citations
CP-ABE-based keyword hiding search method
CN115643016A
Retrievable decentralized fine-grained secure knowledge sharing method
CN118337417A
Attribute-based encryption (ABE) method with multiple tracing attribute authorities for cloud-assisted internet-of-things (IOT)
US20230019301A1