A forward-secure, encrypted, and controllable data editing method in a cloud environment

By designing a forward-secure encrypted data controllable editing method in a cloud computing environment, and utilizing trusted institutions and Bloom filter puncture algorithms, the problems of data confidentiality and cleanup key leakage in cloud computing are solved, and controllable data editing and secure sharing are realized.

CN119210813BActive Publication Date: 2025-10-28BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing attribute-based sanitizable signature technologies cannot guarantee data confidentiality in cloud computing environments and cannot resist sanitizable key leakage attacks, allowing malicious editors to modify data undetected.

Method used

A forward-secure encrypted data controllable editing method for cloud environments is designed. The system key is initialized by a trusted institution, and access and editing policies are used to control data access and editing. By combining Bloom filters and puncture algorithms, it is ensured that only legitimate editors can modify data, and the editing ability is revoked when the key is leaked.

Benefits of technology

It achieves data confidentiality and controllable editing in a cloud computing environment, resists malicious editing, improves the security of data sharing, prevents unauthorized users from modifying data, and effectively revokes editing privileges when keys are leaked.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119210813B_ABST
    Figure CN119210813B_ABST
Patent Text Reader

Abstract

This invention discloses a forward-secure, controllable encrypted data editing method in a cloud environment, belonging to the field of cloud computing. Specifically, the method involves: First, building and initializing a cloud simulation environment; a trusted authorization agency calculating the encryption key of the data owner or the secret key of the user or editor; then, the owner running the Encrypt algorithm to encrypt the given plaintext data msg, obtaining the original ciphertext ct, which is uploaded to the cloud server, accessible to users through edge nodes or the cloud server. The editor obtains the original ciphertext ct from the edge node or cloud server, then performs controlled purification to obtain the purified ciphertext ct′, which is uploaded to the cloud server for user access; when no longer purifying a ciphertext, a puncture is performed locally based on the message of that ciphertext to obtain the purification key; finally, in the event of malicious purification, the trusted authorization agency executes a tracing algorithm to obtain the identity of the owner of the original ciphertext ct or the identity of the editor of the purified ciphertext ct′. This invention meets the requirements for secure and controllable data editing and sharing in a cloud environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of cloud computing, specifically relating to a forward-secure encrypted data controllable editing method in a cloud environment. Background Technology

[0002] Cloud computing provides abundant storage and computing resources, greatly improving the efficiency of data sharing; cloud and edge platforms provide a large number of storage services to people on demand. However, outsourced data often contains sensitive information. Therefore, edge cloud needs a secure data sharing mechanism.

[0003] Currently, researchers have studied encryption primitives such as broadcast encryption (BE) and attribute-based encryption (ABE) to achieve the aforementioned goals. In attribute-based data sharing systems, owners typically use fine-grained access structures to encrypt data and publish the encrypted data to a cloud server, allowing access only to users with sufficient attributes. In most existing data sharing schemes, owners or collaborating users can modify shared data by uploading encrypted data. However, while owners can request editors to modify shared data on their behalf, they also worry that malicious editors might modify immutable parts of the shared data. Therefore, how to achieve controlled editing of encrypted data remains a challenge.

[0004] Researchers have proposed digital signature schemes that support modification of authenticated data, such as homomorphic signatures, editable signatures, and sanitized signatures. A sanitized signature is a novel type of digital signature that only allows a designated editor to modify specified portions of a message, generating a sanitized signature for the modified message using a sanitization key. If the modification is acceptable, the modified message signature will pass verification. Specifically, attribute-based sanitized signatures (ABSS) use an access policy instead of a public key to specify potential editors. Therefore, in real-world data editing scenarios, ABSS can be used to finely control the editor's capabilities.

[0005] ABSS technology enables editable control of data in cloud computing, involving entities such as trusted authorizing authorities, signers, purifiers, and verifiers. For example... Figure 1 As shown, the implementation process includes the following steps:

[0006] 1) System initialization. A trusted authorization authority generates the system public key PK and the system master key MK.

[0007] 2) Signer Key Generation. The trusted authorization authority generates a signing private key SK for the signer based on the system master key MK and user attributes. o And it is securely distributed to the 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 safely distributed to the purifiers.

[0009] 4) Signature generation. The signer inputs the system public key PK and the signer's private key SK. o The message m, access policy P, and allowed modification description am are used to generate a signature σ.

[0010] 5) Signature purification. The purifier enters the system's public key PK and the purifier's private key SK. s Given a message m and a description of the modifications to the message dm, generate a signature σ′ for 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 a cloud computing environment, directly using existing ABSS technology to achieve data sharing that supports controlled editing presents the following problems:

[0013] 1) ABSS cannot be directly applied to cloud data sharing because it can only guarantee the authenticity of the data, but cannot guarantee the confidentiality of the data to resist semi-trusted cloud servers.

[0014] 2) Existing ABSS cannot resist sanitization key leakage attacks. That is, once the sanitization key is obtained by the attacker, the attacker can maliciously modify the data without being detected. Summary of the Invention

[0015] To address the aforementioned issues, this invention proposes a forward-secure encrypted data controllable editing method in a cloud environment, meeting the requirements for secure and controllable data editing and sharing in a cloud environment.

[0016] The specific steps of the forward-secure encrypted data controllable editing method in the cloud environment are as follows:

[0017] Step 1: Set up a cloud simulation environment that includes trusted institutions, cloud servers, edge nodes, owners, users, and editors;

[0018] The trusted institution is responsible for initializing the system and issuing encryption keys to the owner, secret keys to users and editors, cloud servers are responsible for long-term data storage, and edge nodes are responsible for caching frequently accessed ciphertext.

[0019] In this environment, the owner places encrypted data on a cloud server and uses access policies to control user access and editing policies to control user editing. Only authorized editors can generate legitimate ciphertext for the modified data by performing authorized modification operations.

[0020] Step 2: Initialize the cloud simulation environment using Setup algorithm parameters;

[0021] Trusted authorization authorities first select security parameter γ and the complete set of attributes. The Bloom filter parameter `param` specifies the maximum message length `l`, and then the Setup algorithm is run to initialize the system. A trusted authority publishes the system's public key `pk`, and retains the master key `mk` and the tracking table `st`.

[0022] The data owner attribute set is User attribute set Editor Attribute Set

[0023] Step 3: For the data owner and trusted authorized agency, run the encryption key generation algorithm to calculate the encryption key. And return it to the data owner.

[0024] Input the system public key pk, master key mk, and attribute set. To the encryption key generation algorithm, select a random number. Calculate the encryption key

[0025]

[0026] Step 4: For users or editors, a trusted authorization authority runs a secret key generation algorithm to obtain the secret key. or And return it to the user or editor.

[0027] Input the system public key pk, master key mk, and attribute set. or To the secret key generation algorithm, through random numbers calculate

[0028]

[0029] Similarly, input the system public key pk, master key mk, and attribute set. To the secret key generation algorithm, through random numbers calculate

[0030]

[0031] Step 5: Given plaintext data msg, the owner uses the encryption key. Run the Encrypt encryption algorithm to encrypt the plaintext data msg, obtain the encrypted original ciphertext ct, and upload it to the cloud server.

[0032] Input system public key (pk), plaintext message (msg), access policy Blocks that can be modified Editing strategy and encryption key The encryption algorithm Encrypt outputs the encrypted original ciphertext ct or ⊥.

[0033] msg = (m = {m1, m2, ..., m i ,…m l},τ),m i ∈{0,1} * It is a message block, and τ is the message identifier of msg;

[0034] c is the attribute base ciphertext of the message, and π is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate;

[0035] Step 6: When a user wants to access the encrypted text in the cloud server, the user requests the encrypted text from the nearest edge node. The edge node determines whether the encrypted text exists. If it does, it returns the encrypted text directly to the user. Otherwise, the edge node requests the encrypted text from the cloud server, saves it, and returns it to the user.

[0036] Step 7: User retrieves the original encrypted text Then, using the secret key Run the Decrypt algorithm to decrypt the messages, obtaining msg and sig.

[0037] Decryption algorithm This refers to: inputting the system public key (pk) and the owner's attribute set. Original ciphertext ct and secret key if Editing strategy If the conditions are met and the message msg has not been illegally modified, then output msg and sig; otherwise, output ⊥.

[0038] Step 8: When the editor wants to cleanse the ciphertext, first decrypt the original ciphertext. Then it is purified to obtain the purified ciphertext. And upload it to the cloud server.

[0039] The editor used a secret key Run the Decrypt algorithm and the Sanitize algorithm to calculate the sanitized ciphertext ct′ of the sanitized message msg′ = ε(msg); finally, the editor will sanitize the ciphertext. Uploaded to the cloud server, c′ is the attribute base ciphertext of the message, and π′ is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate;

[0040] Cleanup Algorithm This refers to: the input system public key pk, the message msg and its signature sig, the modification function ε, and a secret key. If the attribute set If the editing policy is satisfied and ε is valid, output the cleaned ciphertext ct′ of the cleaned message msg′=ε(msg); otherwise, output ⊥.

[0041] Step 9: When the editor decides not to clean up the ciphertext, the SKPun puncture algorithm is executed locally to obtain the cleaned-up key after puncture. And save it.

[0042] The puncture algorithm SKPun(pk,msg) refers to: input system public key pk, message msg, and secret key. Output a new private key This allows it to support editors in editing other messages, but it can no longer be used to modify message msg.

[0043] Specifically, given the message msg = (m, τ) and the secret key... First, set B0′[H i [(τ)] = 1, and then for each i ∈ [n], define

[0044] Finally, the key after the puncture was obtained.

[0045] Step 10: When malicious editing occurs, the trusted authorized agency executes the Trace algorithm to obtain the identity of the owner of the original ciphertext ct or the identity of the editor of the cleaned ciphertext ct′.

[0046] The Trace algorithm (pk,mk,st,ct / ct′) takes as input a system public key pk, a master key mk, a trace table st, and a ciphertext ct / ct′, and outputs the identity of the owner of the original ciphertext ct or the identity of the editor of the cleaned ciphertext ct′.

[0047] The advantages of this invention are:

[0048] 1) A forward-secure encrypted data controllable editing method in a cloud environment is proposed, which designs a sanitizing algorithm to controllably edit the original data. Only the editor holding the legitimate private key can correctly edit the data. Unauthorized users, even if they obtain the original message, cannot modify the message or generate legitimate sanitized ciphertext, thereby resisting malicious message editing attacks.

[0049] 2) A forward-secure, controllable editable encrypted data method in a cloud environment, based on a Bloom filter, employs a puncture algorithm to puncture the secret key. During puncturing, a message is used to puncture the key to obtain a new key, which prevents the message from being edited, thus revoking its cleanup capability and solving the problem of malicious editing caused by key leakage. Attached Figure Description

[0050] Figure 1 This is a flowchart of the ABSS technology for implementing data editing and control in cloud computing in existing technologies;

[0051] Figure 2 This is a flowchart of a forward-secure encrypted data controllable editing method in a cloud environment according to the present invention;

[0052] Figure 3 This is a schematic diagram of the cloud simulation environment built by the present invention. Detailed Implementation

[0053] To facilitate understanding and implementation of the present invention by those skilled in the art, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Obviously, the described embodiments are merely some, not all, embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort should fall within the scope of protection of the present invention.

[0054] This invention provides a forward-secure encrypted data controllable editing method in a cloud environment, which can meet the requirements for secure and controllable data editing and sharing in a cloud environment; such as Figure 2 As shown, the specific steps are as follows:

[0055] Step 1: Set up a cloud simulation environment that includes trusted institutions, cloud servers, edge nodes, owners, users, and editors;

[0056] In this environment, the owner places encrypted data on a cloud server and uses access policies to control which users can access the data, and editing policies to control which parts of the data can be edited and which users can edit the data, ensuring data confidentiality and controlled editing. Only authorized editors can generate legitimate ciphertext for the modified data by performing authorized modifications. During the encryption phase, the data is signed and encrypted using a combination of attribute-based equivalence class signatures and attribute-based puncture encryption and signatures. During the ciphertext cleansing phase, only authorized editors can obtain cleansing credentials to modify the data and generate legitimate cleansed ciphertext. Furthermore, to strengthen the protection of editors' editing capabilities, editors use messages to puncture the key, thereby revoking their ability to edit the message, effectively ensuring that the message cannot be modified again after the key is leaked.

[0057] like Figure 3 As shown, a trusted authorization authority establishes the system's public key and master key, and generates keys for the system's owners, users, and editors. Furthermore, the trusted authorization authority can trace the true identity of the owner / editor from the ciphertext.

[0058] The owner first obtains an encryption key associated with their own attribute set from a trusted authorization authority. During encryption, the owner specifies the data access policy, allowed modifications, and editing policies, then encrypts the data using their own encryption key, and finally uploads the original ciphertext to edge nodes for fine-grained sharing.

[0059] Edge nodes cache ciphertext for participants in the system and send the ciphertext to the cloud server for long-term storage.

[0060] The cloud server stores encrypted text uploaded by owners and editors and transmits it to other users and editors in the system.

[0061] Users obtain a secret key associated with their attribute set from a trusted authority and use it to decrypt ciphertext to access data.

[0062] Authorized editors can modify the permitted portions of the decrypted data and generate cleaned ciphertext using a secret key. Finally, the editor uploads the cleaned ciphertext to edge nodes for sharing.

[0063] Step 2: Cloud Simulation Environment Initialization Setup Algorithm

[0064] Trusted authorization authorities first select security parameter γ and the complete set of attributes. The Bloom filter parameters are param = (n, k), the maximum message length is l, and then the Setup algorithm is run to construct a bilinear group of order p. and The corresponding bilinear mapping is

[0065] Select random number and the complete set of attributes Choose a random number for each attribute in the data. Choose a random number for each position i∈[n].

[0066] and define It is a collision-resistant hash function.

[0067] Select random number Define function Select random number make satisfy Then select k hash functions H = (H i ) i∈[k] A set B = 0 of length n and whose initial element values ​​are 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 the signature public key and signing private key

[0069] Finally, a trusted authorized entity stores 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 set Editor Attribute Set

[0071] Step 3: Run the EKGen algorithm on the data owner and trusted authorization authority. Calculate the encryption key The key is then returned to the data owner via a secure channel.

[0072] For each data owner, the trusted authorization authority inputs the system public key pk, master key mk, and attribute set. The EKGen algorithm outputs the encryption key.

[0073] First, select a random number. calculate:

[0074]

[0075] Then select random number. calculate:

[0076]

[0077] Step 4: For users or editors, a trusted authorization authority runs a secret key generation algorithm. Obtain the secret key or And return it to the user or editor.

[0078] Input the system public key pk, master key mk, and attribute set. To obtain the secret key generation algorithm,

[0079] Through random numbers calculate:

[0080]

[0081] Similarly, input the system public key pk, master key mk, and attribute set. To obtain the secret key generation algorithm,

[0082] Step 5: Given plaintext data msg, the owner uses the encryption key. Running the Encrypt algorithm To encrypt plaintext data msg, obtain 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} * It is a message block, and τ is the message identifier of msg;

[0084] c is the attribute base ciphertext of the message, and π is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate;

[0085] Input system public key (pk), plaintext message (msg), access policy Blocks that can be modified Editing strategy It consists of AND and OR gates on any possible properties; and an encryption key. The Encrypt algorithm outputs 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 Set ζ l+1 =0,

[0088] Step 2: Calculate the equivalence class signature of the message.

[0089]

[0090] Then, select a random number. set up calculate:

[0091]

[0092] Step 3: According to the editing strategy Calculate the attribute base ciphertext of the purification certificate γ

[0093] Set the purification certificate as in

[0094] Editing strategy in It is an l1×n1 matrix, ρ will Each row in Attribute associations in the text.

[0095] Select random number set up calculate calculate and C0 = h s ;

[0096] For each i∈[l1], compute calculate Obtain encrypted purification certificate

[0097] Step 4: According to the editing strategy Calculate the attribute base signature of the message msg:

[0098]

[0099] set up in It is an l2×n2 matrix, φ will Each row in Attribute associations in the text.

[0100] First, set γ = {H} i (τ)}i∈[k] Check b = ∧ i∈[k] B[H i If ξ is equal to 1, output ⊥; otherwise, there exists 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] Let Γ = (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] Next, select a random number. calculate Among them, for

[0107] Finally, I got the signature.

[0108] Step 5: Based on the access policy Compute message The attribute base ciphertext c:

[0109] in

[0110] Set up signature Repeat the calculation process in step three, but replace the part in step three. for Replace γ in step 3 with The encrypted result c is obtained.

[0111] Finally, the data owner will encrypt the text. Uploaded to the cloud server.

[0112] Step 6: When a user wants to access the encrypted text in the cloud server, the user requests the encrypted text from the nearest edge node. The edge node determines whether the encrypted text exists. If it does, it returns the encrypted text directly to the user. Otherwise, the edge node requests the encrypted text from the cloud server, saves it, and returns it to the user.

[0113] Step 7: User retrieves encrypted text Then, using the secret key Run the decryption algorithm Decrypt the messages to obtain msg and sig.

[0114] Decryption algorithm This refers to: inputting pk, the owner's attribute set. Ciphertext ct and secret key if Editing strategy If the conditions are met and the message msg has not been illegally modified, then output msg and sig; otherwise, output ⊥.

[0115] Step 1: Decrypt c to obtain

[0116] make For matrix corresponding attribute set The set of rows.

[0117] First calculate Check the equation Check if the condition is true; if not, output ⊥. If the condition is not met, output ⊥; otherwise, output a constant. satisfy calculate Finally, output the message.

[0118] Step 2: Verify the authenticity of the message, i.e., verify the equivalence class signature.

[0119] For all i∈[l], check the equation Does it hold true?; check the equation. Whether it is valid or not.

[0120] By checking the equation We verify μ by checking whether e(Q1,h)=e(g,Q2) holds true, and verify η in the same way.

[0121] Step 3: Verify the attribute base signature

[0122] Check if there exists a ξ∈γ, γ={H i (τ)} i∈[k] If it does not exist, output ⊥. Otherwise, calculate...

[0123] For each i∈[l2], check the equation:

[0124] e(g,E0)=e(F0,h), e(g,E)=e(F,h) and e(g,E i )=e(F i Check if the equation (h) is true. If any equation does not exist, output ⊥.

[0125] Select random vector make calculate

[0126] Then calculate

[0127] Then calculate

[0128] calculate and

[0129] Then check the equation A1 = e(g,h). α and Check if the equation is true or false. If an equation does not exist, output ⊥.

[0130] If all checks pass, a message msg and

[0131] Step 8: When the editor wants to cleanse the ciphertext, they first need to obtain the encrypted ciphertext. Decrypt it, then purify it to obtain the purified ciphertext. And upload it to the cloud server.

[0132] The editor used a secret key Run the Decrypt algorithm and the Sanitize algorithm to calculate the sanitized ciphertext ct′ of the sanitized message msg′ = ε(msg); finally, the editor will sanitize the ciphertext. Uploaded to the cloud server, c′ is the attribute base ciphertext of the message, and π′ is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate;

[0133] Cleanup Algorithm This refers to: input pk, message msg and its signature sig, modification function ε, and a secret key. if If the editing policy is satisfied and ε is valid, output the cleaned ciphertext ct′ of the cleaned message msg′=ε(msg); otherwise, output ⊥.

[0134] Specifically as follows:

[0135] Step 1: Perform the same operation as the data decryption process to decrypt and obtain msg = (m, τ) and sig.

[0136] Step 2: Decrypt the ciphertext Obtain purification certificate

[0137] replace for Replace 'c' with Perform the same operation 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 equivalence class signature of the modified message based on 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 base ciphertext of the purification certificate γ′

[0145] First, according to the voucher calculate Where ζ i ′=s·ζ i Set a new purification certificate as Then, perform the same encryption calculation process as step three in step five (data encryption) to obtain a new encryption credential.

[0146] Step 6: According to the editing strategy Calculate the attribute base signature σ′ of message msg′:

[0147] Perform the same signature calculation process as step four in step five of the data encryption process to obtain a new signature σ′.

[0148] Step 7: Based on the access policy Compute message The attribute base ciphertext c′:

[0149] First check Check if the condition is true. If true, let msg′=ε(msg)=(m′,τ); otherwise, output ⊥. Then perform the same operation as step 5 in data encryption to encrypt. We obtain c′.

[0150] Finally, the editor obtained the purified ciphertext of msg'. And upload it to the cloud server for sharing.

[0151] Step 9: When the editor decides not to clean up a certain ciphertext message, the SKPun puncture algorithm is executed locally to obtain the cleanup key after puncture. And save it.

[0152] Puncture algorithm This refers to: input pk, message msg, and secret key. Output a new private key This piercing key can support the editor to edit other messages, but it can no longer support the editor to edit msg;

[0153] Specifically, given the message msg = (m, τ) and the private key... First, set B0′[Hi [(τ)] = 1, and then for each i ∈ [n], define

[0154] Finally, the key after the puncture was obtained.

[0155] Step 10: When malicious editing occurs, the trusted authorized agency executes the Trace algorithm to obtain the identity of the owner of the original ciphertext ct or the identity of the editor of the cleaned ciphertext ct′.

[0156] The tracing algorithm Trace(pk,mk,st,ct / ct′) means: input pk,mk, tracing table st, a ciphertext ct / ct′, output the owner identity of ct or the editor identity of ct′.

[0157] The details are as follows;

[0158] Step 1: Decrypt c to obtain Decrypting ciphertext ct / ct′

[0159] The same decryption calculation process as the first step in step six (data decryption) is performed.

[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 owner / editor's ID.

[0163] Compared to existing data sharing schemes based on ABSS for controllable data editing in cloud environments, this invention improves the security of data sharing in cloud computing environments, achieving the following technical effects: Using fine-grained access control policies ensures data confidentiality, allowing only authorized users to access data and resisting semi-trusted cloud servers. Using editing policies to specify the editable parts of data and which users can edit the data ensures controllable editing, allowing only editors with authorized secret keys to modify designated parts of the data and generate new encrypted text to upload to the cloud server, resisting malicious data editors. Furthermore, during key piercing, messages are used to pierce the key to revoke the message's editing capabilities, achieving finer-grained revocation. Moreover, key piercing only requires deleting relevant elements, resulting in minimal computation time and higher revocation efficiency.

Claims

1. A forward-secure, encrypted, and controllable data editing method in a cloud environment, characterized in that, The specific steps are as follows: Step 1: Set up a cloud simulation environment that includes trusted authorization agencies, cloud servers, edge nodes, owners, users, and editors; Step 2: Initialize the cloud simulation environment using Setup algorithm parameters; Trusted authorization authorities first select security parameter γ and the complete set of attributes. The Bloom filter parameters are param = (n, k), the maximum message length is l, and then the Setup algorithm is run to initialize the system; the trusted authority publishes the system's public key pk, and retains the master key mk and the tracking table st; The data owner attribute set is User attribute set Editor Attribute Set Step 3: For the data owner and trusted authorized agency, run the encryption key generation algorithm to calculate the encryption key. And return it to the data owner; Input the system public key pk, master key mk, and attribute set. To the encryption key generation algorithm, select a random number. Calculate the encryption key α, a, b, k0 are random numbers, and the set of attributes is complete. Each attribute in the array is selected by a random number v. x For each position i∈[n], choose a random number u. i ; for each attribute Select random number g is a bilinear group The generators of h are bilinear groups. The generator, H1 is a generator that will Group element mapping to H1, the hash function of elements in the group: Step 4: For users or editors, a trusted authorization authority runs a secret key generation algorithm to obtain the secret key. or And return it to the user or editor; Input the system public key pk, master key mk, and attribute set. or To the secret key generation algorithm, through random numbers calculate Similarly, input the system public key pk, master key mk, and attribute set. To the secret key generation algorithm, through random numbers calculate Step 5: Given plaintext data msg, the owner uses the encryption key. Run the Encrypt encryption algorithm 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},τ),m i ∈{0,1} * It is a message block, and τ is the message identifier of msg; c is the attribute base ciphertext of the message, and π is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate; Step 6: When a user wants to access the encrypted text in the cloud server, the nearest edge node requests the encrypted text. The edge node determines whether the encrypted text exists. If it does, it returns it directly to the user. Otherwise, the edge node requests the encrypted text from the cloud server, saves it, and returns it to the user. Step 7: User retrieves encrypted text Then, using the secret key Run the Decrypt algorithm to decrypt the messages msg and sig. Decryption algorithm This refers to: inputting the system public key (pk) and the owner's attribute set. Ciphertext ct and secret key if Editing strategy If the conditions are met and the message msg has not been illegally modified, then output msg and sig; otherwise, output ⊥. Step 8: When the editor wants to cleanse the ciphertext, they first need to obtain the encrypted ciphertext. Decrypt it, then purify it to obtain the purified ciphertext. And upload it to the cloud server; The editor used a secret key Run the Decrypt algorithm and the Sanitize algorithm to calculate the sanitized ciphertext ct′ of the sanitized message msg′ = ε(msg); finally, the editor will sanitize the ciphertext. Uploaded to the cloud server, c′ is the attribute base ciphertext of the message, and π′ is the equivalence class signature of the message. It is the attribute base ciphertext of the purification certificate; The purification algorithm This refers to: the input system public key pk, the message msg and its signature sig, the modification function ε, and a secret key. If the attribute set If the editing policy is satisfied and ε is valid, output the cleaned ciphertext ct′ of the cleaned message msg′ = ε(msg); otherwise, output ⊥. Step 9: When the editor decides not to clean up the ciphertext, the SKPun puncture algorithm is executed locally to obtain the cleaned-up key after puncture. And save; Specifically, given the message msg = (m, τ) and the secret key... First, set B0′[H i [(τ)] = 1, and then for each position i ∈ [n], define B0′ is a set of length n whose initial element values ​​are all 0, H = (H i ) i∈[k] There are k different hash functions that map strings to integers; Finally, the key after the puncture was obtained. The puncture algorithm This refers to: inputting the system public key (pk), message (msg), and secret key. Output a new secret key This allows it to support editors in editing other messages, but it can no longer be used to modify message msg; Step 10: When malicious editing occurs, the trusted authorized agency executes the Trace algorithm to obtain the identity of the owner of the original ciphertext ct or the identity of the editor of the cleaned ciphertext ct′.

2. The method for forward-secure encrypted data controllable editing in a cloud environment as described in claim 1, characterized in that, In step one, the trusted authorization agency is responsible for initializing the system and issuing encryption keys to the owner, secret keys to users and editors, the cloud server is responsible for long-term data storage, and the edge nodes are responsible for caching ciphertexts that users frequently access. In this simulation environment, the owner places encrypted data on a cloud server and uses access policies to control user access and editing policies to control user editing. Only authorized editors can generate legitimate ciphertext for the modified data by performing authorized modification operations.

3. The method for forward-secure encrypted data controllable editing in a cloud environment as described in claim 1, characterized in that, Step five specifically involves: inputting the system public key pk, the plaintext message msg, and the access policy. Blocks that can be modified Editing strategy and encryption key The encryption algorithm Encrypt outputs the encrypted original ciphertext ct or ⊥.

4. The method for forward-secure encrypted data controllable editing in a cloud environment as described in claim 1, characterized in that, The tracing algorithm Trace(pk,mk,st,ct / ct′) in step ten refers to the following: inputting the system public key pk, master key mk, tracing table st, and a ciphertext ct / ct′, and outputting the identity of the owner of the original ciphertext ct or the identity of the editor of the cleaned ciphertext ct′.

Citation Information

Patent Citations

  • Puncture-capable attribute-based matching encryption scheme

    CN113346991A

  • Data circulation control method based on cleanable attribute encryption in cloud environment

    CN115277171A