Data fine-grained bidirectional access control sharing method and system in cloud computing environment

By submitting encrypted data and access policies on the blockchain in the inter-cloud computing environment, fine-grained two-way access control of data is realized, solving the problem of coarse data access control in blockchain technology, ensuring that The security of data transmission.

CN119316184APending Publication Date: 2025-01-14NAT UNIV OF DEFENSE TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411221967.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

In blockchain technology, data access control is coarse, resulting in insufficient data privacy protection, and the receiver cannot screen the data of interest, which brings unnecessary overhead to the recipient.

Method used

In the inter-cloud computing environment, the sender submits the encrypted data and access policies to the blockchain, the receiver submits its access interest information, and the cloud node matches. If it matches, a pre-decrypted ciphertext is generated so that the receiver can decrypt and obtain it. Raw data.

Benefits of technology

The fine-grained two-way access control of data is realized to ensure the security of transmission and reception of each encrypted data. The ciphertext can only be received by the receiver when the sender's policy matches the attributes and interests of the receiver.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316184A_ABST
    Figure CN119316184A_ABST
Patent Text Reader

Abstract

The invention discloses a data fine-grained two-way access control sharing method and system in an intercloud computing environment. The data fine-grained two-way access control sharing method in the intercloud computing environment comprises the steps that S101, a sender submits first information of a ciphertext obtained after original data is encrypted based on an access strategy to a block chain; the receiver submits second information containing the access interest and submits the second information to the block chain; s102, the cloud node matches the first information submitted by the sender and the second information submitted by the receiver, if the first information and the second information are matched, a pre-decryption ciphertext is generated and submitted to the block chain, and the step S103 is skipped to, otherwise, the process is ended and quits; and S103, the receiver decrypts according to the pre-decrypted ciphertext to obtain the original data. The invention aims to construct a decentration scheme to realize data fine-grained bidirectional access control sharing in the cloud computing environment and ensure the security of transmitting and receiving each encrypted data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to blockchain-based business collaboration and data sharing technology, and in particular to a method and system for sharing data in a fine-grained bidirectional access control environment in a cloud computing environment. Background Art

[0002] Blockchain-based business collaboration and data sharing are very popular. The "blockchain +" model is being applied to more and more fields and playing a great role. Because of the desirable inherent characteristics of blockchain itself, such as immutability, decentralization, high execution efficiency, security, anonymity, etc., the "blockchain +" fusion technology that combines its advantages has become very popular. However, the inherent transparency of blockchain means that all participants can access the circulated data, which will face the following problems: (1) The granularity of data control access is too coarse. As long as the participants can enter the blockchain (whether it is a public chain or a private chain), they can access all the data on the chain, and the data privacy protection is not strong enough; (2) Once the participants enter, their identities will be disclosed to other participants, which is a privacy leak in itself; (3) The data receivers on the chain will not be able to filter the data they are interested in or need, but will be forced to receive all the data, which brings heavy and unnecessary overhead to the receivers. Therefore, a flexible, fine-grained, and two-way access control strategy that meets the needs of both senders and receivers should be formulated for data flow on the blockchain. This two-way access control strategy requires that the sender can specify a specific receiver to read its ciphertext, so that the receiver can filter out the ciphertext that he does not care about or does not need, and the ciphertext can be received by the receiver only when and only when both can be achieved at the same time. In addition, considering that there are many entities in the real scene at the same time, there is a need to issue attributes belonging to each entity to the same user. It is recommended to use Multi-authority Attribute-based Encryption (MABE) to set multiple entities as authoritative agencies, which can effectively avoid single point failure. In MABE, multiple independent and mutually untrusted authoritative agencies replace the traditional single central authority and issue attributes belonging to each authoritative agency to different users. In order to respond to the needs of data receivers to selectively receive data, it is recommended to use the Searchable Encryption (SE) method. Searchable encryption is a scheme for searching information, which can match the information that can pass the receiver's trapdoor among the numerous encrypted information in the cloud, that is, the information that the receiver is interested in or needs.

[0003] Data senders are often data owners who own and encrypt the original data and can provide data services to users with specific roles. Since devices are resource-constrained, in order to prevent unnecessary overhead increases, data sharing requires fine-grained control of sending and receiving information. At this time, the searchable encrypted user screening information matching process is not enough. It is necessary to integrate the idea of ​​selecting specific users to receive specific information at the sender, that is, fine-grained control of access, to achieve two-way matching of data needs. However, it is worth noting that simply piecing together MABE and SE will not achieve the desired effect. MAbE alone lacks a matching process, which is urgently needed for blockchain-based technology applications, and the simple addition of MABE and SE cannot prevent receivers from obtaining data they are not interested in while protecting the sender's data and the receiver's trap. Summary of the invention

[0004] Technical problem to be solved by the present invention: In view of the above-mentioned problems in the prior art, a method and system for fine-grained bidirectional access control sharing of data in a cloud computing environment are provided. The present invention aims to construct a decentralized solution to realize fine-grained bidirectional access control sharing of data in a cloud computing environment, and ensure the security of each encrypted data transmission and reception.

[0005] In order to solve the above technical problems, the technical solution adopted by the present invention is: A method for sharing data with fine-grained bidirectional access control in a cloud computing environment, comprising: S101, the sender submits the first information of the ciphertext of the original data encrypted based on the access policy to the blockchain; the receiver submits the second information containing the access interest to the blockchain; S102, the cloud node matches the first information submitted by the sender and the second information submitted by the receiver. If the two match, a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process goes to step S103. Otherwise, the process ends and exits. S103, the receiver decrypts the pre-decrypted ciphertext to obtain the original data.

[0006] Optionally, the first information in step S101 includes an encrypted index , Encrypted ciphertext and access policies , the encrypted index The elements in include as well as , the encrypted ciphertext The elements in include as well as , is an access matrix of size r × h, To access the i-th row in the matrix To the receiver's attribute set The mapping of , and there is: , , , , , , , , , , in, It is a random string used by the sender for encryption. is the XOR operation, and Keyword ciphertext Using hash functions and The result obtained is, is the generator of the multiplicative group G, and They are groups of elements of corresponding length and order p. Two random elements randomly drawn from and is the group of elements of corresponding length and order p from Two random elements randomly drawn from for and The sum of the two, For keywords Using hash functions The result obtained is, is the original data, is a bilinear map, The secret obtained after encrypting the original data. For string Using hash functions The result obtained is, To access the i-th row in the matrix The receiving end receives a group of elements of specified length and order p A random vector randomly drawn from The result of multiplication, for The collection elements, To access the i-th row in the matrix To the receiver's attribute set The value of the mapping, for The i-th element in the random string r randomly drawn from, is the first elements, is a random vector, express · , A random number vector with n items and the first item is 0 to prevent collusion between users. The hash function Hash function is used to map the recipient's globally unique identifier GID to an element in the multiplicative group G. Used to map the receiver's attributes to elements in the multiplicative group G, the hash function Used to map back the elements in the multiplication group G after the operation. , for A random element randomly drawn from for A random element drawn at random from .

[0007] Optionally, the format of the first information in step S101 is ,in" ” indicates splicing.

[0008] Optionally, the second information containing the access interest in step S101 includes the converted private key and trapdoor , the converted private key The elements in include and , trapdoor The elements in include and , and there are: , , , , , , , , , , , in, , , The receiving end receives a group of elements of corresponding length and order p Three random numbers randomly drawn from is a group of elements of specified length and order p A random number drawn randomly from is the generator of the multiplicative group G, is a group of elements of specified length and order p A random number randomly drawn from is a group of elements of specified length and order p A random number randomly drawn from is the receiver attribute i, private key , a set of globally unique identifiers GIDs bound to them, is a group of elements of specified length and order p A random number randomly drawn from For interest Using hash functions The result obtained is, is a group of elements of specified length and order p A random number drawn randomly from .

[0009] Optionally, step S102 includes: S201, extracting the encrypted index Keywords in and trapdoor Interest in , determine the encrypted index Keywords in and trapdoor Interest in If the equality is not established, the two are judged to be mismatched, and the process ends and exits; otherwise, the receiver's keyword ciphertext is restored according to the following formula : , In the above formula, Trapdoor The elements in For the encrypted index The elements in is a bilinear map; S202, determining the recipient's keyword ciphertext Using hash functions The results obtained Equal to the encrypted index Elements in If not, the two are considered to be mismatched, and the process ends and exits; otherwise, the random string R used by the sender for encryption and the term representing the randomness of index I are restored according to the following formula: : , , In the above formula, For the encrypted index The elements in is the XOR operation, The keyword ciphertext for the receiver Using hash functions The results obtained; Trapdoor Elements in S203, determine the converted private key Attribute matching access policy in Is it true, where the converted private key The attribute in is the information issued to the user by the authority. If not, it is determined that the two do not match, and the process ends and exits. Otherwise, it is determined that the first information submitted by the sender and the second information submitted by the receiver match, and a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process jumps to step S103. Otherwise, the process ends and exits.

[0010] Optionally, the function expression for generating the pre-decrypted ciphertext in step S102 is: , in, Pre-decrypted ciphertext The elements in , and have: , , , in, is the original data, represents a bilinear map, is the generator of the multiplicative group G, For secret, For the receiving end, the element group of the specified length and order is p A random vector randomly drawn from is a group of elements of specified length and order p A random number drawn randomly from .

[0011] Optionally, step S103 includes: S301, based on the pre-decrypted ciphertext, calculate the original data according to the following formula ; , , in, Pre-decrypted ciphertext The elements in is the decryption key; S302, first combine the original data The secret is synthesized according to the following formula ; , in, is a hash function Based on parameters The result obtained is, is a randomly obtained string with ; Then judge , Whether the two conditions are met at the same time, if they are met at the same time, determine the original data Decryption is successful, otherwise the original data is determined Decryption error; is the first item of the decrypted ciphertext, and there are: , in, is the first item of the ciphertext, For string Using hash functions The result obtained.

[0012] In addition, the present invention also provides a data fine-grained bidirectional access control sharing system in a cloud computing environment, including an interconnected microprocessor and a memory, wherein the microprocessor is programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment.

[0013] In addition, the present invention also provides a computer-readable storage medium, which stores a computer program or instruction, and the computer program or instruction is programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment through a processor.

[0014] In addition, the present invention also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment through a processor.

[0015] Compared with the prior art, the present invention mainly has the following advantages: the method for sharing fine-grained bidirectional access control of data in a cloud computing environment of the present invention includes that the sender submits the first information of the ciphertext after encrypting the original data based on the access policy and submits it to the blockchain; the receiver submits the second information containing the access interest and submits it to the blockchain; the cloud node matches the first information submitted by the sender and the second information submitted by the receiver, and if the two match, a pre-decrypted ciphertext is generated and submitted to the blockchain, and the receiver obtains the original data by decrypting the pre-decrypted ciphertext. In the above manner, the present invention constructs a decentralized solution based on tamper-proof and traceable blockchain technology to realize fine-grained bidirectional access control sharing of data in a cloud computing environment, and can simultaneously realize fine-grained access control sharing of selective data sharing and selective acquisition, so that the ciphertext can be received by the receiver only when and only when the sender's policy matches the receiver's attributes, and the sender's ciphertext keywords matches the receiver's interests at the same time, thereby ensuring the security of each encrypted data transmission and reception. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 Schematic diagram of the basic flow of the method of the embodiment of the present invention.

[0017] Figure 2 Schematic diagram of the complete workflow of each node in the embodiment of the present invention.

[0018] Figure 3 The figure is a schematic diagram of the interaction principle of each node in the embodiment of the present invention. DETAILED DESCRIPTION

[0019] The technical problem to be solved by the present invention is: the data sender only wants to provide data services to specific users, so they will encrypt the collected raw data before transmitting it, and hope that users with non-specific attributes cannot receive their ciphertext. The data receiver only wants to receive the data that he is interested in or needs. In order to solve the above technical problems, the present invention comprehensively uses multi-authority attribute-based encryption (MABE) and searchable encryption (SE) technology, and adopts an access control strategy based on ciphertext policy attribute-based encryption (CCP-ABE) to realize fine-grained bidirectional access control sharing of data in a cloud computing environment. Figure 1 As shown, the method for sharing data in a fine-grained bidirectional access control in a cloud computing environment in this embodiment includes: S101, the sender submits the first information of the ciphertext of the original data encrypted based on the access policy to the blockchain; the receiver submits the second information containing the access interest to the blockchain; S102, the cloud node matches the first information submitted by the sender and the second information submitted by the receiver. If the two match, a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process goes to step S103. Otherwise, the process ends and exits. S103, the receiver decrypts the pre-decrypted ciphertext to obtain the original data.

[0020] In this embodiment, the first information in step S101 includes the encrypted index , Encrypted ciphertext and access policies , the encrypted index The elements in include as well as , the encrypted ciphertext The elements in include as well as , is an access matrix of size r × h, To access the i-th row in the matrix To the receiver's attribute set The mapping of , and there is: , , , , , , , , , , in, It is a random string used by the sender for encryption. is the XOR operation, and Keyword ciphertext Using hash functions and The result obtained is, is the generator of the multiplicative group G, and They are groups of elements of corresponding length and order p. Two random elements randomly drawn from and is the group of elements of corresponding length and order p from Two random elements randomly drawn from for and The sum of the two, For keywords Using hash functions The result obtained is, is the original data, is a bilinear map, The secret obtained after encrypting the original data. For string Using hash functions The result obtained is, To access the i-th row in the matrix The receiving end receives a group of elements of specified length and order p A random vector randomly drawn from The result of multiplication, for The collection elements, To access the i-th row in the matrix To the receiver's attribute set The value of the mapping, for The i-th element in the random string r randomly drawn from, is the first elements, is a random vector, express · , A random number vector with n items and the first item is 0 to prevent collusion between users. The hash function Hash function is used to map the recipient's globally unique identifier GID to an element in the multiplicative group G. Used to map the receiver's attributes to elements in the multiplicative group G, the hash function Used to map back the elements in the multiplication group G after the operation. , for Two random elements randomly drawn from for Two random elements randomly drawn from .

[0021] The format of the first information in step S101 of this embodiment is: ,in" ” indicates splicing.

[0022] In this embodiment, the second information containing the access interest in step S101 includes the converted private key and trapdoor , the converted private key The elements in include and , trapdoor The elements in include and , and there are: , , , , , , , , , , , in, , , The receiving end receives a group of elements of corresponding length and order p Three random numbers randomly drawn from is a group of elements of specified length and order p A random number randomly drawn from is the generator of the multiplicative group G, is a group of elements of specified length and order p A random number randomly drawn from is a group of elements of specified length and order p A random number randomly drawn from is the receiver attribute i, private key , a set of globally unique identifiers GIDs bound to them, is a group of elements of specified length and order p A random number randomly drawn from For interest Using hash functions The result obtained is, is a group of elements of specified length and order p A random number drawn randomly from .

[0023] like Figure 2 As shown, in this embodiment, each service node (i.e., each authority) uses the security parameter λ to generate its public key set and the corresponding key The detailed process is as follows: 1) The service node is the multiplication group G, the generator g of the multiplication group G, the prime order p, and the multiplication cyclic group G with the same prime order and the same generator obtained by bilinear mapping of G itself. T Reach consensus; 2) Define the following hash function. , which means mapping any attribute to an element in G. , which means mapping the receiver GID to an element in G. Similarly, the following three hash functions are defined: , , .

[0024] For each attribute i, there is a public key that is different from other attributes. Therefore, the public keys of all attributes of a service node form its public key set : The service node key associated with the attribute .in, is from The service node will use the user's global unique identifier GID, the recipient's attribute i, and the service node's key As input, and get . The detailed process is as follows: The sender first encrypts the data from Randomly extract a string and two random elements ,make , generate keyword ciphertext ,in, is from The index is randomly selected from the . Then the index is encrypted to obtain the encrypted index : , Generate random index stamps at the same time .in: , , , , .

[0025] The sender then encrypts the data. Access policies are used Explained, among which, represents an access matrix of size r × h (referred to as M matrix), represents the i-th row of the access matrix, and ρ reflects To the receiver attribute set Mapping. Get a random string , you can get the encrypted secret In this embodiment, a random vector is used To pass secret s. Among them, ~ Respectively from The random number randomly drawn from is calculated according to the linear secret sharing matrix. , where i ranges from 1 to r. Introduce another random vector , whose first term is 0. Let express , and for each row of the access matrix ,from Randomly select . Then stamp with a random index Input, output encrypted ciphertext ,in: , , , , , The sender finally generates the encrypted ciphertext and index , and sent out in the form of .

[0026] The receiving end Randomly extract three random numbers u, d, e, and v, and generate your own private key based on the public key; use the private key to convert the form to obtain the converted private key : ,in: , , , , , in, .make , is from The decryption key is randomly selected from , you can use the decryption key to generate a trapdoor : , , , , , , In the above formula, is the receiver attribute set, is a group of elements of specified length and order p A random number drawn randomly from is the original data, is a group of elements of specified length and order p A random number randomly drawn from is a group of elements of specified length and order p A random number drawn randomly from is a group of elements of specified length and order p A random number drawn randomly from For interest Using hash functions The result obtained.

[0027] Trapdoor The receiver then sends the trapdoor And the converted private key , and save the private key locally .

[0028] In this embodiment, step S102 includes: S201, extracting the encrypted index Keywords in and trapdoor Interest in , determine the encrypted index Keywords in and trapdoor Interest in If the equality is not established, the two are judged to be mismatched, and the process ends and exits; otherwise, the receiver's keyword ciphertext is restored according to the following formula : , In the above formula, Trapdoor The elements in For the encrypted index The elements in is a bilinear map; S202, determining the recipient's keyword ciphertext Using hash functions The results Equal to the encrypted index Elements in If not, the two are considered to be mismatched, and the process ends and exits; otherwise, the random string R used by the sender for encryption and the term representing the randomness of index I are restored according to the following formula: : , , In the above formula, For the encrypted index The elements in is the XOR operation, The keyword ciphertext for the receiver Using hash functions The results obtained; Trapdoor Elements in S203, determine the converted private key Attribute matching access policy in Is it true, where the converted private key The attribute in is the information issued by the authority to the user. If not, it is determined that the two do not match, and the process ends and exits. Otherwise, it is determined that the first information submitted by the sender and the second information submitted by the receiver match, and a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process jumps to step S103. Otherwise, the process ends and exits. Attribute matching access policy in , then first get the hash value H of the globally unique identifier GID , and there must be a So that: , In the above formula, is the receiver attribute set, is a random constant set, where , For the receiving end, the element group of the specified length and order is p A random vector randomly drawn from represents the i-th row of the M matrix. Then calculate: , In the above formula, To encrypt ciphertext The first element in is raised to the zth power, and To encrypt ciphertext The elements in The converted private key The elements in , , =0, so we can calculate: .

[0029] The function expression for generating the pre-decrypted ciphertext in step S102 of this embodiment is: , in, Pre-decrypted ciphertext The elements in , and have: , , , in, is the original data, represents a bilinear map, is the generator of the multiplicative group G, For secret, For the receiving end, the element group of the specified length and order is p A random vector randomly drawn from is a group of elements of specified length and order p A random number drawn at random from .

[0030] In this embodiment, step S103 includes: S301, based on the pre-decrypted ciphertext, calculate the original data according to the following formula ; , , in, Pre-decrypted ciphertext The elements in is the decryption key; S302, first combine the original data The secret is synthesized according to the following formula ; , in, is a hash function Based on parameters The result obtained is, is a randomly obtained string with ; Then judge , Whether the two conditions are met at the same time, if they are met at the same time, determine the original data Decryption is successful, otherwise the original data is determined Decryption error; is the first item of the decrypted ciphertext, and there are: , in, is the first item of the ciphertext, For string Using hash functions The result obtained.

[0031] like Figure 3 As shown, the nodes mainly involved in the data fine-grained bidirectional access control sharing method in the cloud computing environment of this embodiment include: service nodes, receivers, senders, blockchains and cloud nodes, and the interaction process is as follows: Each service node (i.e., each authority) uses the security parameter λ to generate its public key set and the corresponding key The purpose is to obtain a set of public keys and corresponding secret keys for each service node (note that the secret keys will be stored in each service node). The attribute i belonging to the service node and the secret key of the service node The user's globally unique identifier Bind together to get . Data owners combine data , keywords that characterize data , first generate the corresponding Data index , and The associated randomly generated index stamp , Used to encrypt data in the keyword file list. Then use the public key set assigned to you , and attribute-based access policies , generating ciphertext . ) The data receiver receives the receiver attribute set from the service node , use {K i,GID}、 , and keywords describing the recipient's interests , generate the receiver's own key and based on Conversion key tk r , and generate corresponding trapdoors . And generate a decryption key that is saved locally Blockchain and cloud nodes Keywords in and In , The relevant attributes and Related access policies If one of the two matches fails, the matching process will be immediately terminated and the ciphertext will not be received by the receiver. Only ciphertext that passes both matches will be pre-decrypted and then sent to the receiver. The data receiver receives the pre-decrypted ciphertext. , and use your own decryption key Decrypt the ciphertext. The execution program performs operations on the data including: 1) KMatch subroutine: Get the of and I. If and If not, the algorithm ends with the symbol ⊥. Otherwise, it will recover the random string used in encryption. and contains description The randomness . 2) AMatch subroutine: As input, if tk r The relevant attributes and Related access policies The pairing cannot be achieved, and the entire algorithm ends with the symbol ⊥. Only when both subroutines succeed at the same time can the cloud pre-decrypt the ciphertext and then send it to the receiver.

[0032] In summary, the data fine-grained bidirectional access control sharing method in the cloud computing environment of this embodiment proposes an access control method based on ciphertext policy attribute-based encryption (CP-ABE), and comprehensively uses the multi-authority attribute-based encryption (MABE) and searchable encryption (SE) technology to formulate a fine-grained bidirectional access control policy, and constructs a decentralized scheme, so that the ciphertext can be received by the receiver only when the sender's policy and the receiver's attributes, the sender's ciphertext keywords and the receiver's interests are successfully matched at the same time, so that the data sender (Data Sender) only wants to provide data services for specific users, so they will encrypt the collected original data before transmitting, and hope that users with non-specific attributes cannot receive their ciphertext. The data receiver (Data Receiver) only wants to receive the data that he is interested in or needs, which can ensure the security of each encrypted data transmission and reception.

[0033] In addition, this embodiment also provides a data fine-grained bidirectional access control sharing system in a cloud computing environment, including an interconnected microprocessor and a memory, wherein the microprocessor is programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment.

[0034] In addition, this embodiment also provides a computer-readable storage medium, which stores a computer program or instruction, and the computer program or instruction is programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment through a processor.

[0035] In addition, this embodiment also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the data fine-grained bidirectional access control sharing method in the cloud computing environment through a processor.

[0036] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the process Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0037] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.

Claims

1. A method for sharing data with fine-grained bidirectional access control in a cloud computing environment, characterized in that: include: S101, the sender encrypts the original data based on the access policy and submits the first information of the ciphertext to the blockchain; The recipient submits the second information containing the access interest and submits it to the blockchain; S102, the cloud node matches the first information submitted by the sender and the second information submitted by the receiver. If the two match, a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process goes to step S103. Otherwise, the process ends and exits. S103, the receiver decrypts the pre-decrypted ciphertext to obtain the original data.

2. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 1, characterized in that: The first information in step S101 includes the encrypted index , Encrypted ciphertext and access policies , the encrypted index The elements in include as well as , the encrypted ciphertext The elements in include as well as , is an access matrix of size r × h, To access the i-th row in the matrix To the receiver's attribute set The mapping of , and there is: , , , , , , , , , , in, It is a random string used by the sender for encryption. is the XOR operation, and Keyword ciphertext Using hash functions and The result obtained is, is the generator of the multiplicative group G, and They are groups of elements of corresponding length and order p. Two random elements randomly drawn from and is the group of elements of corresponding length and order p from Two random elements randomly drawn from for and The sum of the two, For keywords Using hash functions The result obtained is, is the original data, is a bilinear map, The secret obtained after encrypting the original data. A random string used by the sender for encryption Using hash functions The result obtained is, To access the i-th row in the matrix The receiving end receives a group of elements of specified length and order p A random vector randomly drawn from The result of multiplication, for The collection elements, To access the i-th row in the matrix To the receiver's attribute set The value of the mapping, for The i-th element in the random string r randomly drawn from, for The collection elements, is a random vector, express · , A random number vector with n items and the first item is 0 to prevent collusion between users. The hash function Hash function is used to map the recipient's globally unique identifier GID to an element in the multiplicative group G. Used to map the receiver's attributes to elements in the multiplicative group G, the hash function Used to map back the elements in the multiplication group G after the operation, keyword ciphertext , for Two random elements randomly drawn from for Two random elements randomly drawn from Collection and Sets are groups of elements A collection of random elements in .

3. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 2, characterized in that: The format of the first information in step S101 is ,in" " indicates splicing, where is the encrypted index, To encrypt the ciphertext, For access policy, is an access matrix of size r × h, To access the i-th row in the matrix To the receiver's attribute set 's mapping.

4. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 2, characterized in that: The second information containing the access interest in step S101 includes the converted private key and trapdoor , the converted private key The elements in include and , trapdoor The elements in include and , and there are: , , , , , , , , , , , in, , , The receiving end receives a group of elements of corresponding length and order p Three random numbers randomly drawn from is a group of elements of specified length and order p A random number drawn randomly from is the generator of the multiplicative group G, is a group of elements of specified length and order p A random number drawn randomly from is a group of elements of specified length and order p A random number drawn randomly from is the receiver attribute i, private key , a set of globally unique identifiers GIDs bound to them, is a group of elements of specified length and order p A random number drawn randomly from For interest Using hash functions The result obtained is, is a group of elements of specified length and order p A random number drawn randomly from .

5. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 4 is characterized in that: Step S102 includes: S201, extracting the encrypted index Keywords in and trapdoor Interest in , determine the encrypted index Keywords in and trapdoor Interest in If the equality is not established, the two are judged to be mismatched, and the process ends and exits; otherwise, the receiver's keyword ciphertext is restored according to the following formula : , In the above formula, Trapdoor The elements in The encrypted index The elements in is a bilinear map; S202, determining the recipient's keyword ciphertext Using hash functions The results Equal to the encrypted index Elements in If not, the two are considered to be mismatched, and the process ends and exits; otherwise, the random string R used by the sender for encryption and the term representing the randomness of index I are restored according to the following formula: : , , In the above formula, The encrypted index The elements in is the XOR operation, The keyword ciphertext for the receiver Using hash functions The results obtained; Trapdoor Elements in S203, determine the converted private key Attribute matching access policy in Is it true, where the converted private key The attribute in is the information issued to the user by the authority. If not, it is determined that the two do not match, and the process ends and exits. Otherwise, it is determined that the first information submitted by the sender and the second information submitted by the receiver match, and a pre-decrypted ciphertext is generated and submitted to the blockchain, and the process jumps to step S103. Otherwise, the process ends and exits.

6. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 5, characterized in that: The function expression for generating the pre-decrypted ciphertext in step S102 is: , in, Pre-decrypted ciphertext The elements in , and have: , , , in, is the original data, represents a bilinear map, is the generator of the multiplicative group G, For secret, For the receiving end, the element group of the specified length and order is p A random vector randomly drawn from is a group of elements of specified length and order p A random number drawn randomly from .

7. The method for sharing data with fine-grained bidirectional access control in a cloud computing environment according to claim 6, characterized in that: Step S103 includes: S301, based on the pre-decrypted ciphertext, calculate the original data according to the following formula ; , , in, Pre-decrypted ciphertext The elements in is the decryption key; S302, first combine the original data The secret is synthesized according to the following formula ; , in, is a hash function Based on parameters The result obtained is, is a randomly obtained string with ; Then judge , Whether the two conditions are met at the same time, if they are met at the same time, determine the original data Decryption is successful, otherwise the original data is determined Decryption error; is the first item of the decrypted ciphertext, and there are: , in, is the first item of the ciphertext, A random string used by the sender for encryption Using hash functions The result obtained.

8. A data fine-grained bidirectional access control sharing system in a cloud computing environment, comprising interconnected microprocessors and memories, characterized in that: The microprocessor is programmed or configured to execute the method for fine-grained bidirectional access control and sharing of data in a cloud computing environment as described in any one of claims 1 to 7.

9. A computer-readable storage medium having a computer program or instruction stored therein, characterized in that: The computer program or instruction is programmed or configured to execute, through a processor, the method for sharing data in a cloud computing environment with fine-grained bidirectional access control as described in any one of claims 1 to 7.

10. A computer program product comprising a computer program or instructions, characterized in that The computer program or instruction is programmed or configured to execute, through a processor, the method for sharing data in a cloud computing environment with fine-grained bidirectional access control as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Attribute-based searchable encrypted data sharing method based on block chain

    CN115834200A