Smart community privacy data sharing method supporting access strategy updating

Through the combination of inverted index and Lagrangian interpolation polynomial, the problem of key management and access policy updates in traditional privacy data sharing is solved, and efficient privacy data sharing and access control in smart communities is realized, ensuring data security Sex and privacy protection.

CN119232365AActive Publication Date: 2024-12-31SOUTHWEST PETROLEUM UNIV

Patent Information

Application Number
CN202411086797.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2024-12-31
Estimated Expiration
2044-08-08

AI Technical Summary

Technical Problem

Traditional privacy data sharing methods have difficulties in data privacy protection in the process of data sharing, especially the difficulty in key management of symmetric searchable encryption technology and the difficulty in realizing multi-user retrieval, as well as the complex access policy update operation and large storage overhead.

Method used

The public key searchable encryption method based on inverse index and the access control method of Lagrangian interpolation polynomial are adopted to realize efficient ciphertext retrieval and access policy updates among multiple community members. Specific steps include system initialization, data encryption, policy update and file retrieval, and ensure data security and access control through community cloud key generation, attribute key distribution, data encryption, update key generation and ciphertext retrieval algorithms.

Benefits of technology

It realizes efficient ciphertext retrieval among multiple community members, simplifies access control, reduces operational complexity and storage overhead, and ensures updates of access policies and data privacy protection, avoids unauthorized data tampering and leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232365A_ABST
    Figure CN119232365A_ABST
Patent Text Reader

Abstract

The invention discloses a smart community private data sharing method supporting access strategy updating, and relates to the technical field of information security. The method relates to four entities of a community management center, community cloud, a data owner and a data requester, and comprises nine algorithms of system initialization, community cloud key generation, community member key generation, data encryption, update key generation, strategy update, trap door generation, ciphertext retrieval and decryption. According to the invention, access control of the data requester in the smart community can be realized; an access strategy can be updated, and different access control conditions of data owners in the smart community can be responded; non-interactive private data sharing between a data owner and a data requester can be realized; sensitive information in the data can be protected under the condition that a ciphertext retrieval result is leaked; and the unforgeability of the updated key can be ensured.
Need to check novelty before this filing date? Find Prior Art

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 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 pand their keys K2,K3,K4∈{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 = {K1, K2, K3, K4, ε, α};

[0014] Public parameters: Output public parameters PP = {e, g, g ε ,H1,H2,H3,H4,H5,F1,F2].

[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 ∑ = (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 ;

[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 ={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.

[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 ={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

[0024] 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 ;

[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 θ=F2(K3,H4(AP)‖H5(σ));

[0029] 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(σ));

[0030] 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 .

[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 ]=(c0,c1,c2,c3,c4)∈EID, if Then calculate c′1=c1,c′2=c2, c'4=c4; 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 ={K1,K2,K3,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, 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

[0038] Send search trap: Generate search trap Trap[f] = (bd ,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 ]=(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.

[0042] Furthermore, the decryption algorithm specifically includes:

[0043] 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.

[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 Tis 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

[0057] S102 Generate master private key: select random number ε, α∈Z p , generate the system's master private key MSK = {K1, K2, K3, K4, ε, α};

[0058] S103 Public parameters: Output public parameters PP = {e, g, g ε ,H1,H2,H3,H4,H5,F1,F2}.

[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 ∑ = (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 ;

[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 ={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.

[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 ={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

[0069] S203 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 ;

[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 θ=F2(K3,H4(AP)‖H5(σ));

[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 θ'=F2(K3,H4(AP')‖H5(σ));

[0076] S303 Generate update key: Select 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 .

[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]=(c0,c1,c2,c3,c4)∈EID, if Then calculate c′1=c1,c′2=c2, c′4=c4; 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] 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 ={K1,K2,K3,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, 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

[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 ]=(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.

[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 c0 from the retrieval result set R; use 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 2The 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 shall not deviate from the spirit and scope of the present invention, and shall 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.

2. According to claim 1, a smart community privacy data sharing method supporting access policy update is characterized in that: The system initialization algorithm includes: Select parameters: 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 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}.

3. According to claim 2, a smart community privacy data sharing method supporting access policy updates is characterized by: 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.

4. According to claim 3, 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.

5. According to claim 4, a smart community privacy data sharing method supporting access policy update is characterized in that: 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.

6. According to claim 5, 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 .

7. A smart community privacy data sharing method supporting access policy updates according to claim 6, 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 c′1=c1,c′2=c2, c'4=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 (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 ].

8. According to claim 1, a smart community privacy data sharing method supporting access policy update is characterized by: The trapdoor generation algorithm specifically includes: Generate retrieval token: Based on attribute key ak DR ={K1,K2,K3,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, 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 ,ReTplen[f]) and sends it to the community cloud CC.

9. A smart community privacy data sharing method supporting access policy updates according to claim 8, 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.

10. A smart community privacy data sharing method supporting access policy updates according to claim 9, 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 sk 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

  • Private data sharing and retrieval method, system and equipment based on block chain

    CN116663046A

  • Data sharing system based on multi-keyword search

    CN117033790A

Cited By

  • Data security method and system based on privacy calculation and multifunctional encryption

    CN120454974A

  • A data security method and system based on privacy computing and multi-functional encryption

    CN120454974B