Outsourcing decryption data access control management method and device based on block chain

By outsourcing the decryption operation to the outsourcing computing center, the problem of high consumption of decryption resources on the blockchain is solved, and the fine-grained access control of data and system scalability is realized, which is suitable for user terminals with limited computing resources.

CN120474822APending Publication Date: 2025-08-12北京中关村实验室
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510843340.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

The existing blockchain-based attribute encryption method consumes a large amount of computing resources in decryption operations and cannot record ciphertexts on the chain, resulting in limited resource-intensive blockchain user terminals.

Method used

The decryption operation is outsourced to the outsourcing computing center, and the management side provides the attribute key, the user side obtains the attribute ciphertext and sends it to the outsourcing computing center for partial decryption. The user side finally completes the decryption operation without leaking the data plaintext information.

Benefits of technology

It reduces the computing resource consumption of user terminals, realizes fine-grained access control of data, and records constant-level ciphertexts on the blockchain, improving the scalability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120474822A_ABST
    Figure CN120474822A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an outsourcing decryption data access control management method and device based on a block chain. In the embodiment of the invention, a user side applies for an attribute secret key from a management side; when the user attribute meets a preset access strategy, obtaining a corresponding attribute ciphertext and a target address from the block chain, and obtaining encrypted data according to the target address; sending a conversion secret key in the attribute secret key and the attribute ciphertext to an outsourcing computing center so as to partially decrypt the attribute ciphertext according to the conversion secret key to obtain a conversion ciphertext, and returning the conversion ciphertext to the user side; and the user side decrypts the converted ciphertext based on the attribute secret key to obtain the secret key of the symmetric encryption algorithm, and decrypts the encrypted data according to the secret key of the symmetric encryption algorithm. Therefore, the problem of large consumption of attribute encryption computing resources can be reduced through the outsourcing computing center, and since the user completes the final decryption operation, the computing center does not need to be trusted, and the information of data plaintext cannot be leaked by a part of decryption results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computers, and in particular to a method and device for managing access control of outsourced decryption data based on blockchain. Background Art

[0002] Distributed data storage based on the InterPlanetary File System (IPFS) can promote the flow and sharing of data. User data can be uploaded to the IPFS network after encryption for sharing. Attribute encryption can achieve fine-grained access control of data. However, blockchain-based attribute encryption usually has large ciphertext, which is not friendly to the resource-constrained on-chain space. Ciphertext cannot be recorded on the chain, and decryption operations require a large amount of computing resources, which imposes many restrictions on resource-constrained blockchain user terminals. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to overcome the shortcomings of existing technologies and provide a blockchain-based outsourced decryption data access control management method and device, so that complex decryption operations can be outsourced to a third party without leaking confidential information of the data.

[0004] To achieve the above technical objectives, on the one hand, the present invention provides a blockchain-based outsourced decryption data access control management method, comprising: a management end provides a secret key for attribute encryption; a data owner end encrypts the data to be encrypted using a preset symmetric encryption algorithm, and sends the encrypted data to the InterPlanetary File System (IPFS) network; the data owner end encrypts the secret key of the symmetric encryption algorithm using a preset access policy and the secret key for attribute encryption to obtain an attribute ciphertext, and sends the attribute ciphertext and the encrypted data to a target address of the InterPlanetary File System (IPFS) network and a preset access policy to a target blockchain; The user end applies to the management end for the attribute key belonging to the user attribute; when the user attribute meets the preset access policy, the user end obtains the corresponding attribute ciphertext and the target address from the blockchain, and obtains the encrypted data from the InterPlanetary File System IPFS network according to the target address; the user end sends the conversion key in the attribute key and the attribute ciphertext to the outsourced computing center; the outsourced computing center partially decrypts the attribute ciphertext according to the conversion key, obtains the conversion ciphertext, and returns it to the user end; the user end decrypts the conversion ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypts the encrypted data according to the key of the symmetric encryption algorithm.

[0005] Specifically, the management terminal provides a secret key for attribute encryption, including: the management terminal selects a Type-3 pairing curve , and select a bilinear map e on it , and used as encryption parameters, where G1, G2 and G T The encryption parameters are disclosed to the user according to the algebraic structure; the management terminal generates a public key and a private key according to the encryption parameters, sends the public key to the blockchain, and manages and stores the private key.

[0006] Specifically, the data owner uses a preset access policy and the secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain attribute ciphertext, including: the data owner encrypts the secret key of the symmetric encryption algorithm based on the public key in the secret key for attribute encryption and the preset access policy to obtain attribute ciphertext.

[0007] Specifically, the user end applies to the management end for an attribute key belonging to a user attribute, including: the user end sends an application request to the management end; the management end generates the attribute key based on the user attribute and encryption parameters in the application request, and the attribute key includes a conversion key.

[0008] In addition, the method also includes: the user end performs data retrieval on the blockchain, and determines whether the access policy of the retrieved data is satisfied based on the user attributes. When satisfied, the steps of obtaining the corresponding attribute ciphertext and the target address from the blockchain, and obtaining encrypted data from the InterPlanetary File System IPFS network based on the target address are executed.

[0009] Specifically, the management terminal generates a public key and a private key according to the encryption parameters, including: the management terminal sets The order is , whose attribute set is , for each attribute , let its possible value be ; The management terminal selects the generator , randomly selected ,in, For all models The set of remaining classes of ; for , randomly selected ,calculate , , where Y is the public key component parameter, Parameters for forming the public key; The management terminal outputs the public key , private key .

[0010] Specifically, the data owner encrypts the key of the symmetric encryption algorithm based on the public key in the attribute encryption key and the preset access policy to obtain the attribute ciphertext, including: the data owner sets the access policy , randomly selected , calculate the attribute ciphertext C1, C2, C3, where, , where K1 is the secret key of the symmetric encryption algorithm, Refers to the elements in the access policy V.

[0011] Specifically, the management terminal generates the attribute key according to the user attributes and encryption parameters in the application request, including: the management terminal randomly selects , , and according to the user The attribute set is , calculate the conversion key , and generate attribute keys ,in, For all models The set of remaining classes of .

[0012] Specifically, the outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, including: the outsourced computing center decrypts the attribute ciphertext according to the conversion key and conversion key , calculate the partial decryption ciphertext , , where T1 is , T2 is , randomly selected , ,user The attribute set is .

[0013] On the other hand, the present invention provides a blockchain-based outsourced decryption data access control management device, comprising: a management end, configured to provide a secret key for attribute encryption; a data owner end, configured to encrypt data to be encrypted using a preset symmetric encryption algorithm, and send the encrypted data to an InterPlanetary File System (IPFS) network; using a preset access policy and the secret key for attribute encryption, encrypting the secret key of the symmetric encryption algorithm to obtain an attribute ciphertext, and sending the attribute ciphertext and the encrypted data to a target address of the InterPlanetary File System (IPFS) network and a preset access policy to a target blockchain; The user end is used to apply for the attribute key belonging to the user attribute from the management end; when the user attribute meets the preset access policy, the corresponding attribute ciphertext and the target address are obtained from the blockchain, and the encrypted data is obtained from the InterPlanetary File System IPFS network according to the target address; the conversion key in the attribute key and the attribute ciphertext are sent to the outsourced computing center; the outsourced computing center is used to partially decrypt the attribute ciphertext according to the conversion key, obtain the conversion ciphertext, and return it to the user end; the user end is used to decrypt the conversion ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypt the encrypted data according to the key of the symmetric encryption algorithm.

[0014] In an embodiment of the present application, the user end applies to the management end for an attribute key belonging to the user attribute; when the user attribute meets the preset access policy, the corresponding attribute ciphertext and the target address are obtained from the blockchain, and encrypted data is obtained from the InterPlanetary File System IPFS network according to the target address; the conversion key in the attribute key and the attribute ciphertext are sent to the outsourced computing center; the outsourced computing center partially decrypts the attribute ciphertext according to the conversion key, obtains the conversion ciphertext, and returns it to the user end; the user end decrypts the conversion ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypts the encrypted data according to the key of the symmetric encryption algorithm.

[0015] Therefore, the problem of high consumption of computing resources for attribute encryption can be reduced by outsourcing the computing center. Since it is not friendly to user devices with limited computing resources (such as mobile terminal devices), part of the decryption operation can be outsourced to the computing center. After the computing center performs the part of the decryption operation that consumes more computing resources, it sends the part of the decryption result to the user, who completes the final decryption operation without trusting the computing center. The result of the partial decryption will not leak the plaintext information of the data. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0017] Figure 1 This is a flowchart of a blockchain-based outsourced decryption data access control management method according to an embodiment of the present application; Figure 2 This is a schematic diagram of the blockchain-based outsourced decryption data access control management process in an embodiment of the present application. DETAILED DESCRIPTION

[0018] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0019] like Figure 1 As shown, the present application provides a blockchain-based outsourced decryption data access control management method, the method 100 comprising: S101: The management terminal provides a key for attribute encryption.

[0020] S102: The data owner encrypts the data using a preset symmetric encryption algorithm and sends the encrypted data to the InterPlanetary File System (IPFS) network.

[0021] S103: The data owner uses the preset access policy and the secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain the attribute ciphertext, and sends the attribute ciphertext and encrypted data to the target address of the InterPlanetary File System IPFS network and the preset access policy to the target blockchain. S104: The user terminal applies to the management terminal for the attribute key belonging to the user attribute.

[0022] S105: When the user attributes meet the preset access policy, the user terminal obtains the corresponding attribute ciphertext and target address from the blockchain, and obtains the encrypted data from the InterPlanetary File System (IPFS) network according to the target address; and sends the conversion key and attribute ciphertext in the attribute key to the outsourced computing center.

[0023] S106: The outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, and returns it to the user terminal.

[0024] S107: The user terminal decrypts the converted ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypts the encrypted data according to the key of the symmetric encryption algorithm.

[0025] It should be noted that the above-mentioned management end, data ownership end and user end can be terminal devices with computing capabilities such as mobile terminals or other terminal devices.

[0026] The following is a detailed explanation of the above steps: S101: The management terminal provides a key for attribute encryption.

[0027] The management end can be a terminal device, such as a computer, etc. The secret key includes a public key and a private key.

[0028] For example, the management side generates a system public key and private key in response to a system administrator's generation operation. The public key is made public to all users in the system. The system administrator is generally a trusted organization.

[0029] Specifically, the management end provides the secret key for attribute encryption, including: the management end selects the Type-3 pairing curve , and select a bilinear map e on it , and used as encryption parameters, where G1, G2 and G T It is an algebraic structure that discloses encryption parameters to users; generates public and private keys based on the encryption parameters, sends the public key to the blockchain, and manages and saves the private key.

[0030] For example, the management terminal selects the Type-3 pairing curve in response to the selection operation of the system administrator. , for the bilinear map defined on it , in the group and There is no efficient isomorphism between them, and choose a bilinear map on it . Let group (a group is one of the most basic structures in abstract algebra (modern algebra), describing a set and the specific rules satisfied by the operations defined on it) The order (the number of elements in the group) is , and generate the public parameter Type-3 bilinear map and public key With private key , make public parameters public to system users, such as Figure 2 As shown, the management terminal 201 sends the public key (ie, the public key ) is recorded on the blockchain.

[0031] Specifically, the management end generates a public key and a private key according to the encryption parameters, including: the management end sets The order is , whose attribute set is , for each attribute , let its possible value be ; The management end selects the generator , randomly selected ,in, For all models The set of remaining classes of ;for , randomly selected ,calculate , , where Y is the public key component parameter, Parameters for the public key; the management end outputs the public key , private key .

[0032] For example, as mentioned above, let group (a group is one of the most basic structures in abstract algebra (modern algebra), describing a set and the specific rules satisfied by the operations defined on it) The order (the number of elements in the group) is , whose attribute set is (An attribute set refers to a set of attribute labels that describe user or data characteristics. Each attribute Represents a specific attribute feature), for each attribute , let its possible value be The management end selects the generator (the element that can generate the entire group through its power operation (multiplication in the additive group and exponential operation in the multiplicative group)) through the operation of the system administrator SA. , randomly selected (All models The set of remaining classes of ),for , randomly selected . and calculate , , for . And open groups to system users With bilinear mapping , and output the public key , private key , make the public key PK public to system users.

[0033] The subsequent encryption method is based on Type-3 pairing, which has high computational efficiency.

[0034] S102: The data owner encrypts the data using a preset symmetric encryption algorithm and sends the encrypted data to the InterPlanetary File System (IPFS) network.

[0035] The data owner can also be a terminal device, such as a computer. Pre-set symmetric encryption algorithms include AES and ChaCha20. Symmetric encryption algorithms are generally faster than asymmetric encryption algorithms and are suitable for encrypting large amounts of data. When asymmetric encryption is required for large amounts of data, a symmetric encryption algorithm is typically used to encrypt the data, and the asymmetric encryption algorithm is used to encrypt the symmetric encryption algorithm's key.

[0036] The data owner responds to the data owner DO and encrypts the data owner DO's own data using a symmetric encryption algorithm, and then uploads the obtained data ciphertext to the IPFS network, while recording the network address uploaded to the IPFS network. Figure 2 As shown, the data owner 202 uploads the data ciphertext to the IPFS network.

[0037] The IPFS network uses content addressing to split files into small blocks and generate unique hash values. These blocks form a Merkle DAG structure, ensuring data integrity and immutability. The P2P architecture of IPFS makes file storage independent of a single server, enhancing censorship resistance and data persistence.

[0038] S103: The data owner uses the preset access policy and the secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain the attribute ciphertext, and sends the attribute ciphertext and encrypted data to the target address of the InterPlanetary File System IPFS network and the preset access policy to the target blockchain. As mentioned above, the data owner then uses the key of the symmetric encryption algorithm ,Use the attribute encryption algorithm to encrypt, and embed the attribute strategy V to obtain the attribute ciphertext.

[0039] Specifically, the data owner uses a preset access policy and a secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain the attribute ciphertext, including: the data owner encrypts the secret key of the symmetric encryption algorithm based on the public key in the secret key for attribute encryption and the preset access policy to obtain the attribute ciphertext.

[0040] As mentioned above, the data owner makes data provided by the data sharer, such as medical records, available to other users. The data owner can specify access policies for the data through the data sharer. The data owner encrypts the shared (encrypted) data based on the access policies and public keys. Only data users who meet the access policies can decrypt the ciphertext.

[0041] Specifically, the data owner encrypts the secret key of the symmetric encryption algorithm based on the public key in the attribute encryption key and the preset access policy to obtain the attribute ciphertext, including: the data owner sets the access policy , randomly selected , calculate the attribute ciphertext C1, C2, C3, where, , where K1 is the secret key of the symmetric encryption algorithm, Refers to the elements in the access policy V.

[0042] As mentioned above, the data owner can respond to the operation of the data owner DO and decide the access policy of the data to be shared. , and randomly select , calculate the attribute ciphertext , then, the data owner uses the smart contract to encrypt the attribute , access policy , the IPFS address of the data ciphertext and the data description are uploaded to the blockchain. Figure 2 As shown, the data owner 202 uses smart contracts to record attribute ciphertext on the chain , access policy , data ciphertext IPFS address and data description.

[0043] It should be noted that, as discussed above, the attribute ciphertext generated by the attribute encryption calculation method ensures that the data access control ciphertext on the blockchain has a constant size, making it suitable for blockchain storage. Because blockchain on-chain resources are extremely valuable, each smart contract operation consumes a certain amount of gas fees. Therefore, when using attribute encryption on the blockchain, the size of the ciphertext must be controlled. In most attribute encryption schemes, the ciphertext size typically varies depending on the attributes and access policy. This embodiment constructs a constant-size ciphertext scheme based on the data content, significantly saving on-chain resources and increasing the scalability of the blockchain.

[0044] S104: The user terminal applies to the management terminal for the attribute key belonging to the user attribute.

[0045] The user end can also be a terminal device, such as a computer. The user of the data (user) has a set of attributes. The user end applies for the attribute key from the management end of the system administrator through user operations, and then can view the data description and access policy on the blockchain. Only when its attributes meet the access policy can the data decryption step be executed to obtain the data it needs. Figure 2 As shown, the management terminal 201 returns the attribute key to the user terminal 203.

[0046] Among them, the access policy is bound to the user attributes. For example, in a school organization, the attribute set includes {college, title, major}. When encrypting data, the access policy of a certain file can be specified as people with a computer school and a senior professional title. For people in the school organization, only those whose attributes meet both the computer school and senior professional title can decrypt the ciphertext file and view the file content.

[0047] Specifically, the user terminal applies for the attribute key belonging to the user attribute from the management terminal, including: the user terminal sends an application request to the management terminal; the management terminal generates the attribute key according to the user attribute and encryption parameters in the application request, and the attribute key includes a conversion key.

[0048] Among them, after receiving the application request, the management end generates its attribute key according to the attributes of the data user in the request, which includes the conversion key and is used for the data user and the outsourced computing center to perform partial decryption operations.

[0049] Specifically, based on the user attributes and encryption parameters in the application request, the attribute key is generated, including: the management end randomly selects , , and according to the user The attribute set is , calculate the conversion key , and generate attribute keys ,in, For all models The set of remaining classes of .

[0050] As mentioned above, for users , and its attribute set is , the management end randomly selects , ,calculate , .in It is the conversion key delivered to the outsourced cloud for decryption operations.

[0051] In addition, the method 100 also includes: the user end performs data retrieval on the blockchain, and determines whether the access policy of the retrieved data is satisfied based on the user attributes. When satisfied, the steps of obtaining the corresponding attribute ciphertext and target address from the blockchain, and obtaining the encrypted data from the InterPlanetary File System IPFS network based on the target address are executed.

[0052] Among them, data users The user can retrieve data on the blockchain based on their target data. After retrieving the corresponding data, check the access policy of the target data. According to the above, if the user attributes meet the access policy, the attribute ciphertext and IPFS address of the target data will be downloaded. Figure 2 As shown, the user terminal 203 can retrieve the attribute ciphertext, access policy, and data ciphertext IPFS address from the blockchain.

[0053] S105: When the user attributes meet the preset access policy, the user terminal obtains the corresponding attribute ciphertext and target address from the blockchain, and obtains the encrypted data from the InterPlanetary File System (IPFS) network according to the target address; and sends the conversion key and attribute ciphertext in the attribute key to the outsourced computing center.

[0054] As mentioned above, the client can download ciphertext data, i.e. encrypted data, from the IPFS network through the target address. Figure 2 As shown, the client 203 downloads the data ciphertext from the IPFS network. At the same time, the client can With users Conversion key Submit it to the outsourced computing center OC. Figure 2 As shown, the user terminal 203 sends the conversion key to the outsourced computing center OC 204, and also sends the attribute ciphertext to the outsourced computing center OC.

[0055] S106: The outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, and returns it to the user end.

[0056] Among them, the outsourced computing center OC can be a server cluster. After receiving the partial decryption request initiated by the user end, the outsourced computing center OC performs the partial decryption operation according to the conversion key and attribute ciphertext sent in the request, inputs the conversion key and attribute ciphertext, performs the partial decryption operation, and sends the obtained conversion ciphertext back to the user end, such as Figure 2 As shown, the outsourced computing center OC 204 sends the partially decrypted ciphertext to the user terminal 203. In this process, the data user does not need to trust the outsourced computing center, and the conversion key and ciphertext will not leak the data plaintext information. It can be performed by a cloud service organization with rich computing resources.

[0057] In the above embodiment, data decryption can be outsourced, which solves the problem of high computing resource consumption in attribute encryption. Attribute encryption is based on bilinear mapping operations on elliptic curves, which requires a certain amount of computing resources. It is not friendly to user devices with limited computing resources (such as mobile terminal devices). In this embodiment, part of the decryption operation can be outsourced to the computing center. After the computing center executes the part of the decryption operation that consumes more computing resources, it sends the part of the decryption result to the user, and the user completes the final decryption operation without trusting the computing center. The result of the partial decryption will not leak the plaintext information of the data.

[0058] Specifically, the outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, including: the outsourced computing center decrypts the attribute ciphertext according to the conversion key and conversion key , calculate the partial decryption ciphertext , , where T1 is , T2 is ,user The attribute set is .

[0059] Among them, the outsourced computing center OC receives the attribute ciphertext and conversion key After that, calculate the partial decryption ciphertext , , and partially decrypt the ciphertext Sent to the user end.

[0060] This allows for fine-grained data access control while maintaining a constant attribute ciphertext that does not increase with user attributes and access policies. Complex decryption operations can also be outsourced to a third party without leaking confidential data information.

[0061] S107: The user terminal decrypts the converted ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypts the encrypted data according to the key of the symmetric encryption algorithm.

[0062] After receiving the converted ciphertext, the client uses the attribute key to perform the final decryption operation and obtains the symmetric key of the data ciphertext. The client downloads the data ciphertext from the IPFS network according to the IPFS address of the data ciphertext and decrypts the data ciphertext locally using the symmetric key to obtain the data plaintext.

[0063] For example, according to the above, the client receives part of the decrypted ciphertext After that, first perform the attribute decryption operation: , get the symmetric encryption key of the data ciphertext , and then download the data ciphertext from the IPFS network according to the data ciphertext IPFS address, and use the symmetric encryption ciphertext Perform decryption on the data ciphertext to obtain the data plaintext.

[0064] Because the data attribute ciphertext constructed in this embodiment is constant, the ciphertext size does not expand with changes in access policies and user attributes. Therefore, it is suitable for on-chain recording, saving scarce on-chain resources. Furthermore, because decryption calculations can be outsourced, the requirements for user terminal devices are lower, making it suitable for scenarios with limited computing resources. The outsourced calculation process does not require additional trust in the outsourced computing center.

[0065] This makes it possible to record access policies and attribute ciphertexts on the chain, so that data can be shared in a controllable manner during the flow process. The constant-level ciphertext scheme makes the on-chain records friendly, ensuring the scalability of the blockchain system.

[0066] The embodiment of the present application also provides a blockchain-based outsourced decryption data access control management device, comprising: a management end, configured to provide a secret key for attribute encryption; a data owner end, configured to encrypt data to be encrypted using a preset symmetric encryption algorithm, and send the encrypted data to an InterPlanetary File System (IPFS) network; encrypt the secret key of the symmetric encryption algorithm using a preset access policy and a secret key for attribute encryption to obtain an attribute ciphertext, and send the attribute ciphertext and the encrypted data to a target address of the InterPlanetary File System (IPFS) network and a preset access policy to a target blockchain; The user end is used to apply for the attribute key belonging to the user attribute from the management end; when the user attribute meets the preset access policy, the corresponding attribute ciphertext and target address are obtained from the blockchain, and the encrypted data is obtained from the InterPlanetary File System IPFS network according to the target address; the conversion key and attribute ciphertext in the attribute key are sent to the outsourced computing center; the outsourced computing center is used to partially decrypt the attribute ciphertext according to the conversion key, obtain the conversion ciphertext, and return it to the user end; the user end is used to decrypt the conversion ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypt the encrypted data according to the key of the symmetric encryption algorithm.

[0067] For other embodiments of the device, reference may be made to the method embodiments described above, which correspond to the method embodiments and will not be described in detail here.

[0068] It should be understood that the specific order or hierarchy of steps in the disclosed processes is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of steps in the process can be rearranged without departing from the scope of the present disclosure. The accompanying method claims present elements of the various steps in an exemplary order and are not intended to be limited to the specific order or hierarchy described.

[0069] While the above descriptions of embodiments and examples of the present invention are provided for the purpose of providing a more detailed and complete description of the present disclosure, they are not intended to be the only ways to implement or use the embodiments of the present invention. The embodiments cover features of various embodiments, as well as the method steps and sequences for constructing and operating these embodiments. However, other embodiments may be used to achieve the same or equivalent functionality and sequence of steps.

[0070] In the foregoing detailed description, various features are grouped together in a single embodiment to simplify the disclosure. This method of disclosure should not be interpreted as reflecting an intention that embodiments of the claimed subject matter require more features than are expressly recited in each claim. On the contrary, as reflected in the appended claims, the invention comprises less than all the features of any individual disclosed embodiment. The appended claims are hereby expressly incorporated into the detailed description, with each claim standing on its own as a separate preferred embodiment of the invention.

[0071] The above description of the disclosed embodiments is intended to enable any person skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the spirit and scope of the present disclosure. Therefore, the present disclosure is not limited to the embodiments presented herein but is intended to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0072] The foregoing description includes examples of one or more embodiments. Of course, it is not possible to describe all possible combinations of components or methods for the purposes of describing the above embodiments, but one of ordinary skill in the art will recognize that the various embodiments may be further combined and arranged. Therefore, the embodiments described herein are intended to encompass all such changes, modifications and variations that fall within the scope of the appended claims. Furthermore, to the extent the term "comprising" is used in the specification or claims, the term is intended to be encompassed in a manner similar to the term "including," as explained in terms of "including," used as a transitional word in the claims. Furthermore, any use of the term "or" in the specification of the claims is intended to mean a "non-exclusive or."

[0073] Those skilled in the art will also understand that the various illustrative logical blocks, units, and steps listed in the embodiments of the present invention can be implemented by electronic hardware, computer software, or a combination of the two. To clearly demonstrate the interchangeability of hardware and software, the various illustrative components, units, and steps mentioned above have generally described their functions. Whether such functions are implemented by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art may use various methods to implement the described functions for each specific application, but such implementation should not be construed as exceeding the scope of protection of the embodiments of the present invention.

[0074] The various illustrative logic blocks or units described in the embodiments of the present invention may be implemented or operated using a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof. A general-purpose processor may be a microprocessor, or alternatively, any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented using a combination of computing devices, such as a digital signal processor and a microprocessor, multiple microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration.

[0075] The steps of the methods or algorithms described in the embodiments of the present invention may be directly embedded in hardware, a software module executed by a processor, or a combination of the two. The software module may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. For example, the storage medium may be connected to the processor so that the processor can read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may also be integrated into the processor. The processor and storage medium may be provided in an ASIC, which may be provided in a user terminal. Alternatively, the processor and storage medium may also be provided in different components in the user terminal.

[0076] In one or more exemplary designs, the functions described in the embodiments of the present invention can be implemented in hardware, software, firmware, or any combination of the three. If implemented in software, these functions can be stored on a computer-readable medium or transmitted in the form of one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media that facilitate the transfer of computer programs from one location to another. Storage media can be any usable medium that can be accessed by a general-purpose or specialized computer. For example, such computer-readable media can include, but are not limited to, RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store program code in the form of instructions, data structures, and other forms readable by a general-purpose or specialized computer or processor. In addition, any connection can be appropriately defined as a computer-readable medium. For example, if software is transmitted from a website, server, or other remote resource via a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless methods such as infrared, wireless, and microwave, it is also included in the definition of computer-readable media. The aforementioned disks and discs include compact disks, laser disks, optical disks, DVDs, floppy disks, and Blu-ray discs. Disks typically reproduce data magnetically, while discs typically reproduce data optically using lasers. Combinations of the above may also be included in computer-readable media.

[0077] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A blockchain-based outsourced decryption data access control management method, characterized in that: include: The management end provides the secret key for attribute encryption; The data owner uses a preset symmetric encryption algorithm to encrypt the data to be encrypted, and sends the encrypted data to the InterPlanetary File System (IPFS) network; The data owner uses the preset access policy and the secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain the attribute ciphertext, and sends the attribute ciphertext and the encrypted data to the target address of the InterPlanetary File System (IPFS) network and the preset access policy to the target blockchain; The user terminal applies to the management terminal for an attribute key belonging to the user attribute; When the user attributes meet the preset access policy, the user terminal obtains the corresponding attribute ciphertext and the target address from the blockchain, and obtains the encrypted data from the InterPlanetary File System (IPFS) network according to the target address; The user terminal sends the conversion key in the attribute key and the attribute ciphertext to the outsourced computing center; The outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, and returns it to the user terminal; The user end decrypts the converted ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypts the encrypted data according to the key of the symmetric encryption algorithm.

2. The method according to claim 1, characterized in that The management terminal provides the key for attribute encryption, including: The management terminal selects the Type-3 pairing curve , and select a bilinear map e on it , and used as encryption parameters, where G1, G2 and G T is an algebraic structure, and the encryption parameters are disclosed to the user; The management terminal generates a public key and a private key according to the encryption parameters, sends the public key to the blockchain, and manages and stores the private key.

3. The method according to claim 2, characterized in that The data owner uses the preset access policy and the secret key for attribute encryption to encrypt the secret key of the symmetric encryption algorithm to obtain the attribute ciphertext, including: The data owner encrypts the secret key of the symmetric encryption algorithm based on the public key in the secret key used for attribute encryption and a preset access policy to obtain the attribute ciphertext.

4. The method according to claim 1 or 2, characterized in that The user terminal applies to the management terminal for an attribute key belonging to a user attribute, including: The user terminal sends an application request to the management terminal; The management end generates the attribute key according to the user attributes and encryption parameters in the application request, and the attribute key includes a conversion key.

5. The method according to claim 1, wherein The method further comprises: The user terminal retrieves data on the blockchain and determines whether the access policy of the retrieved data is satisfied based on the user attributes. When satisfied, the steps of obtaining the corresponding attribute ciphertext and the target address from the blockchain and obtaining encrypted data from the InterPlanetary File System (IPFS) network according to the target address are executed.

6. The method according to claim 3, characterized in that The management terminal generates a public key and a private key according to the encryption parameters, including: The management terminal sets The order is , whose attribute set is , for each attribute , let its possible value be ; The management terminal selects the generator , randomly selected ,in, For all models The set of remaining classes of ; for , randomly selected ,calculate , , where Y is the public key component parameter, Parameters for public key composition; The management terminal outputs the public key , private key .

7. The method according to claim 6, characterized in that The data owner encrypts the key of the symmetric encryption algorithm based on the public key in the attribute encryption key and the preset access policy to obtain the attribute ciphertext, including: The data owner sets the access policy , randomly selected , calculate the attribute ciphertext C1, C2, C3, where, , where K1 is the secret key of the symmetric encryption algorithm, Refers to the elements in the access policy V.

8. The method according to claim 4, characterized in that The management terminal generates the attribute key according to the user attributes and encryption parameters in the application request, including: The management terminal randomly selects , , and according to the user The attribute set is , calculate the conversion key , and generate attribute keys ,in, For all models The set of remaining classes of .

9. The method according to claim 7, characterized in that The outsourced computing center partially decrypts the attribute ciphertext according to the conversion key to obtain the conversion ciphertext, including: The outsourced computing center determines the attribute ciphertext and conversion key , calculate the partial decryption ciphertext , , where T1 is , T2 is , randomly selected , ,user The attribute set is .

10. A blockchain-based outsourced decryption data access control management device, characterized in that: include: The management side is used to provide the secret key for attribute encryption; The data owner uses a preset symmetric encryption algorithm to encrypt the data to be encrypted and sends the encrypted data to the InterPlanetary File System (IPFS) network. Using the preset access policy and the secret key for attribute encryption, the secret key of the symmetric encryption algorithm is encrypted to obtain the attribute ciphertext, and the attribute ciphertext and the encrypted data are sent to the target address of the InterPlanetary File System (IPFS) network and the preset access policy is sent to the target blockchain; The user terminal is used to apply for the attribute key belonging to the user attribute from the management terminal; When the user attributes meet the preset access policy, the corresponding attribute ciphertext and the target address are obtained from the blockchain, and the encrypted data is obtained from the InterPlanetary File System (IPFS) network according to the target address; Sending the conversion key in the attribute key and the attribute ciphertext to an outsourced computing center; An outsourced computing center is configured to partially decrypt the attribute ciphertext according to the conversion key to obtain a conversion ciphertext, and return the decrypted information to the user terminal; The user end is used to decrypt the converted ciphertext based on the attribute key to obtain the key of the symmetric encryption algorithm, and decrypt the encrypted data according to the key of the symmetric encryption algorithm.