A smart community privacy data sharing method supporting access policy update
By adopting access control method based on Lagrangian interpolation polynomials and public key searchable encryption technology in the smart community, the problems of complex update of access policies and difficulty in multi-user retrieval in traditional privacy data sharing are solved, and efficient and secure data sharing and access control are achieved.
Patent Information
- Application Number
- CN202411086797.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2044-08-08
AI Technical Summary
The traditional privacy data sharing method has problems such as complex operations and large storage overhead when updating access policies, and it is difficult to achieve multi-user retrieval and fine-grained access control.
The access control method based on Lagrangian interpolation polynomial is adopted, combined with the public key searchable encryption technology of inverted indexes, to realize the access control of data requesters and update of access policies.
It realizes access control of data requesters in the smart community, supports the update of access policies, improves the efficiency and security of data sharing, and ensures that private information is not disclosed when ciphertext search results are leaked.
Smart Images

Figure CN119232365B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information security technology, and in particular to a smart community privacy data sharing method that supports access policy updating. Background Art
[0002] The smart community scenario combines information technology means such as the Internet of Things, big data, cloud computing, and artificial intelligence to promote the interconnection of community service platforms, community sensing devices, and home terminals, and develop community convenience services such as intelligent early warning, emergency rescue, and smart elderly care. In this process, data sharing between different systems and devices is crucial. However, the data stored on many community smart facilities contain private information of community members. Therefore, data sharing also faces serious data privacy challenges. In traditional privacy data sharing methods, encryption methods are used to ensure the confidentiality of data. However, after the data is encrypted, the sharing speed is limited and the search is difficult. Therefore, some existing literature uses symmetric searchable encryption technology to realize the search of secret data, but such methods have problems such as difficult key management and difficult multi-user retrieval. This work proposes a public key searchable encryption method based on inverted index to achieve efficient ciphertext retrieval among multiple community members.
[0003] In addition, in traditional privacy data sharing methods, there are problems such as unauthorized community members tampering with, stealing, and abusing data. In order to achieve access control for data requesters in the community, many secure access control methods have been proposed, such as identity-based encryption, access tree-based attribute encryption, matrix-based attribute encryption, etc. However, the above methods have problems such as complex operations and high storage overhead when updating access policies. This work proposes an access control method based on Lagrange interpolation polynomials to achieve access control and access policy updates for data requesters. In summary, in response to the access control and policy update problems in privacy data sharing, this work proposes a secure and practical smart community privacy data sharing method that supports access policy updates. Summary of the invention
[0004] The purpose of the present invention is to overcome the deficiencies of the prior art and provide a smart community privacy data sharing method that supports access policy updates.
[0005] The objective of the present invention is achieved through the following technical solutions:
[0006] A smart community privacy data sharing method supporting access policy update, comprising:
[0007] System initialization phase: The community management center CMC runs the system initialization algorithm to initialize the system, and then runs the community cloud key generation algorithm and the community member key generation algorithm to generate and distribute public and private key pairs for the community cloud CC, and to generate and distribute attribute keys for community members CU, including data owners DO and data requesters DR;
[0008] Data encryption stage: The data owner DO runs the data encryption algorithm to generate the confidential file and confidential file information under the initial access policy, and then uploads all confidential data to the community cloud CC for storage;
[0009] Policy update phase: When the data owner DO needs to change the access policy, the update key generation algorithm is run to generate an update key for the access policy that needs to be updated. Then the community cloud CC runs the policy update algorithm to convert the confidential data under the initial access policy into the confidential data under the updated access policy.
[0010] File retrieval stage: the data requester DR runs the trapdoor generation algorithm to initiate a file query request and sends a retrieval token to the community cloud CC; the community cloud CC inputs the retrieval token and runs the ciphertext retrieval algorithm to determine whether the attributes of the data requester DR meet the access policy of the confidential data; if the access policy is met, the confidential keywords in the inverted index are matched, and the indexed confidential index is returned to the data requester DR as the retrieval result; otherwise, the algorithm is terminated; after receiving the retrieval result, the data requester DR runs the decryption algorithm to obtain the plaintext file; if the access policy has been updated, the data requester DR who originally met the policy no longer has the retrieval permission.
[0011] Furthermore, the system initialization algorithm includes:
[0012] Select parameters: Based on the security parameter λ, select the bilinear map e:G×G→G t , where G,G T is a prime p-factorial cyclic group, the generator of G is g; choose a secure hash function H 1 ,H 2 ,H 3 :{0,1} * →Z p , H 4 :{0,1} * →{0,1} * , H 5 :G→{0,1} * ; Select pseudo-random function F 1 : {0,1} λ ×{0,1} * →{0,1} * and its key K 1 ∈{0,1}λ , select the pseudo-random function F 2 : {0,1} λ ×{0,1} * →Z p and its key K 2 ,K 3 ,K 4 ∈{0,1} λ ; Select the Lagrange interpolation polynomial Among them, the basic polynomial
[0013] Generate the master private key: select a random number ε, α∈Z p , generate the system's master private key MSK = {K 1 ,K 2 ,K 3 ,K 4 ,ε,α};
[0014] Public parameters: Output public parameters PP = {e, g, g ε ,H 1 ,H 2 ,H 3 ,H 4 ,H 5 ,F 1 ,F 2 ].
[0015] Furthermore, the community cloud key generation algorithm specifically includes:
[0016] Generate a public-private key pair: Generate a private key sk CC = α, calculate the public key pk CC =g α ;
[0017] Distribute public-private key pairs: Send {pk CC ,sk CC}Send to Community Cloud CC.
[0018] Furthermore, the community member key generation algorithm specifically includes:
[0019] Generate attribute parameters: define attribute set ∑ = (att 0 Λatt 1 Λ…Λatt k ), attribute att i ∈∑, calculate Generates the point (x i ,y i ); based on {x i ,y i )} i∈[0,k], construct k-1 order Lagrange interpolation polynomial Calculate attribute parameters of community members The attribute parameter of the data owner DO is A DO , the attribute parameter of the data requester DR is A DR ;
[0020] Distribute attribute keys: select a random number r∈Z p And calculate σ=(g α ) r =g αr , generate the attribute key ak of the community member CU ={K 1 ,K 2 ,K 3 ,K 4 ,ε,σ,A CU}, where the attribute key of the data owner DO is ak DO , the attribute key of the data requester DR is ak DR , distribute the attribute keys of community members to each community member CU through a secure channel.
[0021] Furthermore, the data encryption algorithm specifically includes:
[0022] Update file frequency: Based on file information Where id is the file index, For File The keyword set calls the Get(dict,ω) algorithm of the inverted index to get each keyword ω∈ The file frequency f of the keyword is called, where dict is a dictionary; the Update(dict,ω,f) algorithm of the inverted index is called to update the file frequency of the keyword to obtain the latest frequency f;
[0023] Generate Attribute Parameters in Initial Access Policy: Defining Initial Access Policy And based on the attribute key ak DO ={K 1 ,K 2 ,K 3 ,K 4 ,ε,σ,A DO}, calculate θ = F 2 (K 3 ,H 4 (AP)‖H 5 (σ)); for attributes calculate Generate a point set {(x i ,y i}i∈[0,m] ; Construct m-1 order Lagrange interpolation polynomial And calculate the attribute parameters
[0024] Generate dense index: calculate τ = F 2 (K 2 ,id),z=F 2 (K 4 ,f‖ω); calculate the file index subscript b f =F 1 (K 1 ,f‖ω); select a random number t∈Z p , calculate the secret index EID[b f ]=(c 0 ,c 1 ,c 2 ,c 3 ,c 4 ),in K is the symmetric key, c 1 =g zτ , c 3 =(g α ) t g θ , c 4 =g t ;
[0025] Generate a set of encrypted keywords: Calculate secret keywords Update the secret keyword set EW←EW∪c ω ;
[0026] Encrypted Files: Encrypted Files Calculate file information subscript And store confidential file information EInfo[b d ]=(EID,EW); send (EInfo,EF) to the community cloud CC.
[0027] Furthermore, the update key generation algorithm specifically includes:
[0028] Generate the attribute parameters of the initial access policy: for any calculate Generate a point set {(x i ,y i )} i∈[0,m] ; Calculate θ = F 2 (K 3 ,H 4 (AP)‖H 5 (σ));
[0029] Generate attribute parameters for update access policy: Define update access policy For any calculate Generate a point set {(x' i ,y' i )} i∈[0,n] ; Calculate θ' = F 2 (K 3 ,H 4 (AP')‖H 5 (σ));
[0030] Generate update key: select a random number s∈Z p , generate the update key uk=(uk 0 ,uk 1 ,uk 2 ,uk 3 ,uk 4 ) and sends it to the Community Cloud CC, where uk 0 ={(x i ,y i )} i∈[0,m] , uk 1 ={(x' i ,y' i )} i∈[0,n] , uk 2 =(g α ) s g θ , uk 3 =(g α ) s g θ′ , uk 4 =g s .
[0031] Furthermore, the strategy update algorithm specifically includes:
[0032] Locating the initial ciphertext: Based on calculate Calculate file information subscript Locate the initial secret data EInfo[b d ]=(EID,EW);
[0033] Update the secret index: based on {(x' i ,y' i )} i∈[0,n] , construct n-1 order Lagrange interpolation polynomial Calculate the attribute parameters for updating access policies EID f ]=(c 0 ,c 1 ,c 2 ,c 3 ,c 4 )∈EID, if Then calculate c′ 1 =c 1 , c′ 2 =c 2 , c' 4 =c 4 ; Otherwise, terminate the algorithm;
[0034] Update confidential keywords: Update confidential keywords c ω ∈EW, calculate its new secret data
[0035] Update confidential data: calculate new file information index Use (c' 0 ,c' 1 ,c' 2 ,c' 3 ,c' 4 ),c ω 'Replace EInfo[b d ]; Generate the confidential file information EInfo'[b' under the updated access policy d ].
[0036] Furthermore, the trapdoor generation algorithm specifically includes:
[0037] Generate retrieval token: Based on attribute key ak DR ={K 1 ,K 2 ,K 3 ,K z ,ε,σ,A DR}, calculate the file information subscript Based on the query Q = (ω 0 Λω 1 Λ…Λω q ), generate a search trap for each keyword, as follows: j ∈Q(j∈[0,q]), starting from f=1, the keyword ω is calculated cyclically 1 File index subscript b f =F 1 (K 1 ,f||ω 1 ) and z f =F2 (K 4 ,f||ω 1 ), where ω 1 The keyword with the lowest frequency in the document in query Q; calculate the retrieval token
[0038] Send search trap: Generate search trap Trap[f] = (b d ,b f ,ReToken[f]) and sends it to the community cloud CC.
[0039] Furthermore, the ciphertext retrieval algorithm specifically includes:
[0040] Matching attribute: According to the file information subscript b in the search trap Trap[f] d Determine whether the attributes of the data requester DR meet the access policy: If b is used d Can retrieve EInfo[b d ]=(EID,EW), it means that the attributes of the data requester DR match the attributes in the access policy, that is, the data requester DR has the retrieval permission; otherwise, the algorithm is terminated;
[0041] Retrieve the secret index: According to b f Retrieve EID[b f ]=(c 0 ,c 1 ,c 2 ,c 3 ,c 4 );judge If for all keywords ω j∈[0,q] If the above formulas are all true, then c 0 Add it to the retrieval result set R and send a command to the data requester DR to stop the loop; otherwise, retrieve the next b f The corresponding confidential keyword set; finally, the retrieval result set R is returned to the data requester DR.
[0042] Furthermore, the decryption algorithm specifically includes:
[0043] Document retrieval: If the retrieval result set R is empty, terminate the algorithm; otherwise, obtain c from the retrieval result set R. 0 ; Using ak DR Get (id‖K) and send the file index id to the community cloud CC.
[0044] File decryption: After receiving the confidential file EF fed back by the community cloud CC based on the file index id, decrypt
[0045] The beneficial effects of the present invention are:
[0046] Compared with existing privacy data sharing schemes, the present invention overcomes several major difficulties of traditional ciphertext data sharing schemes: 1) Traditional privacy data sharing uses symmetric key encryption, and the transmission process of symmetric keys is vulnerable to network attacks, making it difficult to ensure the security of symmetric keys; 2) Traditional privacy data sharing is difficult to achieve fine-grained access control; 3) Traditional privacy data sharing usually uses forward indexes to store encrypted data, and the entire database needs to be retrieved when searching, which is inefficient.
[0047] Compared with the existing privacy data sharing scheme that supports access control, the present invention 1) can realize non-interactive data sharing between data owners and data requesters; 2) can realize corresponding updates to different access control policy requirements of data owners; 3) can ensure the unforgeability of conversion keys; 4) can ensure that privacy information is not leaked when retrieval results are leaked. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 A system model diagram of a smart community privacy data sharing method supporting access policy updates provided by the present invention;
[0049] Figure 2 This is an algorithm flow chart of the data sharing method provided by the present invention. DETAILED DESCRIPTION
[0050] The technical solution of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0051] See also Figure 1-Figure 2 , the present invention provides a technical solution:
[0052] A method for sharing private data in a smart community that supports access policy updates. The method involves four entities: a community management center, a community cloud, a data owner, and a data requester. The system structure and interaction process of each entity are shown in the following figure. Figure 1 shown.
[0053] Specifically, a smart community privacy data sharing method supporting access policy update includes steps S1-S4:
[0054] S1 System initialization phase: The community management center CMC runs the system initialization algorithm to initialize the system, and then runs the community cloud key generation algorithm and the community member key generation algorithm to generate and distribute public and private key pairs for the community cloud CC, and generate and distribute attribute keys for community members CU. Community members CU include data owners DO and data requesters DR.
[0055] In step S1, the system initialization algorithm generates the system's public parameters and master private key based on the security parameter λ, specifically including:
[0056] S101 parameter selection: Based on the security parameter λ, select the bilinear mapping e:G×G→G T , where G,G T is a prime p-factorial cyclic group, the generator of G is g; choose a secure hash function H 1 ,H 2 ,H 3 :{0,1} * →Z p , H 4 :{0,1} * →{0,1} * , H 5 :G→{0,1} * ; Select pseudo-random function F 1 : {0,1} λ ×{0,1} * →{0,1} * and its key K 1 ∈{0,1} λ , select the pseudo-random function F 2 : {0,1} λ ×{0,1} * →Z p and its key K 2 ,K 3 ,K 4 ∈{0,1} λ ; Select the Lagrange interpolation polynomial Among them, the basic polynomial
[0057] S102 Generate master private key: select random number ε, α∈Z p , generate the system's master private key MSK = {K 1 ,K 2 ,K 3 ,K 4 ,ε,α};
[0058] S103 Public parameters: Output public parameters PP = {e, g, g ε ,H 1 ,H2 ,H 3 ,H 4 ,H 5 ,F 1 ,F 2}.
[0059] In step S1, the community cloud key generation algorithm generates a public-private key pair for the community cloud CC based on the master private key MSK, specifically including:
[0060] S111 Generate a public-private key pair: Generate a private key sk CC = α, calculate the public key pk CC =g α ;
[0061] S112 distributes public-private key pairs: {pk CC ,sk CC}Send to Community Cloud CC.
[0062] In step S1, the community member key generation algorithm generates an attribute key for the community member CU based on the master private key MSK, specifically including:
[0063] S121 Generate attribute parameters: define attribute set ∑ = (att 0 Λatt 1 Λ…Λatt k ), attribute att i ∈∑, calculate Generates the point (x i ,y i ); based on {(x i ,y i )} i∈[0,k] , construct k-1 order Lagrange interpolation polynomial Calculate attribute parameters of community members The attribute parameter of the data owner DO is A DO , the attribute parameter of the data requester DR is A DR ;
[0064] S122 Distribution attribute key: Distribution attribute key: Select random number r∈Z p And calculate σ=(g α ) r =g αr , generate the attribute key ak of the community member CU ={K 1 ,K 2 ,K 3 ,K 4 ,ε,σ,A CU}, where the attribute key of the data owner DO is akDO , the attribute key of the data requester DR is ak DR , distribute the attribute keys of community members to each community member CU through a secure channel.
[0065] S2 Data encryption stage: The data owner DO runs the data encryption algorithm to generate the confidential file and confidential file information under the initial access policy, and then uploads all confidential data to the community cloud CC for storage;
[0066] In step S2, the data encryption algorithm is based on the file information File F and initial access policy AP generate confidential file information and confidential files, including:
[0067] S201 Update file frequency: Based on file information Where id is the file index, For File The keyword set calls the Get(dict,ω) algorithm of the inverted index to get each keyword The file frequency f of the keyword is called, where dict is a dictionary; the Update(dict,ω,f) algorithm of the inverted index is called to update the file frequency of the keyword to obtain the latest frequency f;
[0068] S202 Generate attribute parameters in the initial access policy: define the initial access policy And based on the attribute key ak DO ={K 1 ,K 2 ,K 3 ,K 4 ,ε,σ,A DO}, calculate θ = F 2 (K 3 ,H 4 (AP)‖H 5 (σ)); for attributes calculate Generate a point set {(x i ,y i )} i∈[0,m] ; Construct m-1 order Lagrange interpolation polynomial And calculate the attribute parameters
[0069] S203 Generate a dense index: Calculate τ = F 2 (K 2 ,id),z=F 2 (K 4,f‖ω); calculate the file index subscript b f =F 1 (K 1 ,f‖ω); select a random number t∈Z p , calculate the secret index EID[b f ]=(c 0 ,c 1 ,c 2 ,c 3 ,c 4 ),in K is the symmetric key, c 1 =g zτ , c 3 =(g α ) t g θ , c 4 =g t ;
[0070] S204 generates a set of secret keywords: Calculate secret keywords Update the secret keyword set EW←EW∪C ω ;
[0071] S205 Encrypted File: Encrypted File Calculate file information subscript And store confidential file information EInfo[b d ]=(EID,EW); send (EInfo,EF) to the community cloud CC.
[0072] S3 policy update phase: When the data owner DO needs to change the access policy, the update key generation algorithm is run to generate an update key for the access policy that needs to be updated. Then the community cloud CC runs the policy update algorithm to convert the confidential data under the initial access policy into the confidential data under the updated access policy.
[0073] In step S3, the update key generation algorithm generates an update key based on the initial access policy AP and the updated access policy AP', specifically including:
[0074] S301 Generate attribute parameters of initial access policy: calculate Generate a point set {(x i ,y i )} i∈[0,m] ; Calculate θ = F 2 (K 3 ,H 4 (AP)‖H 5(σ));
[0075] S302 Generate attribute parameters for updating access policy: define updating access policy AP'= For any calculate Generate a point set {(x′ i ,y′ i )} i∈[0,n] ; Calculate θ' = F 2 (K 3 ,H 4 (AP')‖H 5 (σ));
[0076] S303 Generate update key: Select random number s∈Z p , generate the update key uk=(uk 0 ,uk 1 ,uk 2 ,uk 3 ,uk 4 ) and sends it to the Community Cloud CC, where uk 0 ={(x i ,y i )} i∈[0,m] , uk 1 ={(x' i ,y' i )} i∈[0,n] , uk 2 =(g α ) s g θ , uk 3 =(g α ) s g θ , uk 4 =g s .
[0077] In step S3, the policy update algorithm is based on the private key sk CC =α and update key uk, generate the confidential file information after the policy update, including:
[0078] S311 locates the initial ciphertext: based on calculate Calculate file information subscript Locate the initial secret data EInfo[b d ]=(EID,EW);
[0079] S312 Update secret index: based on {(x' i ,y' i )} i∈[0,n], construct n-1 order Lagrange interpolation polynomial Calculate the attribute parameters for updating access policies EID f ]=(c 0 ,c 1 ,c 2 ,c 3 ,c 4 )∈EID, if Then calculate c′ 1 =c 1 , c′ 2 =c 2 , c′ 4 =c 4 ; Otherwise, terminate the algorithm;
[0080] S313 Update confidential keyword: for confidential keyword c ω ∈EW, calculate its new secret data c ω '=
[0081]
[0082] S314 Update confidential data: Calculate new file information index Use (c' 0 ,c' 1 ,c' 2 ,c' 3 ,c' 4 ),c ω 'Replace EInfo[b d ]; Generate the confidential file information EInfo'[b' under the updated access policy d ].
[0083] S4 file retrieval stage: the data requester DR runs the trapdoor generation algorithm to initiate a file query request and sends a retrieval token to the community cloud CC; the community cloud CC inputs the retrieval token and runs the ciphertext retrieval algorithm to determine whether the attributes of the data requester DR meet the access policy of the confidential data; if the access policy is met, the confidential keywords in the inverted index are matched, and the indexed confidential index is returned to the data requester DR as the retrieval result; otherwise, the algorithm is terminated; after receiving the retrieval result, the data requester DR runs the decryption algorithm to obtain the plaintext file; if the access policy has been updated, the data requester DR who originally met the policy no longer has the retrieval permission.
[0084] Among them, the trapdoor generation algorithm is based on the query Q = (ω 0 Λω 1 Λ…Λωq ), generate retrieval traps, including:
[0085] S401 Generate retrieval token: based on attribute key ak DR ={K 1 ,K 2 ,K 3 ,K z ,ε,σ,A DR}, calculate the file information subscript Based on the query Q = (ω 0 Λω 1 Λ…Λω q ), generate a search trap for each keyword, as follows: j ∈Q(j∈[0,q]), starting from f=1, the keyword ω is calculated cyclically 1 File index subscript b f =F 1 (K 1 ,f||ω 1 ) and z f =F 2 (K 4 ,f||ω 1 ), where ω 1 The keyword with the lowest frequency in the document in query Q; calculate the retrieval token
[0086] S402 Send search trap: Generate search trap Trap[f]=(b d ,b f ,ReToken[f]) and sends it to the community cloud CC.
[0087] The ciphertext retrieval algorithm is based on the retrieval trap, which retrieves and feeds back the retrieval results to the data requester DR. Specifically, it includes:
[0088] S411 matching attribute: according to the file information subscript b in the search trap Trap[f] d Determine whether the attributes of the data requester DR meet the access policy: If b is used d Can retrieve EInfo[b d ]=(EID,EW), it means that the attributes of the data requester DR match the attributes in the access policy, that is, the data requester DR has the retrieval permission; otherwise, the algorithm is terminated;
[0089] S412 retrieval of secret index: according to b f Retrieve EID[b f ]=(c 0 ,c 1 ,c 2 ,c 3,c 4 );judge If for all keywords ω j∈[0,q] If the above formulas are all true, then c 0 Add it to the retrieval result set R and send a command to the data requester DR to stop the loop; otherwise, retrieve the next b f The corresponding confidential keyword set; finally, the retrieval result set R is returned to the data requester DR.
[0090] In this embodiment, the decryption algorithm obtains and decrypts the encrypted file, specifically including:
[0091] S421 Document retrieval: If the retrieval result set R is empty, terminate the algorithm; otherwise, obtain c from the retrieval result set R. 0 ; Using ak DR Get (id‖K) and send the file index id to the community cloud CC.
[0092] S422 file decryption: After receiving the confidential file EF fed back by the community cloud CC according to the file index id, decrypt F = Dec K (EF).
[0093] like Figure 2 The present invention involves four entities: community management center, community cloud, data owner, and data requester, and includes nine algorithms: system initialization, community cloud key generation, community member key generation, data encryption, update key generation, policy update, trapdoor generation, ciphertext retrieval, and decryption. The present invention can realize access control of data requesters in smart communities; can update access policies to respond to different access control conditions of data owners in smart communities; can realize non-interactive privacy data sharing between data owners and data requesters; can protect sensitive information in data when ciphertext retrieval results are leaked; and can ensure the unforgeability of update keys.
[0094] The above is only a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the form disclosed herein, and should not be regarded as excluding other embodiments, but can be used in various other combinations, modifications and environments, and can be modified within the scope of the concept described herein through the above teachings or the technology or knowledge of the relevant field. The changes and modifications made by those skilled in the art do not deviate from the spirit and scope of the present invention, and should be within the scope of protection of the claims attached to the present invention.
Claims
1. A smart community privacy data sharing method supporting access policy updates, characterized in that: include: System initialization phase: The community management center CMC runs the system initialization algorithm to initialize the system, and then runs the community cloud key generation algorithm and the community member key generation algorithm to generate and distribute public and private key pairs for the community cloud CC, and to generate and distribute attribute keys for community members CU, including data owners DO and data requesters DR; Data encryption stage: The data owner DO runs the data encryption algorithm to generate the confidential file and confidential file information under the initial access policy, and then uploads all confidential data to the community cloud CC for storage; Policy update phase: When the data owner DO needs to change the access policy, the update key generation algorithm is run to generate an update key for the access policy that needs to be updated. Then the community cloud CC runs the policy update algorithm to convert the confidential data under the initial access policy into the confidential data under the updated access policy. File retrieval stage: The data requester DR runs the trapdoor generation algorithm to initiate a file query request and sends a retrieval token to the community cloud CC; The community cloud CC inputs the retrieval token and runs the ciphertext retrieval algorithm to determine whether the attributes of the data requester DR meet the access policy of the confidential data; If the access policy is satisfied, the confidential keyword in the inverted index is matched, and the indexed confidential index is returned to the data requester DR as the retrieval result; Otherwise, terminate the algorithm; After receiving the retrieval results, the data requester DR runs the decryption algorithm to obtain the plaintext file; If the access policy has been updated, the data requester DR that originally met the policy no longer has the retrieval permission; The system initialization algorithm includes: Select parameters: Based on the security parameter λ, select the bilinear map e:G×G→G T , where G,G T is a prime p-factorial cyclic group, the generator of G is g; choose secure hash functions H1, H2, H3: {0, 1} * →Z p , H4:{0,1} * →{0,1} * , H5:G→{0,1} * ; Select pseudo-random function F1: {0,1} λ ×{0,1} * →{0,1} * and its key K1∈{0,1} λ , select pseudo-random function F2: {0,1} λ ×{0,1} * →Z p and their keys K2,K3,K4∈{0,1} λ ; Select the Lagrange interpolation polynomial Among them, the basic polynomial Generate the master private key: select a random number ε, α∈Z p , generate the system's master private key MSK = {K1, K2, K3, K4, ε, α}; Public parameters: Output public parameters PP = {e, g, g ε ,H1,H2,H3,H4,H5,F1,F2}; The community cloud key generation algorithm specifically includes: Generate a public-private key pair: Generate a private key sk CC = α, calculate the public key pk CC =g α ; Distribute public-private key pairs: Send {pk CC ,sk CC }Send to Community Cloud CC.
2. According to claim 1, a smart community privacy data sharing method supporting access policy update is characterized in that: The community member key generation algorithm specifically includes: Generate attribute parameters: define attribute set ∑ = (att0Λatt1Λ…Λatt k ), attribute att i ∈∑, calculate Generates the point (x i ,y i ); based on {(x i ,y i )} i∈[0,k] , construct k-1 order Lagrange interpolation polynomial Calculate attribute parameters of community members The attribute parameter of the data owner DO is A DO , the attribute parameter of the data requester DR is A DR ; Distribute attribute keys: select a random number r∈Z p And calculate σ=(g α ) r =g αr , generate the attribute key ak of the community member CU ={K1,K2,K3,K4,ε,σ,A CU }, where the attribute key of the data owner DO is ak DO , the attribute key of the data requester DR is ak DR , distribute the attribute keys of community members to each community member CU through a secure channel.
3. According to claim 2, a smart community privacy data sharing method supporting access policy updates is characterized by: The data encryption algorithm specifically includes: Update file frequency: Based on file information Where id is the file index, For File The keyword set calls the Get(dict,ω) algorithm of the inverted index to get each keyword The file frequency f of the keyword is called, where dict is a dictionary; the Update(dict,ω,f) algorithm of the inverted index is called to update the file frequency of the keyword to obtain the latest frequency f; Generate Attribute Parameters in Initial Access Policy: Defining Initial Access Policy And based on the attribute key ak DO ={K1,K2,K3,K4,ε,σ,A DO }, calculate θ = F2(K3,H4(AP)‖H5(σ)); for attribute calculate Generate a point set {(x i ,y i )} i∈[0,m] ; Construct m-1 order Lagrange interpolation polynomial And calculate the attribute parameters Generate a secret index: calculate τ = F2(K2,id), z = F2(K4,f‖ω); calculate the file index subscript b f =F1(K1,f‖ω); select a random number t∈Z p , calculate the secret index EID[b f ]=(c0,c1,c2,c3,c4), where K is the symmetric key, c1=g zτ , c3=(g α ) t g θ , c4=g t ; Generate a set of encrypted keywords: Calculate secret keywords Update the secret keyword set EW←EW∪c ω ; Encrypted Files: Encrypted Files Calculate file information subscript And store confidential file information EInfo[b d ]=(EID,EW); send (EInfo,EF) to the community cloud CC.
4. According to claim 3, a smart community privacy data sharing method supporting access policy update is characterized in that: The update key generation algorithm specifically includes: Generate the attribute parameters of the initial access policy: for any calculate Generate a point set {(x i ,y i )} i∈[0,m] ;Calculate θ=F2(K3,H4(AP)‖H5(σ)); Generate update access policy attribute parameters: Define update access policy For any calculate Generate a point set {(x i ′,y i ′)} i∈[0,n] ;Calculate θ′=F2(K3,H4(AP′)‖H5(σ)); Generate update key: select a random number s∈Z p , generate the update key uk=(uk0,uk1,uk2,uk3,uk4) and send it to the community cloud CC, where uk0={(x i ,y i )} i∈[0,m] ,uk1={(x i ′,y i ′)} i∈[0,n] ,uk2=(g α ) s g θ ,uk3=(g α ) s g θ′ ,uk4=g s .
5. According to claim 4, a smart community privacy data sharing method supporting access policy update is characterized in that: The strategy update algorithm specifically includes: Locating the initial ciphertext: Based on calculate Calculate file information subscript Locate the initial secret data EInfo[b d ]=(EID,EW); Update the secret index: based on {(x i ′,y i ′)} i∈[0,n] , construct n-1 order Lagrange interpolation polynomial Calculate the attribute parameters for updating access policies EID f ]=(c0,c1,c2,c3,c4)∈EID, if Then calculate c1′=c1,c2′=c2, c4′=c4; otherwise, terminate the algorithm; Update confidential keywords: Update confidential keywords c ω ∈EW, calculate its new secret data Update confidential data: calculate new file information index Use (c0′, c1′, c2′, c3′, c4′), c ω ′Replace EInfo[b d ]; Generate the confidential file information EInfo′[b d ′].
6. According to claim 1, a smart community privacy data sharing method supporting access policy update is characterized in that: The trapdoor generation algorithm specifically includes: Generate retrieval token: based on attribute key ak DR ={K1,K2,K3,K x ,ε,σ,A DR }, calculate the file information subscript Based on the query Q=(ω0Λω1Λ…Λω q ), generate a search trap for each keyword, as follows: j ∈Q, j∈[0,q], starting from f=1, cyclically calculate the file index subscript b of keyword ω1 f = F1(K1,f||ω1) and z f = F2(K4,f||ω1), where ω1 is the keyword with the lowest document frequency in the query Q; calculate the retrieval token Send search trap: Generate search trap Trap[f] = (b d ,b f ,ReToken[f]) and sends it to the community cloud CC.
7. A smart community privacy data sharing method supporting access policy updates according to claim 6, characterized in that: The ciphertext retrieval algorithm specifically includes: Matching attribute: According to the file information subscript b in the search trap Trap[f] d Determine whether the attributes of the data requester DR meet the access policy: If b is used d Can retrieve EInfo[b d ]=(EID,EW), it means that the attributes of the data requester DR match the attributes in the access policy, that is, the data requester DR has the retrieval permission; otherwise, the algorithm is terminated; Retrieve the secret index: According to b f Retrieve EID[b f ]=(c0,c1,c2,c3,c4); judge If for all keywords ω j∈[0,q] If all the above equations are true, c0 is added to the search result set R and a stop loop command is sent to the data requester DR; otherwise, the next b is retrieved. f The corresponding confidential keyword set; finally, the retrieval result set R is returned to the data requester DR.
8. A method for sharing private data in a smart community supporting access policy updates according to claim 7, characterized in that: The decryption algorithm specifically includes: Document retrieval: If the retrieval result set R is empty, terminate the algorithm; otherwise, obtain c0 from the retrieval result set R; use ak DR Get (id‖K) and send the file index id to the community cloud CC; File decryption: After receiving the confidential file EF fed back by the community cloud CC based on the file index id, decrypt
Citation Information
Patent Citations
A searchable encryption method based on privacy protection in a cloud storage environment
CN106127075A
Multi-party cooperation data sharing method supporting access strategy updating
CN114979149A