Forward security encrypted data controllable editing method in cloud environment
By building a cloud simulation environment in a cloud environment and using a combination solution of encryption keys, secret keys, Bloom filters and puncture algorithms, the problem that ABSS technology cannot guarantee cloud data confidentiality and resist purification key leakage attacks is solved. It realizes secure and controllable data editing and sharing in a cloud computing environment.
Patent Information
- Application Number
- CN202411277404.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-09-12
AI Technical Summary
The existing attribute-based Purification Signature (ABSS) technology cannot guarantee the confidentiality of data in a cloud computing environment and cannot resist purification key leakage attacks, resulting in malicious editors being able to maliciously modify data without being discovered.
A forward-security controlled editing method for encrypted data is designed in the cloud environment. By building a cloud simulation environment including trusted institutions, cloud servers, edge nodes, owners, users and editors, using encryption keys and secrets The keys are encrypted and decrypted, and fine-grained access and editing control is achieved through Bloom filters and puncture algorithms, ensuring that only legitimate private key holders can edit data and revoke their editing capabilities when the key is leaked.
It realizes the secure and controllable editing and sharing of data in a cloud environment, ensures data confidentiality and controllability, resists malicious editing attacks, and effectively cancels editing capabilities after key leakage, improving the security of data sharing.
Smart Images

Figure CN119210813A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of cloud computing, and in particular relates to a forward-secure controllable editing method for encrypted data in a cloud environment. Background Art
[0002] Cloud computing provides abundant storage and computing resources, greatly improving the efficiency of data sharing. Cloud and edge platforms provide a large amount of storage services on demand. However, outsourced data often contains sensitive information. Therefore, edge clouds require a secure data sharing mechanism.
[0003] Currently, cryptographic primitives such as broadcast encryption (BE) and attribute-based encryption (ABE) have been studied to achieve the above goals. Among them, in attribute-based data sharing systems, owners usually encrypt data using fine-grained access structures and publish the encrypted data to cloud servers so that only users with sufficient attributes can access it. In most existing data sharing schemes, owners or cooperating users can modify shared data by uploading encrypted data. In fact, on the one hand, owners can ask these editors to modify shared data on their behalf, but on the other hand, they are worried that malicious editors will modify the immutable parts of shared data. Therefore, how to achieve controllable editing of encrypted data is a problem.
[0004] Researchers have proposed digital signature schemes that support modification of authentication data, such as homomorphic signatures, editable signatures, and purgeable signatures. Purgeable signatures are a new type of digital signature that only allows designated editors to modify designated parts of a message and generate a purge signature for the modified message using a purge key. If the modification is acceptable, the modified message signature will be verified. In particular, attribute-based purgeable signatures (ABSS) use access policies instead of public keys to specify potential editors. Therefore, in actual data editing scenarios, ABSS can be used to finely control the capabilities of editors.
[0005] ABSS technology can realize the editing control of data in cloud computing, and the entities involved include trusted authorization agencies, signers, purifiers, and verifiers. Figure 1 As shown, the implementation process includes the following steps:
[0006] 1) System initialization: The trusted authority generates the system public key PK and the system master key MK.
[0007] 2) Signer key generation. The trusted authority generates a signature private key SK for the signer based on the system master key MK and user attributes. o and securely distributed to signers.
[0008] 3) Purifier key generation. The trusted authority generates the purification private key SK based on the system master key MK and the purifier attributes. s and distributed safely to the Purifiers.
[0009] 4) Signature generation. The signer enters the system public key PK and the signer private key SK o , message m and access policy P and description am of allowed modifications, generate signature σ.
[0010] 5) Signature purification. The purifier inputs the system public key PK and the purifier's private key SK s , message m and the modification description dm of the message, generate the signature σ′ of the modified message m′.
[0011] 6) Signature verification: Input the system public key PK, message m and its signature σ, and output the signature verification result.
[0012] In the cloud computing environment, directly using the existing ABSS technology to achieve sharing that supports controllable editing of data has the following problems:
[0013] 1) ABSS cannot be directly applied to cloud data sharing because it can only guarantee the authenticity of data but cannot guarantee the confidentiality of data to resist semi-trusted cloud servers;
[0014] 2) Existing ABSS cannot resist the attack of purification key leakage, that is, once the purification key is obtained by the attacker, the attacker can maliciously modify the data without being detected. Summary of the invention
[0015] In view of the above problems, the present invention proposes a forward-secure controllable editing method for encrypted data in a cloud environment, which meets the requirements of secure and controllable data editing and sharing in the cloud environment.
[0016] The forward-secure encrypted data controllable editing method in the cloud environment has the following specific steps:
[0017] Step 1: Build a cloud simulation environment including trusted institutions, cloud servers, edge nodes, owners, users, and editors;
[0018] The trusted authority is responsible for initializing the system and issuing encryption keys to owners and secret keys to users and editors. The cloud server is responsible for long-term storage of data, and the edge node is responsible for caching ciphertexts that users frequently access.
[0019] In this environment, the owner puts the encrypted data on the cloud server and uses access policies to control user access and editing policies to control user editing. Only authorized editors who perform authorized modification operations can generate legal ciphertext for the modified data.
[0020] Step 2: Initialize the Setup algorithm parameters in the cloud simulation environment;
[0021] The trusted authority first selects the security parameter γ and the complete set of attributes Bloom filter parameter param, maximum message length l, and then run the Setup algorithm to initialize the system. The trusted authority publishes the system public key pk, retains the master key mk and the tracking table st.
[0022] The data owner attribute set is User attribute collection Editor Properties Collection
[0023] Step 3: For the data owner, the trusted authority runs the encryption key generation algorithm to calculate the encryption key And return it to the data owner.
[0024] Enter the system public key pk, master key mk and attribute set To the encryption key generation algorithm, select the random number Calculating the encryption key
[0025]
[0026] Step 4: For the user or editor, the trusted authority runs the secret key generation algorithm to obtain the secret key or and returns it to the user or editor.
[0027] Enter the system public key pk, master key mk and attribute set or To the secret key generation algorithm, through the random number calculate
[0028]
[0029] Similarly, enter the system public key pk, master key mk and attribute set To the secret key generation algorithm, through the random number calculate
[0030]
[0031] Step 5: Given the plaintext data msg, the owner uses the encryption key Run the encryption algorithm Encrypt to encrypt the plaintext data msg, obtain the encrypted original ciphertext ct, and upload it to the cloud server.
[0032] Enter the system public key pk, plaintext message msg, access policy Blocks that can be modified Editing strategy and encryption keys To the encryption algorithm Encrypt, output the encrypted original ciphertext ct or ⊥.
[0033] msg=(m={m1,m2,…,m i ,…m l},τ),m i ∈{0,1} * is the message block, τ is the message identifier of msg;
[0034] c is the attribute base ciphertext of the message, π is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential;
[0035] Step 6: When the user wants to access the ciphertext in the cloud server, he requests the ciphertext from the nearest edge node. The edge node determines whether the ciphertext exists. If so, it returns it directly to the user. Otherwise, the edge node requests the cloud server, saves the ciphertext and returns it to the user.
[0036] Step 7: User retrieves the original ciphertext Then, use the secret key Run the decryption algorithm Decrypt to decrypt and get the messages msg and sig.
[0037] Decryption algorithm Refers to: input system public key pk, owner's attribute set Original ciphertext ct and secret key if Editing strategy is satisfied, and the message msg has not been illegally modified, then output msg and sig, otherwise output ⊥.
[0038] Step 8: When the editor wants to purify the ciphertext, first decrypt the original ciphertext Then purify it to get the purified ciphertext And upload to the cloud server.
[0039] Editor's Secret Key Run the decryption algorithm Decrypt and the sanitization algorithm Sanitize to calculate the purified ciphertext ct′ of the purified message msg′=ε(msg); finally, the editor will purify the ciphertext Upload to the cloud server, c′ is the attribute base ciphertext of the message, π′ is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential;
[0040] Purification Algorithm It means: input system public key pk, message msg and its signature sig, modification function ε and a secret key If the attribute set If the editing strategy is satisfied and ε is legal, the purified ciphertext ct′ of the purified message msg′=ε(msg) is output, otherwise ⊥ is output.
[0041] Step 9: When the editor decides not to purify the ciphertext message, the puncture algorithm SKPun is executed locally to obtain the purified key after puncture and save it.
[0042] The puncture algorithm SKPun(pk,msg,) means: input system public key pk, message msg and secret key Output a new secret private key This allows it to support editors editing other messages, but it can no longer be used to modify message msg.
[0043] Specifically, given a message msg = (m, τ) and a secret key First, set B0′[H i (τ)] = 1, then for each i∈[n], define
[0044] Finally get the key after puncture
[0045] Step 10: When malicious editing occurs, the trusted authority executes the tracking algorithm Trace to obtain the owner identity of the original ciphertext ct or the editor identity of the purified ciphertext ct′.
[0046] The tracing algorithm Trace(pk,mk,st,ct / ct′) means: input the system public key pk, the master key mk, the tracing table st, a ciphertext ct / ct′, and output the owner identity of the original ciphertext ct or the editor identity of the purified ciphertext ct′.
[0047] The advantages of the present invention are:
[0048] 1) A forward-secure controllable editing method for encrypted data in a cloud environment is proposed. A purge algorithm is designed to controllably edit the original data. Only editors holding a legitimate private key can edit the data correctly. Unauthorized users cannot modify the message and generate a legitimate purge ciphertext even if they obtain the original message, thus resisting malicious message editing attacks.
[0049] 2) A forward-secure controllable editing method for encrypted data in a cloud environment, based on a Bloom filter, designs a puncture algorithm to puncture the secret key. During the puncture, the key is punctured with a message to obtain a new key, so that the new key cannot edit the message, thereby revoking its ability to purify the message, thereby solving the problem of malicious editing caused by key leakage. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 It is a technical flow chart of ABSS for realizing data editing control in cloud computing in the prior art;
[0051] Figure 2 It is a flow chart of a forward-secure controllable editing method for encrypted data in a cloud environment of the present invention;
[0052] Figure 3 It is a schematic diagram of the cloud simulation environment constructed by the present invention. DETAILED DESCRIPTION
[0053] In order to facilitate those skilled in the art to understand and implement the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. Obviously, the described embodiments are only partial embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work should fall within the scope of protection of the present invention.
[0054] The present invention provides a forward-secure encrypted data controllable editing method in a cloud environment, which can meet the requirements of secure and controllable data editing and sharing in a cloud environment; Figure 2 As shown, the specific steps are as follows:
[0055] Step 1: Build a cloud simulation environment including trusted institutions, cloud servers, edge nodes, owners, users, and editors;
[0056] In this environment, the owner puts the encrypted data on the cloud server and uses access policies to control which users can access the data, and uses editing policies to control which parts of the data can be edited and which users can edit the data, to ensure the confidentiality and controllable editing of the data. Only authorized editors who perform authorized modification operations can generate legal ciphertext for the modified data. In the encryption phase, the data is signed and encrypted using attribute-based equivalence class signatures and attribute-based puncture encryption and signature combination schemes. In the ciphertext purification phase, only authorized editors can obtain purification credentials to modify the data and generate legal purified ciphertext. In addition, to strengthen the protection of the editor's editing ability, the editor uses the message to puncture the key to revoke the ability to edit the message, thereby effectively ensuring that the message cannot be modified again after the key is leaked.
[0057] like Figure 3 As shown, the trusted authority establishes the system public key and system master key, and generates keys for owners, users, and editors in the system. In addition, the trusted authority can trace the true identity of the owner / editor from the ciphertext.
[0058] The owner first obtains the encryption key associated with his own attribute set from a trusted authority. When encrypting, the owner specifies the access policy of the data, the parts allowed to be modified, and the editing policy, then encrypts the data using his own encryption key, and finally uploads the original ciphertext to the edge node for fine-grained sharing.
[0059] The edge nodes cache ciphertexts for participants in the system and send them to the cloud servers for long-term storage.
[0060] The cloud server saves the ciphertext uploaded by the owner and editor and transmits it to other users and editors in the system.
[0061] The user obtains the secret key associated with his attribute set from a trusted authority and uses it to decrypt the ciphertext to access the data.
[0062] Authorized editors can modify the allowed parts of the decrypted data and use the secret key to generate sanitized ciphertext for the modified data. Finally, the editor uploads the sanitized ciphertext to the edge node for sharing.
[0063] Step 2: Initialize the Setup algorithm in the cloud simulation environment
[0064] The trusted authority first selects the security parameter γ and the complete set of attributes Bloom filter parameter param = (n, k), the maximum length of the message is l, and then the Setup algorithm is run to construct a bilinear group with an order of prime number p and The corresponding bilinear map is
[0065] Select random number And for the complete set of attributes For each attribute in For each position i∈[n], choose a random number
[0066] And define It is a collision resistant hash function.
[0067] Select random number Defining functions Select random number make satisfy Then select k hash functions H = (H i ) i∈[k] and a set B=0 of length n and with initial element values all 0 n , generate msk=(g α ,k0), tk=(k1,k2) and mpk=(e(g,h) α ,g a ,g b ,{v x} x∈U ,{u i} i∈[n] ,g1,g2,g3,f0,{f i} i∈[l] ,H,B,u,v,w).
[0068] Then for each attribute Select random number Calculate signature public key and the signing private key
[0069] Finally, the trusted authorization saves the system master key mk = (msk, ssk, tk) and the tracking table st, and publishes the system public key
[0070] The data owner attribute set is User attribute collection Editor Properties Collection
[0071] Step 3: Run the EKGen algorithm on the data owner and the trusted authority Calculating the encryption key And return the key to the data owner through a secure channel.
[0072] For each data owner, the trusted authority inputs the system public key pk, master key mk and attribute set To the EKGen algorithm, output encryption key
[0073] First select a random number calculate:
[0074]
[0075] Then select a random number calculate:
[0076]
[0077] Step 4: For the user or editor, the trusted authority runs the secret key generation algorithm Get the secret key or and returns it to the user or editor.
[0078] Enter the system public key pk, master key mk and attribute set To the secret key generation algorithm, we get
[0079] By random number calculate:
[0080]
[0081] Similarly, enter the system public key pk, master key mk and attribute set To the secret key generation algorithm, we get
[0082] Step 5: Given the plaintext data msg, the owner uses the encryption key Run the Encrypt algorithm To encrypt the plaintext data msg, get the encrypted original ciphertext ct, and upload it to the cloud server.
[0083] msg=(m={m1,m2,…,m i ,…m l},τ),m i ∈{0,1} * is the message block, τ is the message identifier of msg;
[0084] c is the attribute base ciphertext of the message, π is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential;
[0085] Enter the system public key pk, plaintext message msg, access policy Blocks that can be modified Editing strategy Consists of AND and OR gates on any possible attributes; and the encryption key To the Encrypt algorithm, output the encrypted original ciphertext ct or ⊥.
[0086] The specific steps are as follows:
[0087] Step 1: For each i∈[l], randomly select calculate And set i =z i,if Then set ζ i =0. For i=l+1, calculate Setting l+1 =0,
[0088] Step 2: Calculate the equivalence signature of the message
[0089]
[0090] Then, select a random number set up calculate:
[0091]
[0092] Step 3: Based on the editing strategy Calculate the attribute base ciphertext of the purified credential γ
[0093] Set the clean credentials to in
[0094] Editing strategy in is a l1×n1 matrix, ρ will Each row in Attribute associations in .
[0095] Select random number set up calculate calculate and C0=h s ;
[0096] For each i∈[l1], calculate calculate Get encrypted and cleaned credentials
[0097] Step 4: According to the editing strategy Calculate the attribute base signature of message msg:
[0098]
[0099] set up in is a l2×n2 matrix, φ Each row in Attribute associations in .
[0100] First, set γ = {H i (τ)}i∈[k] , check b = ∧ i∈[k] B[H i (τ)] is equal to 1, if it is equal to 1, output ⊥, otherwise there is at least one ξ∈γ such that K ξ ≠⊥.
[0101] Select random number calculate and δ1=H1(D0)a1,δ2=H1(D0)a2,
[0102] Random Selection And calculate
[0103] Select random number Calculate E = h r ,F=g r ,D′=D·(g a g b ) t′ =g α+(a+b)(t+t′) and s1=r1+da1, s2=r2+da2, s3=r3+dH1(D0), s4=r4+dδ1, s5=r5+dδ2,
[0104] Set Γ=(d,s1,s2,s3,s4,s5), if Set I2 = {i:φ(i)∈S} and calculate the constant satisfy Select Constant satisfy
[0105] Then calculate E0 = D0·h t′ =h t+t′ ,F0=K0·g t′ =g t+t′ , For each calculate
[0106] Then choose a random number calculate Among them for
[0107] Finally got the signature
[0108] Step 5: Based on the access policy Calculation Message The attribute base ciphertext c is:
[0109] in
[0110] Set up signcryption Repeat the calculation process in step 3, but replace for Replace γ in the third step with Get the encryption result c.
[0111] Finally, the data owner will ciphertext Upload to the cloud server.
[0112] Step 6: When the user wants to access the ciphertext in the cloud server, he requests the ciphertext from the nearest edge node. The edge node determines whether the ciphertext exists. If so, it returns it directly to the user. Otherwise, the edge node requests the cloud server, saves the ciphertext and returns it to the user.
[0113] Step 7: User retrieves ciphertext Then, use the secret key Run the decryption algorithm Decrypt and get the messages msg and sig.
[0114] Decryption algorithm Refers to: input pk, the owner's attribute set Ciphertext ct and secret key if Editing strategy is satisfied, and the message msg has not been illegally modified, then output msg and sig, otherwise output ⊥.
[0115] Step 1: Decrypt c to get
[0116] make For the matrix The corresponding attribute set A collection of rows.
[0117] First calculate Check the equation Is it true? If not, output ⊥. Check Is it true? If not, output ⊥. Otherwise, when the constant satisfy calculate Finally output message
[0118] Step 2: Verify the authenticity of the message, that is, verify the equivalence signature
[0119] For all i∈[l], check the equality Is it true? Check the equation Is it true?
[0120] By checking the equation We verify μ by checking whether e(Q1,h)=e(g,Q2) holds, and verify η in the same way.
[0121] Step 3: Verify the attribute base signature
[0122] Check whether there is a ξ∈γ, γ={H i (τ)} i∈[k] , if it does not exist, output ⊥. Otherwise, calculate
[0123] For each i∈[l2], check the equality:
[0124] e(g,E0)=e(F0,h), e(g,E)=e(F,h) and e(g,E i )=e(F i ,h) is true. If one of the equations does not exist, output ⊥.
[0125] Choose a random vector make calculate
[0126] Then calculate
[0127] Then calculate
[0128] calculate and
[0129] Then check the equation A1 = e(g,h) α and Is it true? If one of the equations does not exist, output ⊥.
[0130] If all checks pass, the message msg is returned and
[0131] Step 8: When the editor wants to purify the ciphertext, first get the encrypted ciphertext Decrypt and then purify it to get the purified ciphertext And upload to the cloud server.
[0132] Editor's Secret Key Run the decryption algorithm Decrypt and the sanitization algorithm Sanitize to calculate the purified ciphertext ct′ of the purified message msg′=ε(msg); finally, the editor will purify the ciphertext Upload to the cloud server, c′ is the attribute base ciphertext of the message, π′ is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential;
[0133] Purification Algorithm It means: input pk, message msg and its signature sig, modification function ε and a secret key if If the editing strategy is satisfied and ε is legal, the purified ciphertext ct′ of the purified message msg′=ε(msg) is output, otherwise ⊥ is output.
[0134] The details are as follows
[0135] Step 1: Perform the same operation as the data decryption process to obtain msg = (m, τ) and sig.
[0136] Step 2: Decrypt the ciphertext Get the purification certificate
[0137] replace for Replace c with Perform the same operations as the first step in the data decryption process;
[0138] Step 3: Random Selection For each i∈[l+1], calculate ζ i ′=s·ζ i ,calculate where i∈v, W i =(W i ) s .
[0139] Step 4: Calculate the equivalent signature of the modified message based on the signature π
[0140] Select random number calculate:
[0141] calculate
[0142] Then select calculate:
[0143] μ′=(Q0′=(Q0) rψ ,Q1′=(Q1) 1 / ψ ,Q2′=(Q2) 1 / ψ), η′=(Q3′=(Q3) rsψ ,Q4′=(Q4) 1 / ψ ,Q5′=(Q5) 1 / ψ ).
[0144] Step 5: According to the editing strategy Calculate the attribute-based ciphertext of the purified credential γ′
[0145] First, according to the certificate calculate where ζ i ′=s·ζ i . Set the new cleansing credentials to Then perform the same encryption calculation process as the third step in step 5 data encryption to obtain a new encryption certificate
[0146] Step 6: According to the editing strategy Calculate the attribute base signature σ′ of message msg′:
[0147] Perform the same signature calculation process as the fourth step in step five data encryption to obtain a new signature σ′.
[0148] Step 7: Based on the access policy Calculation Message The attribute base ciphertext c′ is:
[0149] First check Is it true? If it is true, let msg′=ε(msg)=(m′,τ), otherwise output ⊥. Then perform the same operation as step 5 in data encryption to encrypt Get c′.
[0150] Finally, the editor obtains the purified ciphertext of msg′ And upload it to the cloud server for sharing.
[0151] Step 9: When the editor decides not to purify a certain ciphertext message, execute the puncture algorithm SKPun locally to obtain the purified key after puncture and save it.
[0152] Puncture Algorithm Refers to: input pk, message msg and secret key Output a new secret private key The puncture key can support the editor to edit other messages, but can no longer support the editor to edit msg;
[0153] Specifically, given a message msg = (m, τ) and a private key First, set B0′[Hi (τ)] = 1, then for each i∈[n], define
[0154] Finally get the key after puncture
[0155] Step 10: When malicious editing occurs, the trusted authority executes the tracking algorithm Trace to obtain the owner identity of the original ciphertext ct or the editor identity of the purified ciphertext ct′.
[0156] The tracing algorithm Trace(pk,mk,st,ct / ct′) means: input pk,mk, tracing table st, a ciphertext ct / ct′, and output the owner identity of ct or the editor identity of ct′.
[0157] The details are as follows;
[0158] Step 1: Decrypt c to get Decrypt the ciphertext ct / ct′ to obtain
[0159] Execute the same decryption calculation process as the first step in step 6 data decryption.
[0160]
[0161] Step 2: Calculate the owner / editor's identity id based on the signature σ
[0162] First calculate Then look up the table st to get the identity id of the owner / editor.
[0163] Compared with the data sharing scheme of controllable data editing based on ABSS in the existing cloud environment, the present invention improves the security of data sharing in the cloud computing environment, and has the following technical effects: using fine-grained access control strategies to ensure data confidentiality so that only authorized users can access the data, resisting semi-trusted cloud servers. Using editing strategies to specify the editable parts of the data and which users can edit the data ensures controllable editing of the data so that only editors with authorized secret keys can modify the specified parts of the data and generate new ciphertext to upload to the cloud server, resisting malicious data editors. In addition, during puncture, the key is punctured with a message to achieve the revocation of the editing ability of the message, achieving a more fine-grained revocation, and when the key is punctured, only the relevant elements need to be deleted, and the calculation time is extremely short, achieving higher revocation efficiency.
Claims
1. A forward-secure encrypted data controllable editing method in a cloud environment, characterized in that: The specific steps are as follows: Step 1: Build a cloud simulation environment including trusted institutions, cloud servers, edge nodes, owners, users, and editors; Step 2: Initialize the Setup algorithm parameters in the cloud simulation environment; The trusted authority first selects the security parameter γ and the complete set of attributes Bloom filter parameter param = (n, k), maximum message length l, then run the Setup algorithm to initialize the system; the trusted authority publishes the system public key pk, retains the master key mk and tracking table st; The data owner attribute set is User attribute collection Editor Properties Collection Step 3: For the data owner, the trusted authority runs the encryption key generation algorithm to calculate the encryption key ek s , and returns it to the data owner; Enter the system public key pk, master key mk and attribute set Go to the encryption key generation algorithm and select the random number Calculate the encryption key ek s =(ak s ,rk s ); α, a, b, k0 are random numbers, all attributes For each attribute in the x , select a random number u for each position i∈[n] i ; For each attribute Select random number g is a bilinear group The generator of h is a bilinear group The generator of The elements on the group are mapped to Hash function H1 for elements on the group: Step 4: For the user or editor, the trusted authority runs the secret key generation algorithm to obtain the secret key or and returns it to the user or editor; Enter the system public key pk, master key mk and attribute set or To the secret key generation algorithm, through the random number calculate Similarly, enter the system public key pk, master key mk and attribute set To the secret key generation algorithm, through the random number calculate Step 5: Given the plaintext data msg, the owner uses the encryption key Run the encryption algorithm Encrypt to encrypt the plaintext data msg, obtain the encrypted original ciphertext ct, and upload it to the cloud server; msg=(m={m1,m2,…,m i ,…m l },τ),m i ∈{0,1} * is the message block, τ is the message identifier of msg; c is the attribute base ciphertext of the message, π is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential; Step 6: When the user wants to access the ciphertext in the cloud server, the user requests the ciphertext from the nearest edge node. The edge node determines whether the ciphertext is stored. If so, it returns it directly to the user. Otherwise, the edge node requests the cloud server, obtains the ciphertext, saves it, and returns it to the user. Step 7: User retrieves ciphertext Then, use the secret key Run the decryption algorithm Decrypt to decrypt and get the messages msg and sig; Step 8: When the editor wants to purify the ciphertext, first get the encrypted ciphertext Decrypt and then purify it to get the purified ciphertext And upload to the cloud server; Editor's Secret Key Run the decryption algorithm Decrypt and the sanitization algorithm Sanitize to calculate the purified ciphertext ct′ of the purified message msg′=ε(msg); finally, the editor will purify the ciphertext Upload to the cloud server, c′ is the attribute base ciphertext of the message, π′ is the equivalence class signature of the message, is the attribute base ciphertext of the sanitized credential; Step 9: When the editor decides not to purify the ciphertext message, the puncture algorithm SKPun is executed locally to obtain the purified key after puncture and save; Specifically, given a message msg = (m, τ) and a secret key First, set B0′[H i (τ)] = 1, then for each position i∈[n], define B0′ is a set of length n and the initial element value is 0, H=(H i ) i∈[k] are k different hash functions that map strings to integers; Finally get the key after puncture Step 10: When malicious editing occurs, the trusted authority executes the tracking algorithm Trace to obtain the owner identity of the original ciphertext ct or the editor identity of the purified ciphertext ct′.
2. A forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: In step 1, the trusted institution is responsible for initializing the system and issuing encryption keys to the owner and secret keys to the user and editor. The cloud server is responsible for long-term data storage, and the edge node is responsible for caching ciphertexts that are frequently accessed by users. In this simulation environment, the owner puts the encrypted data on the cloud server and uses access policies to control user access and editing policies to control user editing. Only authorized editors who perform authorized modification operations can generate legal ciphertext for the modified data.
3. A forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: The specific step 5 is: input the system public key pk, plain text message msg, access policy Blocks that can be modified Editing strategy and encryption keys To the encryption algorithm Encrypt, output the encrypted original ciphertext ct or ⊥.
4. The forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: The decryption algorithm Decrypt(pk, ct, ) means: input system public key pk, owner's attribute set Ciphertext ct and secret key if Editing strategy is satisfied, and the message msg has not been illegally modified, then output msg and sig, otherwise output ⊥.
5. The forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: The purification algorithm of step 8 is Sanitize(pk,msg,sig,ε, ) means: input system public key pk, message msg and its signature sig, modification function ε and a secret key If the attribute set If the editing strategy is satisfied and ε is legal, the purified ciphertext ct′ of the purified message msg′=ε(msg) is output, otherwise ⊥ is output.
6. A forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: The puncture algorithm SKPun(pk,msg, ) means: input system public key pk, message msg and secret key Output a new secret key This allows it to support editors editing other messages, but it can no longer be used to modify message msg.
7. A forward-secure encrypted data controllable editing method in a cloud environment as claimed in claim 1, characterized in that: The tracing algorithm Trace(pk,mk,st,ct / ct′) in step 10 refers to: inputting the system public key pk, the master key mk, the tracing table st, and a ciphertext ct / ct′, and outputting the owner identity of the original ciphertext ct or the editor identity of the purified ciphertext ct′.
Citation Information
Patent Citations
Generation, purification and verification method of cleanable signature and privacy protection method of cleanable signature
CN113114469A
Puncture-capable attribute-based matching encryption scheme
CN113346991A
Data circulation control method based on cleanable attribute encryption in cloud environment
CN115277171A
Vehicle-mounted network cleanable access control method and system with policy protection
CN116827696A
Method and system for data sharing using attribute-based encryption in cloud computing
KR1020180101870A
Cited By
Dynamic hierarchical data access control method based on recoverable puncture encryption
CN119728282A
Dynamic hierarchical data access control method based on resumable puncture encryption
CN119728282B
Autonomous path access authorization method for encrypted data in cloud storage environment
CN120050030A
An Autonomous Path Access Authorization Method for Encrypted Data in a Cloud Storage Environment
CN120050030B
