CN112967054A - Data management method, device and equipment - Google Patents
Data management method, device and equipment Download PDFInfo
- Publication number
- CN112967054A CN112967054A CN202110301194.9A CN202110301194A CN112967054A CN 112967054 A CN112967054 A CN 112967054A CN 202110301194 A CN202110301194 A CN 202110301194A CN 112967054 A CN112967054 A CN 112967054A
- Authority
- CN
- China
- Prior art keywords
- data
- ciphertext
- key
- target data
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
The embodiment of the specification discloses a data management method, a data management device and data management equipment. The scheme comprises the following steps: based on the use authorization invalidation instruction of the data owner, generating block chain transaction information containing invalidation information for indicating that a ciphertext data key aiming at the target data is invalidated; and sending the block chain transaction information signed by the data owner to the block chain network, so that when a data user requests to acquire a ciphertext data key from the block chain network, the data user acquires the failure information and cannot continue to use the encrypted target data which has acquired the use right based on the ciphertext data key.
Description
Technical Field
The present application relates to the field of internet technologies, and in particular, to a data management method, apparatus, and device.
Background
With the development and progress of science and technology, the digital age is entered. Through the technologies of computer storage, processing and propagation, etc., our information is promoted and propagated at a great speed, and the digital technology has also become the core technology and the common technology of various media of the present generation. Accordingly, data assets owned or controlled by individuals and businesses are also becoming increasingly beneficial to individuals and businesses, and are therefore considered to be one of the most important forms of assets in the digital age.
Therefore, how to provide a method for managing user data more conveniently and reliably becomes an urgent problem to be solved.
Disclosure of Invention
The embodiment of the specification provides a data management method, a data management device and data management equipment, so that convenience and reliability of a user in data management are improved.
In order to solve the above technical problem, the embodiments of the present specification are implemented as follows:
the data management method provided by the embodiment of the specification comprises the following steps:
acquiring a use authorization invalidation instruction aiming at target data of a data owner;
generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a block chain network;
signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information;
and sending the signed blockchain transaction information to the blockchain network.
The data processing method provided by the embodiment of the specification comprises the following steps:
acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user;
receiving key failure information acquired from the blockchain network, wherein the key failure information indicates that the ciphertext data key is failed;
and refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
An embodiment of this specification provides a data management apparatus, including:
the first acquisition module is used for acquiring a use authorization invalidation instruction aiming at target data of a data owner;
the transaction information generation module is used for responding to the use authorization invalidation instruction and generating block chain transaction information; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a block chain network;
the signature module is used for signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information;
and the first sending module is used for sending the signed block chain transaction information to the block chain network.
An embodiment of this specification provides a data processing apparatus, including:
the acquisition module is used for acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
the request module is used for responding to the data processing request and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user;
the first receiving module is used for receiving key invalidation information acquired from the block chain network, wherein the key invalidation information indicates that the ciphertext data key is invalidated;
and the rejection execution module is used for rejecting to execute the data processing operation on the ciphertext target data based on the key failure information.
An embodiment of the present specification provides a data management apparatus, including:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
acquiring a use authorization invalidation instruction aiming at target data of a data owner;
generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a block chain network;
signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information;
and sending the signed blockchain transaction information to the blockchain network.
An embodiment of the present specification provides a data processing apparatus, including:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user;
receiving key failure information acquired from the blockchain network, wherein the key failure information indicates that the ciphertext data key is failed;
and refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
At least one embodiment provided in the present specification can achieve the following advantageous effects:
based on the use authorization invalidation instruction of the data owner, generating block chain transaction information containing invalidation information for indicating that a ciphertext data key aiming at the target data is invalidated; and sending the block chain transaction information signed by the data owner to the block chain network, so that when a data user requests to acquire a ciphertext data key from the block chain network, the data user acquires the failure information and cannot continue to use the encrypted target data which has acquired the use right based on the ciphertext data key. According to the scheme, the use permission of the data owner to the personal data asset can be granted and withdrawn conveniently and reliably, so that the data owner can manage the personal data asset reliably and effectively.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
Fig. 1 is a schematic flowchart of a data management method provided in an embodiment of the present disclosure;
fig. 2 is a schematic flow chart of a data processing method provided in an embodiment of the present specification;
FIG. 3 is a schematic structural diagram of a data management apparatus corresponding to FIG. 1 according to an embodiment of the present disclosure;
fig. 4 is a schematic structural diagram of a data processing apparatus corresponding to fig. 2 provided in an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of a data management device corresponding to fig. 1 provided in an embodiment of the present specification;
fig. 6 is a schematic structural diagram of a data processing apparatus corresponding to fig. 2 provided in an embodiment of this specification.
Detailed Description
To make the objects, technical solutions and advantages of one or more embodiments of the present disclosure more apparent, the technical solutions of one or more embodiments of the present disclosure will be described in detail and completely with reference to the specific embodiments of the present disclosure and the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present specification, and not all embodiments. All other embodiments that can be derived by a person skilled in the art from the embodiments given herein without making any creative effort fall within the scope of protection of one or more embodiments of the present specification.
The technical solutions provided by the embodiments of the present description are described in detail below with reference to the accompanying drawings.
In the prior art, a data asset may refer to a physically or electronically recorded data resource owned or controlled by an individual or business that can bring future economic benefits to the individual or business. For example, photos, documents, drawings, videos, digital rights, etc. of individuals or businesses are data carried by files; a data asset is a type of asset that exists in data form relative to a physical asset. Data assets are considered one of the most important forms of assets in the digital age.
In the current data sharing or data transaction, once data is transferred from a data owner to a data user, the actual control right of the data belongs to the data user, the data user can retain, use and even resale the data in an unauthorized scene, and the data owner has no perception ability or control ability for the use condition of the data at the data user.
In order to solve the defects in the prior art, the scheme provides the following embodiments:
fig. 1 is a schematic flowchart of a data management method according to an embodiment of the present disclosure. From a program perspective, the execution subject of the flow may be a device of the data owner, or an application program loaded on the device of the data owner for managing the user data assets. As shown in fig. 1, the process may include the following steps:
step 102: and acquiring a use authorization invalidation instruction aiming at the target data of the data owner.
In this embodiment, before step 102 is executed, the data owner may grant the usage right of the target data to the data user based on the usage request of the data user for the target data of the data owner. And the data owner can also recover the use authority of the data user authorized once to the target data by generating a use authorization invalidation instruction according to actual requirements, so that the data owner can grant and withdraw the use authority of the target data. The type of the target data of the data owner may be various, for example, the data may be text, image, audio, video, program code, and the like, which is not limited in this respect.
In the embodiment of the present specification, an application program for managing user data assets (hereinafter, referred to as "data management application") has an application interface, and a data owner can trigger the application interface to enable a data management application to acquire a use authorization invalidation instruction for target data based on an operation of the data owner. The use authorization invalidation instruction is used for indicating that the use authority of the data user which is authorized once is revoked, so that the data user can not use the target data continuously.
Step 104: generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a blockchain network.
In this embodiment of the specification, when a data owner authorizes a data user to use target data, in order to avoid data privacy and security problems caused by leakage of the target data in a data transmission or data use process, the data owner may generate a data key for the target data, and encrypt the target data using the data key to obtain ciphertext target data, so as to send the ciphertext target data to the data user.
In order for the data user to perform a data processing operation on the ciphertext target data, the data owner needs to make the data user obtain the data key, so as to perform the data processing operation on the ciphertext target data through a ciphertext retrieval technology or a ciphertext calculation technology based on the data key. However, if the data key is directly sent to the data user, there may be a risk of leakage of the data key, and therefore, all data users may encrypt the data key using the public key of the data user to obtain a ciphertext data key, and send the ciphertext data key to the blockchain network.
The data user can obtain the ciphertext data key from the block chain network, decrypt the ciphertext data key by using the private key of the data user to obtain the data key, and further perform subsequent data processing operation on the obtained ciphertext target data by using the data key. Even if the participating party of the other blockchain network obtains the ciphertext data key from the blockchain network, the participating party of the other blockchain network cannot decrypt the ciphertext data key because the participating party does not have the private key of the data using party, so that the participating party cannot obtain the data key for the target data. Therefore, the security of the data key aiming at the target data is improved by transmitting the ciphertext data key, and only a specified data user can have the use authority to the target data.
In this embodiment of the present specification, each time a data user performs a data processing operation on ciphertext target data, the data user may delete a ciphertext data key locally stored in a device of the data user, so that the data user needs to go to a block chain network to request to obtain the ciphertext data key each time the data user uses the target data. Therefore, the data owner can store the invalidation information of the invalidated ciphertext data key of the target data in the blockchain network, so that the data user can acquire the invalidation information when requesting to acquire the ciphertext data key from the blockchain network, and the data user can not use the ciphertext data key any more, so that the ciphertext target data can not be subjected to subsequent processing operation. It can be seen that the data owner can write the invalidation information into the blockchain network, so that the data user cannot continue to use the target data that has been authorized to use, i.e. the data owner realizes the revocation of the usage authorization of the target data.
Step 106: and signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information.
Step 108: and sending the signed blockchain transaction information to the blockchain network.
In the embodiment of the present specification, a Block chain (Block chain) may be understood as a data chain formed by sequentially storing a plurality of blocks, and a Block header of each Block includes a time stamp of the Block, a hash value of previous Block information, and a hash value of the Block information, so as to implement mutual authentication between blocks, and form a Block chain that is not to be tampered. Each block can be understood as a data block (unit of storage data). The block chain as a decentralized database is a series of data blocks generated by correlating with each other by using a cryptographic method, and each data block contains information of one network transaction, which is used for verifying the validity (anti-counterfeiting) of the information and generating the next block. The block chain is formed by connecting the blocks end to end. If the data in the block needs to be modified, the contents of all blocks after the block need to be modified, and the data backed up by all nodes in the block chain network needs to be modified. Therefore, the blockchain has the characteristic of being difficult to tamper and delete, and the blockchain has reliability as a method for keeping the integrity of the content after the data is stored in the blockchain.
In this embodiment of the present specification, in order to avoid that others infringe the management authority of the data owner on the personal data, the private key of the data owner may be used to digitally sign the block chain transaction information, so that the block chain network stores the block chain transaction information into the block chain network after the signature of the signed block chain transaction information is verified by using the public key of the data owner.
In practical applications, the blockchain platform can provide distributed digital identity services. Specifically, the data owner may request a Distributed Identity Server (DIS) through the data management application to create a distributed Digital Identities (DID) of individuals and a Document of the distributed digital identities (DID Document). The DID and DID Doc of the owner of the data may be stored in the blockchain platform.
The public key and the private key of the data owner may be the keys in a public-private key pair allocated by the DIS system for the DID of the data owner. The private key of the data owner can be safely controlled through data management application, and the public key of the data owner can be stored in the DID Doc of the data owner, so that a party needing to verify the signature of the data owner can obtain the public key of the data owner from the DID Doc of the data owner, and subsequent signature verification operation is performed.
The DIS is an identity management scheme based on a block chain, and a DIS server can be connected with a block chain platform and provides functions of digital identity creation, verification, management and the like, so that entity data can be managed and protected in a standardized mode, authenticity and efficiency of information transfer are guaranteed, and the problems of cross-organization identity authentication, data cooperation and the like can be solved.
Similarly, the data user may register the DID based on the DIS system and obtain a public-private key pair corresponding to the DID of the data user. The public key of the data user used for encrypting the data key in step 104 may indicate that the public key corresponding to the DID of the data user is obtained from the DID Doc of the data user by all the data users. Correspondingly, the data user may decrypt the ciphertext data key using the private key corresponding to the DID of the data user to obtain the data key.
It should be understood that the order of some steps in the method described in one or more embodiments of the present disclosure may be interchanged according to actual needs, or some steps may be omitted or deleted.
The method in fig. 1 may generate blockchain transaction information including invalidation information indicating that a ciphertext data key for target data has been invalidated, based on a usage authorization invalidation command of a data owner; and sending the block chain transaction information signed by the data owner to the block chain network, so that when a data user requests to acquire a ciphertext data key from the block chain network, the data user acquires the failure information and cannot continue to use the encrypted target data which has acquired the use right based on the ciphertext data key. Therefore, the method in fig. 1 can enable the data owner to conveniently and reliably grant and withdraw the use permission of the personal data asset, so that the data owner can conveniently and reliably manage the personal data asset.
Based on the process of fig. 1, some specific embodiments of the process are also provided in the examples of this specification, which are described below.
In this embodiment of the present specification, a data owner may publish personal data through a data management application, so that a data user may know, based on publication information, data that the data owner allows sharing, and initiate a request for using target data of the data owner, and further obtain a usage right for the target data.
Thus, at step 102: before obtaining the use authorization invalidation instruction for the target data from the data owner, the method may further include:
and acquiring a setting instruction of the data owner on the target data to be issued.
And generating issuing information aiming at the target data in response to the setting instruction.
And storing the release information to a block chain network.
In the embodiment of the present specification, the data owner may publish a part of data owned by itself based on the data management application, so as to share the published data subsequently. When the data owner issues the target data, the data owner may add data description information for the target data, and make a security control policy and an approval process for the target data.
Specifically, the setting instruction may be used to set data description information of the target data; correspondingly, the release information includes the data description information.
The data description information for the target data may include information such as content, file type, and storage address of the target data, which is not particularly limited.
The setting instruction may be further configured to set security control policy parameters for the target data, where the security control policy parameters may include: at least one of a number of times the target data can be used, a processable manner for the target data, and a desensitization manner of a processing result obtained by processing the target data; correspondingly, the release information may include the security control policy parameter.
Wherein the number of times of use for the target data may be set to an integer of 1 or more. The processable manner for the target data may represent data processing operations that may be performed for specified fields of the target data, which may include, but are not limited to, operations such as summing, calculating an average, data queries, and the like.
The desensitization mode of the processing result obtained by processing the target data may include, but is not limited to: masking, randomizing, generalizing, encrypting, etc. Wherein, masking may refer to suppressing, deleting or hiding the identifier data. Masking may be done for the entire data item or alternatively for a portion of the data item. For example, the mask may be denoted as "12 × 56" for the phone number "123456", etc. While random may refer to the use of randomly generated or assigned data in place of the original data items, random methods may include noise addition, fully random generation, rearrangement of data items, and the like. For example, the name data "lie four" is replaced with "zhang three" that is randomly generated. Generalization may refer to representing an original data item using generalization, abstraction, etc., by reducing the precision of the data. For numerical data items, the data can be generalized by rounding, maximizing, or giving the numerical range to which the data belongs. For example, the real number data "1.7" may be generalized to "1", or the real number data "1.7" is normalized to belong to [1,5 ]. Alternatively, "lie four" can also be generalized to "lie a" and the like. Encryption may refer to the cryptographic transformation of the data item, and if some characteristics of the original data item need to be preserved, algorithms such as order-preserving encryption or format-preserving encryption may be used for the processing. For example, height "1.73" may be encrypted to "1.46", etc.
The setting instruction can also be used for setting an approval process aiming at the target data; the release information includes approval process information for the target data, and the approval process information may reflect information such as each approving party of the usage right for the target data, and an approval sequence of each approving party for the usage request.
In this embodiment of the present specification, after the release information for the target data is stored in the blockchain network, a data directory may be generated for the target data, and the data target may also be stored in the blockchain network. All subsequent changes (e.g., desensitization change, approval process change) and the like for the target data can be recorded in the data directory in the blockchain network, so as to ensure the traceability and non-tamper property of the usage management and control information of the target data.
Specifically, after storing the release information in the blockchain network, the method in fig. 1 may further include:
and acquiring an update setting instruction of the data owner for the target data. The update setting instruction is used for indicating to modify at least one of data description information, security control strategy parameters and approval process information in the release information.
Updating the issuing information aiming at the target data in the block chain network in response to the updating setting instruction. And updating a data directory in the blockchain network for the target data.
In this embodiment, each participant in the blockchain network may obtain the publishing information for the target data from the blockchain network, so that each participant may request to use the target data.
Specifically, before step 102, the method may further include:
the data owner acquires a use request for the target data from the data user.
And if the use request is determined to be authorized, sending ciphertext target data obtained by encrypting the target data by using a data secret key to the data user.
And encrypting the data secret key by using the public key of the data user to obtain a ciphertext data secret key.
Sending the ciphertext data key to a block chain network; the ciphertext data key may be obtained by the data consumer by accessing the blockchain network.
In this embodiment of the present specification, when a data user requests to use target data, an approval process preset by a data owner for the target data needs to be executed, and release information for the target data stored in a block chain network carries related information of the approval process, so that the obtaining of the use request for the target data by the data user specifically may include:
receiving a use request aiming at the target data generated by a data user according to the release information; the use request is used for requesting each approver indicated in the approval process information to carry out use authorization permission on the target data.
In an embodiment of the present specification, a Smart contract (Smart contract) is a computer protocol intended to propagate, verify, or execute contracts in an informational manner. The intelligent contracts can be deployed at nodes on the blockchain or can be deployed in equipment outside the blockchain, so that different requirements of users can be met. Because the intelligent contracts can be accurately executed and the risk of human intervention can be reduced, people gradually begin to share information based on the intelligent contract technology. Based on this, in the embodiments of the present specification, the approval process for the target data may be executed by using the intelligent contract.
Specifically, the obtaining of the request for the target data from the data consumer may include:
and receiving a transaction for calling an intelligent contract initiated by a data user according to the release information, wherein the intelligent contract is used for executing the approval process. The intelligent contract may be automatically generated according to approval process information carried in release information for target data stored at a blockchain network in which the intelligent contract may be deployed.
In practical applications, after receiving a transaction initiated by the data consumer according to the release information and invoking the smart contract, the method may further include:
and receiving an execution result of the intelligent contract.
If it is determined that the use request is authorized, sending ciphertext target data obtained by encrypting the target data with a data key to the data user, which may specifically include:
and if the execution result shows that all the involved examining and approving parties in the examining and approving process pass the examination and approval, determining a data secret key aiming at the target data.
And encrypting the target data by using the data secret key to obtain ciphertext target data.
And sending ciphertext target data obtained by encrypting the target data by using the data secret key to the data user.
In this embodiment of the present specification, a data owner may send encrypted target data to a data user by using a plurality of data transmission applications, and therefore, an encryption Software Development Kit (SDK) provided by a data management application may be deployed at the data transmission application, so that the data transmission application encrypts the target data based on the encryption SDK to obtain ciphertext target data, and thus, the ciphertext target data may be transmitted to the data user, and it is ensured that the data user can only obtain the encrypted target data, so as to improve the security and privacy of the target data, and facilitate subsequent revocation of the use permission of the data user for the target data.
Namely, an encryption software development kit can be deployed at the data transmission application for transmitting the ciphertext target data; correspondingly, the encrypting the target data by using the data key specifically includes: and performing encryption processing on the target data by the encryption software development kit by using the data key.
For ease of understanding, the process of generating and transmitting ciphertext target data using a data transmission application is illustrated herein.
For example, if the data owner and the data user both have a registered account at the big data platform, and the data owner needs to send the target data to the registered account of the data user by using the big data platform, the encrypted SDK may be integrated at the data transfer component of the big data platform, so that when the data transfer component is used to synchronize the database of the target data, the encrypted SDK may be used to encrypt the target data by using the data key to obtain ciphertext target data, so that the data transfer component synchronizes the ciphertext target data to the registered account of the data user.
Alternatively, when the data owner transmits the target data to the data user by using a File Transfer Protocol (FTP), the data owner may generate the data key and the ciphertext target data by using an encrypted SDK deployed at an API gateway (API gateway) of the File Transfer service, so as to transmit the ciphertext target data to the data user based on the File Transfer service.
Of course, if the data management application has a data transmission function, the encryption SDK may be integrated at the data management application, and the data owner may generate ciphertext target data by using the encryption SDK deployed at the data management application, and send the ciphertext target data to the data user.
In this embodiment, the data user may also use the data management application to request to use the target data and perform analysis processing on the target data, and generate usage log information for recording usage after using the target data each time, and store the usage log information in the block chain network, so that the data owner performs statistical analysis on the usage of the target data of the data owner.
Thus, the method in fig. 1 may further include:
and the data owner acquires the use log information of the target data from the blockchain network. The usage log information may include, but is not limited to: data description information for the target data, identification information of a data owner of the target data, identification information of a data consumer using the target data, data processing operation information performed on the target data by the data consumer, usage time of the target data by the data consumer, the number of times of usage of the target data by the data consumer, and the like.
And counting the use log information to obtain a statistical result.
Based on the same idea, fig. 2 is a schematic flow chart of a data processing method provided in an embodiment of the present specification. From a program perspective, the execution subject of the flow may be a device of the data consumer, or an application program (i.e., a data management application) installed on the device of the data consumer for managing the user data assets. As shown in fig. 2, the process may include the following steps:
step 202: acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data key.
In this specification, a data user may trigger a device interface, so that a data management application may obtain a data processing request of the data user, where the data processing request may be used to request data processing operations, such as data query, summation, averaging, and the like, on pre-obtained target data (i.e., ciphertext target data) encrypted with a data key.
In practical applications, before data processing is performed on ciphertext target data, a data user needs to acquire a permission for the target data of all data users based on data management application, so as to acquire the ciphertext target data, and further perform data processing on the ciphertext target data.
Therefore, before step 202, the method may further include:
the data consumer sends a usage request for the target data of the data owner.
And receiving ciphertext target data obtained by encrypting the target data by using the data secret key.
In this specification, based on the content of the embodiment of the method in fig. 1, it is known that a data owner may preset data description information, an approval process, and the like for target data, generate release information for the target data based on the setting information, and release the release information to a blockchain network, so that other participants in a blockchain website may request to use the target data based on the release information.
Therefore, the sending, by the data consumer, a request for using the target data of the data owner may specifically include:
the data user initiates a transaction for calling an intelligent contract according to the release information aiming at the target data in the block chain network; the issuing information is generated according to a setting instruction of the target data to be issued by a data owner; the setting instruction is used for setting an approval process aiming at the target data; the intelligent contract is used for executing the approval process.
Step 204: responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user.
In the embodiment of the present specification, since the data owner performs encryption processing on the data key of the encryption target data in advance to generate the ciphertext data key, and sends the ciphertext data key to the blockchain network. Therefore, after acquiring the data processing request of the data user, the data management application needs to acquire the ciphertext data key from the blockchain network to decrypt the ciphertext data key, so as to obtain the data key required for data processing on the ciphertext target data.
Step 206: and receiving key invalidation information acquired from the block chain network, wherein the key invalidation information indicates that the ciphertext data key is invalidated.
In this embodiment of the specification, since the data owner may write, into the blockchain network, blockchain transaction information carrying failure information indicating that a ciphertext data key for the target data has failed, the data management application may acquire the ciphertext data key from the blockchain network and may also acquire ciphertext failure information indicating that the ciphertext data key has failed.
Step 208: and refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
In this embodiment of the present specification, if the data management application acquires the key invalidation information, it may indicate that the data owner has withdrawn the usage right, which was granted to the data user, for the target data, and therefore the data user is not allowed to continue using the target data, so that the data management application may refuse to perform the next processing on the data processing request of the data user, that is, refuse to perform the data processing operation on the ciphertext target data, so that the data user cannot continue using the target data.
It should be understood that the order of some steps in the method described in one or more embodiments of the present disclosure may be interchanged according to actual needs, or some steps may be omitted or deleted.
In the method in fig. 2, before the data user uses the encrypted target data, the data user acquires the ciphertext data key for the target data from the blockchain network, and after acquiring the information indicating that the ciphertext data key is invalid, which is written into the blockchain network by the data owner, the data user may reject the data processing operation that the data user requests to be executed on the encrypted target data, so that the data user cannot continue to use the target data, and thus the data owner realizes the revocation of the usage right of the target data authorized to be used. The data management and control system is favorable for improving convenience and reliability of data owners when managing and controlling data of the data owners.
Based on the method of fig. 2, the present specification also provides some specific embodiments of the method, which are described below.
In this embodiment of the present specification, if a ciphertext data key for target data is stored in the blockchain network, but information indicating that the ciphertext data key has failed is not stored, it may be indicated that a use authority granted to a data user by a data owner is valid, so that the data user may perform data processing on the ciphertext target data.
Thus, step 204: after requesting to obtain the ciphertext data key corresponding to the ciphertext target data from the block chain network in response to the data processing request, the method may further include:
receiving key valid information acquired from the blockchain network, wherein the key valid information indicates that the ciphertext data key is valid; the valid key information includes the ciphertext data key.
And decrypting the ciphertext data secret key by using a private key of the data user to obtain the data secret key.
And executing the data processing operation on the ciphertext target data based on the data secret key to obtain a data processing result.
In embodiments of the present description, the data management application may provide a data protection Software Development Kit (SDK), which may be used to supervise the execution of security control policies set by data owners for target data, and to perform data processing operations on ciphertext target data. Accordingly, a data processing application for processing the target data may be deployed with a data protection software development kit. The data processing application may be a data management application, or may be an existing data processing application, such as smartbi, FineBI, and the like, and is not particularly limited.
The executing the data processing operation on the ciphertext target data based on the data key may specifically include:
executing the data processing operation on the ciphertext target data based on the data secret key by using the data protection software development kit according to preset security control strategy parameters; the preset security control policy parameters are parameters in a security control policy set by the data owner for the target data.
In the embodiment of the present specification, after the data user acquires the ciphertext target data, the data user cannot directly perform data processing operations such as query and calculation on the ciphertext target data. But rather, the ciphertext target data needs to be queried or computed by invoking the function of the data protection SDK.
Specifically, the data protection SDK may complete service requirements such as data retrieval or calculation through a ciphertext retrieval technique and a ciphertext calculation technique based on the data key without restoring ciphertext target data to a plaintext. The target data of the plaintext is prevented from being stolen by a data user, and the safety and the privacy of the target data are improved.
Or, the data protection SDK may also decrypt the ciphertext target data using the data key, so as to perform data processing operations such as data query or calculation on the target data of the plaintext after obtaining the target data of the plaintext, where only the data protection SDK needs to ensure that the data user cannot read the target data of the plaintext.
In this specification embodiment, the security control policy parameters may include: the data processing method comprises the steps of using times for the target data, processing modes for the target data and desensitization modes of processing results obtained by processing the target data.
Therefore, the executing, by using the data protection software development kit, the data processing operation on the ciphertext target data based on the data key according to a preset security control policy parameter may specifically include:
and judging whether the data processing operation belongs to a processable mode aiming at the target data or not by utilizing the data protection software development kit, wherein the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, and obtaining a judgment result.
And if the judgment result shows that the data processing operation belongs to a processable mode aiming at the target data and the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, executing the data processing operation on the ciphertext target data by utilizing the data protection software development kit based on the data secret key to obtain a target data processing result.
And desensitizing the target data processing result by using the data protection software development kit in the desensitization mode to obtain a desensitized target data processing result.
In the embodiment of the present specification, the data protection SDK may supervise, according to a security policy formulated by a data owner, a situation that a data user uses target data, thereby ensuring control of the data owner over a usage right of the target data. Because the data processing result output by the data protection SDK is subjected to desensitization processing, the data finally obtained by the data user can be ensured to be desensitized, and the privacy of the target data of all data users can be ensured.
In this embodiment of this specification, after the performing the data processing operation on the ciphertext target data based on the data key to obtain a data processing result, the method may further include: and deleting the ciphertext data key acquired and stored by the data user from the block chain network. Therefore, each time the data user uses the ciphertext target data, the data user needs to acquire the ciphertext data key from the block chain network. According to the implementation mode, whether the data user still has the use authority for the ciphertext target data or not can be judged according to the latest control indication of the data owner on the data use authority of the data user, so that the effectiveness of the data owner on the control of the use authority of the data owner on the data can be improved.
In this embodiment of this specification, after the performing the data processing operation on the ciphertext target data based on the data key to obtain a data processing result, the method may further include:
generating usage log information for recording that the data consumer performed the data processing operation on the target data; and sending the use log information to a blockchain network. Therefore, the analysis and statistics of the use condition of the target data of the owner are facilitated.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the above method. Fig. 3 is a schematic structural diagram of a data management apparatus corresponding to fig. 1 provided in an embodiment of the present disclosure. As shown in fig. 3, the apparatus may include:
a first obtaining module 302, configured to obtain a use authorization invalidation instruction for the target data from the data owner.
A transaction information generating module 304, configured to generate blockchain transaction information in response to the usage authorization invalidation instruction; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a blockchain network.
The signature module 306 is configured to sign the blockchain transaction information by using a private key of the data owner, so as to obtain signed blockchain transaction information.
A first sending module 308, configured to send the signed blockchain transaction information to the blockchain network.
The present specification also provides some specific embodiments of the apparatus based on the apparatus of fig. 3, which is described below.
Optionally, the apparatus in fig. 3 may further include:
and the second acquisition module is used for acquiring the use request of the data user for the target data by the data owner.
And the second sending module is used for sending ciphertext target data obtained by encrypting the target data by using a data secret key to the data user if the authorization to the use request is determined.
And the first encryption module is used for encrypting the data secret key by using the public key of the data user to obtain a ciphertext data secret key.
A third sending module, configured to send the ciphertext data key to a block chain network; the ciphertext data key may be obtained by the data consumer by accessing the blockchain network.
Optionally, the apparatus in fig. 3 may further include:
and the third acquisition module is used for acquiring a setting instruction of all data aspects on the target data to be issued.
And the release information generating module is used for responding to the setting instruction and generating release information aiming at the target data.
And the storage module is used for storing the release information to the block chain network.
Optionally, the setting instruction may be used to set data description information of the target data; the release information comprises the data description information.
Optionally, the setting instruction may be configured to set a security control policy parameter for the target data, where the security control policy parameter includes: at least one of a number of times the target data can be used, a processable manner for the target data, and a desensitization manner of a processing result obtained by processing the target data; the release information comprises the security control strategy parameters.
Optionally, the setting instruction may be used to set an approval process for the target data; the release information comprises approval process information aiming at the target data.
Optionally, the second obtaining module may be specifically configured to:
receiving a use request aiming at the target data generated by a data user according to the release information; the use request is used for requesting each approver indicated in the approval process information to carry out use authorization permission on the target data.
Optionally, the second obtaining module may be specifically configured to:
and receiving a transaction for calling an intelligent contract initiated by a data user according to the release information, wherein the intelligent contract is used for executing the approval process.
Optionally, the apparatus in fig. 3 may further include:
and the receiving module is used for receiving the execution result of the intelligent contract.
The second sending module may be specifically configured to:
and if the execution result shows that all the involved examining and approving parties in the examining and approving process pass the examination and approval, sending ciphertext target data obtained by encrypting the target data by using a data secret key to the data user.
Optionally, the apparatus in fig. 3 may further include:
a data key determination module for determining a data key for the target data.
And the second encryption module is used for encrypting the target data by using the data secret key to obtain ciphertext target data.
Optionally, an encryption software development kit is deployed at the data transmission application for transmitting the ciphertext target data; the second encryption module may be specifically configured to: and performing encryption processing on the target data by the encryption software development kit by using the data key.
Optionally, the apparatus in fig. 3 may further include:
and the fourth acquisition module is used for acquiring the use log information of the data user on the target data from the block chain network by the data owner.
And the counting module is used for counting the use log information to obtain a counting result.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the above method. Fig. 4 is a schematic structural diagram of a data processing apparatus corresponding to fig. 2 according to an embodiment of the present disclosure. As shown in fig. 4, the apparatus may include:
an obtaining module 402, configured to obtain a data processing request of a data consumer; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data key.
A request module 404, configured to request, in response to the data processing request, to obtain a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user.
A first receiving module 406, configured to receive key revocation information obtained from the blockchain network, where the key revocation information indicates that the ciphertext data key is revoked.
A refusal execution module 408, configured to refuse to execute the data processing operation on the ciphertext target data based on the key invalidation information.
The examples of this specification also provide some specific embodiments of the apparatus based on the apparatus in fig. 4, which is described below.
Optionally, the apparatus in fig. 4 may further include:
the first sending module is used for sending a use request of target data aiming at a data owner by a data user.
And the second receiving module is used for receiving ciphertext target data obtained by encrypting the target data by using the data secret key.
Optionally, the first sending module may be specifically configured to:
the data user initiates a transaction for calling an intelligent contract according to the release information aiming at the target data in the block chain network; the issuing information is generated according to a setting instruction of the target data to be issued by a data owner; the setting instruction is used for setting an approval process aiming at the target data; the intelligent contract is used for executing the approval process.
Optionally, the apparatus in fig. 4 may further include:
a third receiving module, configured to receive key valid information obtained from the blockchain network, where the key valid information indicates that the ciphertext data key is valid; the valid key information includes the ciphertext data key.
And the decryption module is used for decrypting the ciphertext data secret key by using a private key of the data user to obtain the data secret key.
And the data processing module is used for executing the data processing operation on the ciphertext target data based on the data secret key to obtain a data processing result.
Optionally, a data protection software development kit is deployed in the data processing application for processing the ciphertext target data; the data processing module may be specifically configured to:
executing the data processing operation on the ciphertext target data based on the data secret key by using the data protection software development kit according to preset security control strategy parameters; the preset security control policy parameters are parameters in a security control policy set by the data owner for the target data.
Optionally, the security control policy parameters include: the data processing method comprises the steps of using times for the target data, processing modes for the target data and desensitization modes of processing results obtained by processing the target data.
The data processing module may be specifically configured to:
and judging whether the data processing operation belongs to a processable mode aiming at the target data or not by utilizing the data protection software development kit, wherein the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, and obtaining a judgment result.
And if the judgment result shows that the data processing operation belongs to a processable mode aiming at the target data and the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, executing the data processing operation on the ciphertext target data by utilizing the data protection software development kit based on the data secret key to obtain a target data processing result.
And desensitizing the target data processing result by using the data protection software development kit in the desensitization mode to obtain a desensitized target data processing result.
Optionally, the apparatus in fig. 4 may further include:
and the deleting module is used for deleting the ciphertext data key acquired and stored by the data user from the block chain network.
Optionally, the apparatus in fig. 4 may further include:
and the use log information generating module is used for generating use log information for recording that the data using party performs the data processing operation on the target data.
And the second sending module is used for sending the use log information to the block chain network.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the above method.
Fig. 5 is a schematic structural diagram of a data management device corresponding to fig. 1 provided in an embodiment of the present specification. As shown in fig. 5, the apparatus 500 may include:
at least one processor 510; and the number of the first and second groups,
a memory 530 communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory 530 stores instructions 520 executable by the at least one processor 510 to enable the at least one processor 510 to:
and acquiring a use authorization invalidation instruction aiming at the target data of the data owner.
Generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises invalidation information used for representing that a ciphertext data key aiming at the target data is invalidated; the ciphertext data key is ciphertext information obtained by encrypting the data key used for encrypting the target data by using a public key of a data user; the ciphertext data key is stored in a blockchain network.
And signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information.
And sending the signed blockchain transaction information to the blockchain network.
Based on the same idea, the embodiment of the present specification further provides a device corresponding to the above method.
Fig. 6 is a schematic structural diagram of a data processing apparatus corresponding to fig. 2 provided in an embodiment of this specification. As shown in fig. 6, the apparatus 600 may include:
at least one processor 610; and the number of the first and second groups,
a memory 630 communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory 630 stores instructions 620 executable by the at least one processor 610 to enable the at least one processor 610 to:
acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data which has acquired the use authority; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data key.
Responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user.
And receiving key invalidation information acquired from the block chain network, wherein the key invalidation information indicates that the ciphertext data key is invalidated.
And refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatuses shown in fig. 5 and 6, since they are substantially similar to the method embodiments, the description is simple, and the relevant points can be referred to the partial description of the method embodiments.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital character system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate a dedicated integrated circuit chip. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims (25)
1. A method of data management, comprising:
acquiring a use authorization invalidation instruction of target data aiming at a data owner;
generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises key invalidation information aiming at a cipher text data key in a block chain network, and the key invalidation information is used for revoking the use authority which is obtained by a data using party and aims at cipher text target data; the ciphertext target data is ciphertext data obtained by encrypting the target data by using a data secret key; the ciphertext data key is ciphertext information obtained by encrypting the data key;
and sending the blockchain transaction information to the blockchain network.
2. The method of claim 1, before the obtaining the usage authorization invalidation instruction for the target data of the data owner, further comprising:
acquiring a use request of a data user for target data;
if the use request is determined to be authorized, sending ciphertext target data obtained by encrypting the target data by using a data secret key to the equipment of the data user;
encrypting the data secret key by using the public key of the data user to obtain a ciphertext data secret key;
sending the ciphertext data key to a block chain network; the ciphertext data key may be obtained by the device of the data consumer by accessing the blockchain network.
3. The method of claim 2, wherein the obtaining of the request for use of the target data by the data consumer further comprises:
acquiring a setting instruction aiming at target data to be issued;
generating issue information for the target data in response to the setting instruction;
and storing the release information to a block chain network.
4. The method of claim 3, the setting instruction to set data description information of the target data;
the release information comprises the data description information.
5. The method of claim 3, the setting instructions to set security control policy parameters for the target data, the security control policy parameters including: at least one of a number of times the target data can be used, a processable manner for the target data, and a desensitization manner of a processing result obtained by processing the target data;
the release information comprises the security control strategy parameters.
6. The method of claim 3, the setting instructions to set an approval process for the target data;
the release information comprises approval process information aiming at the target data.
7. The method according to claim 6, wherein the obtaining of the request of the data consumer for the target data specifically includes:
receiving a use request for the target data generated according to the release information of a data user; the use request is used for requesting each approver indicated in the approval process information to carry out use authorization permission on the target data.
8. The method according to claim 6, wherein the obtaining of the request of the data consumer for the target data specifically includes:
and receiving a transaction of a data user for invoking an intelligent contract initiated according to the release information, wherein the intelligent contract is used for executing the approval process.
9. The method of claim 8, after receiving a transaction initiated by a data consumer in accordance with the publishing information to invoke a smart contract, further comprising:
receiving an execution result of the intelligent contract;
if it is determined that the use request is authorized, sending ciphertext target data obtained by encrypting the target data with a data key to the device of the data user, specifically comprising:
and if the execution result shows that all the involved examining and approving parties in the examining and approving process pass the examination and approval, sending ciphertext target data obtained by encrypting the target data by using a data secret key to equipment of the data user.
10. The method according to claim 2, before sending the ciphertext target data obtained by encrypting the target data with the data key to the device of the data consumer, further comprising:
determining a data key for the target data;
and encrypting the target data by using the data secret key to obtain ciphertext target data.
11. The method of claim 10, wherein an encryption software development kit is deployed at the data transmission application for transmitting the ciphertext target data;
the encrypting the target data by using the data key specifically includes:
and performing encryption processing on the target data by the encryption software development kit by using the data key.
12. The method of claim 1, further comprising:
obtaining usage log information of the data user for the target data from the blockchain network;
and counting the use log information to obtain a statistical result.
13. The method of claim 1, prior to sending the blockchain transaction message to the blockchain network, further comprising:
signing the block chain transaction information by using a private key of the data owner to obtain signed block chain transaction information;
the sending the blockchain transaction information to the blockchain network specifically includes:
and sending the signed blockchain transaction information to the blockchain network.
14. A method of data processing, comprising:
acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data at the equipment of the data user; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key;
receiving key failure information acquired from the block chain network; the key invalidation information is generated according to a use authorization invalidation instruction for the target data, and is used for revoking the use authority which is obtained by the data user and is used for the ciphertext target data;
and refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
15. The method of claim 14, wherein prior to obtaining the data processing request of the data consumer, further comprising:
the device of the data using party sends a use request of target data aiming at the data owner party;
and receiving ciphertext target data obtained by encrypting the target data by using the data secret key.
16. The method according to claim 15, wherein the device of the data consumer sends a request for using the target data of the data owner, specifically comprising:
the equipment of the data user initiates a transaction for calling an intelligent contract according to the release information aiming at the target data in the block chain network; the issuing information is generated according to a setting instruction for the target data to be issued; the setting instruction is used for setting an approval process aiming at the target data; the intelligent contract is used for executing the approval process.
17. The method of claim 14, after requesting to obtain the ciphertext data key corresponding to the ciphertext target data from the blockchain network, further comprising:
receiving key valid information acquired from the blockchain network, wherein the key valid information indicates that the ciphertext data key is valid; the effective information of the secret key comprises the secret key of the ciphertext data; the ciphertext data key is ciphertext information obtained by encrypting the data key by using a public key of the data user;
decrypting the ciphertext data secret key by using a private key of the data user to obtain the data secret key;
and executing the data processing operation on the ciphertext target data based on the data secret key to obtain a data processing result.
18. The method of claim 17, the data processing application for processing the ciphertext target data deploying a data protection software development kit;
the executing the data processing operation on the ciphertext target data based on the data key specifically includes:
executing the data processing operation on the ciphertext target data based on the data secret key by using the data protection software development kit according to preset security control strategy parameters; the preset security control policy parameters are parameters in a security control policy set by the data owner for the target data.
19. The method of claim 18, the security control policy parameters comprising: the usable times of the target data, the processing mode of the target data and the desensitization mode of the processing result obtained by processing the target data;
the executing, by using the data protection software development kit, the data processing operation on the ciphertext target data based on the data key according to a preset security control policy parameter specifically includes:
judging whether the data processing operation belongs to a processable mode aiming at the target data or not by using the data protection software development kit, wherein the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, and obtaining a judgment result;
if the judgment result indicates that the data processing operation belongs to a processable mode aiming at the target data and the accumulated use times of the target data by the data user do not reach the usable times aiming at the target data, executing the data processing operation on the ciphertext target data by utilizing the data protection software development kit based on the data secret key to obtain a target data processing result;
and desensitizing the target data processing result by using the data protection software development kit in the desensitization mode to obtain a desensitized target data processing result.
20. The method according to any one of claims 17 to 19, after performing the data processing operation on the ciphertext target data based on the data key to obtain a data processing result, further comprising:
and deleting the ciphertext data key acquired and stored by the data user from the block chain network.
21. The method according to any one of claims 17 to 19, after performing the data processing operation on the ciphertext target data based on the data key to obtain a data processing result, further comprising:
generating usage log information for recording that the data consumer performed the data processing operation on the target data;
and sending the use log information to a blockchain network.
22. A data management apparatus comprising:
the first acquisition module is used for acquiring a use authorization invalidation instruction of target data aiming at a data owner;
the transaction information generation module is used for responding to the use authorization invalidation instruction and generating block chain transaction information; the block chain transaction information comprises key invalidation information aiming at a cipher text data key in a block chain network, and the key invalidation information is used for revoking the use authority which is obtained by a data using party and aims at cipher text target data; the ciphertext target data is ciphertext data obtained by encrypting the target data by using a data secret key; the ciphertext data key is ciphertext information obtained by encrypting the data key;
a first sending module, configured to send the blockchain transaction information to the blockchain network.
23. A data processing apparatus comprising:
the acquisition module is used for acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data at the equipment of the data user; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
the request module is used for responding to the data processing request and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key;
the first receiving module is used for receiving the key invalidation information acquired from the block chain network; the key invalidation information is generated according to a use authorization invalidation instruction for the target data, and is used for revoking the use authority which is obtained by the data user and is used for the ciphertext target data;
and the rejection execution module is used for rejecting to execute the data processing operation on the ciphertext target data based on the key failure information.
24. A data management apparatus comprising:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
acquiring a use authorization invalidation instruction of target data aiming at a data owner;
generating blockchain transaction information in response to the use authorization invalidation instruction; the block chain transaction information comprises key invalidation information aiming at a cipher text data key in a block chain network, and the key invalidation information is used for revoking the use authority which is obtained by a data using party and aims at cipher text target data; the ciphertext target data is ciphertext data obtained by encrypting the target data by using a data secret key; the ciphertext data key is ciphertext information obtained by encrypting the data key;
and sending the blockchain transaction information to the blockchain network.
25. A data processing apparatus of a data consumer, comprising:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
acquiring a data processing request of a data user; the data processing request is used for requesting data processing operation on ciphertext target data at the equipment; the ciphertext target data is ciphertext data obtained by encrypting target data of all parties of the data by using a data secret key;
responding to the data processing request, and requesting to acquire a ciphertext data key corresponding to the ciphertext target data from a block chain network; the ciphertext data key is ciphertext information obtained by encrypting the data key;
receiving key failure information acquired from the block chain network; the key invalidation information is generated according to a use authorization invalidation instruction for the target data, and is used for revoking the use authority which is obtained by the data user and is used for the ciphertext target data;
and refusing to execute the data processing operation on the ciphertext target data based on the key failure information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110301194.9A CN112967054B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011075661.2A CN111932263B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
CN202110301194.9A CN112967054B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011075661.2A Division CN111932263B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112967054A true CN112967054A (en) | 2021-06-15 |
CN112967054B CN112967054B (en) | 2022-07-29 |
Family
ID=73335039
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011075661.2A Active CN111932263B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
CN202110301194.9A Active CN112967054B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011075661.2A Active CN111932263B (en) | 2020-10-10 | 2020-10-10 | Data management method, device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111932263B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884674A (en) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | Block chain-based user data transfer method, device and equipment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905657B (en) * | 2021-02-01 | 2022-08-19 | 泉州华中科技大学智能制造研究院 | Block chain data processing method and system capable of protecting user privacy |
CN112883425B (en) * | 2021-03-26 | 2023-05-16 | 重庆度小满优扬科技有限公司 | Block chain-based data processing method and block chain link point |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534097A (en) * | 2016-10-27 | 2017-03-22 | 上海亿账通区块链科技有限公司 | Block chain trading based authority control method and system |
CN107294709A (en) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | A kind of block chain data processing method, apparatus and system |
US20180121918A1 (en) * | 2016-11-03 | 2018-05-03 | Mastercard International Incorporated | Method and system for net settlement by use of cryptographic promissory notes issued on a blockchain |
CN109039649A (en) * | 2018-08-03 | 2018-12-18 | 北京大学深圳研究生院 | Key management method, device and storage medium based on block chain in a kind of CCN |
CN109345242A (en) * | 2018-09-18 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | Key storage, update method, device, equipment and medium based on block chain |
CN110581854A (en) * | 2019-09-12 | 2019-12-17 | 北京笔新互联网科技有限公司 | intelligent terminal safety communication method based on block chain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390891A (en) * | 2018-03-28 | 2018-08-10 | 电子科技大学天府协同创新中心 | Information protecting method based on privately owned block chain |
CN108985089B (en) * | 2018-08-01 | 2020-08-07 | 清华大学 | Internet data sharing system |
CN110598454B (en) * | 2019-09-20 | 2021-07-06 | 腾讯科技(深圳)有限公司 | Data processing method and device in block chain, storage medium and computer equipment |
CN111127013B (en) * | 2019-12-24 | 2023-12-29 | 深圳大学 | Block chain-based decentralization data transaction method, device, equipment and medium |
CN111291421A (en) * | 2020-02-17 | 2020-06-16 | 深圳壹账通智能科技有限公司 | Block chain data authorization method, electronic device and computer readable storage medium |
-
2020
- 2020-10-10 CN CN202011075661.2A patent/CN111932263B/en active Active
- 2020-10-10 CN CN202110301194.9A patent/CN112967054B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534097A (en) * | 2016-10-27 | 2017-03-22 | 上海亿账通区块链科技有限公司 | Block chain trading based authority control method and system |
US20180121918A1 (en) * | 2016-11-03 | 2018-05-03 | Mastercard International Incorporated | Method and system for net settlement by use of cryptographic promissory notes issued on a blockchain |
CN107294709A (en) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | A kind of block chain data processing method, apparatus and system |
CN109039649A (en) * | 2018-08-03 | 2018-12-18 | 北京大学深圳研究生院 | Key management method, device and storage medium based on block chain in a kind of CCN |
CN109345242A (en) * | 2018-09-18 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | Key storage, update method, device, equipment and medium based on block chain |
CN110581854A (en) * | 2019-09-12 | 2019-12-17 | 北京笔新互联网科技有限公司 | intelligent terminal safety communication method based on block chain |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884674A (en) * | 2022-04-29 | 2022-08-09 | 蚂蚁区块链科技(上海)有限公司 | Block chain-based user data transfer method, device and equipment |
CN114884674B (en) * | 2022-04-29 | 2024-01-23 | 蚂蚁区块链科技(上海)有限公司 | User data circulation method, device and equipment based on block chain |
Also Published As
Publication number | Publication date |
---|---|
CN111932263A (en) | 2020-11-13 |
CN112967054B (en) | 2022-07-29 |
CN111932263B (en) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3058013C (en) | Managing sensitive data elements in a blockchain network | |
CN110060162B (en) | Data authorization and query method and device based on block chain | |
CN107862215B (en) | Data storage method, data query method and device | |
CN113255005B (en) | Block chain-based data asset circulation method, device and equipment | |
EP3962019B1 (en) | Trusted data transmission methods, apparatuses, and devices | |
CN112967054B (en) | Data management method, device and equipment | |
RU2531569C2 (en) | Secure and private backup storage and processing for trusted computing and data services | |
US11176282B2 (en) | Encrypting data associated with decentralized identifier | |
AU2019204712A1 (en) | Managing sensitive data elements in a blockchain network | |
CN110222531B (en) | Method, system and equipment for accessing database | |
CN111797415A (en) | Block chain based data sharing method, electronic device and storage medium | |
CN111814195B (en) | Data management method, device and equipment based on trusted hardware | |
CN111066019A (en) | Processing data elements stored in a blockchain network | |
GB2520056A (en) | Digital data retention management | |
CN117396869A (en) | System and method for secure key management using distributed ledger techniques | |
CN111193755B (en) | Data access method, data encryption method and data encryption and access system | |
CN114398623A (en) | Method for determining security policy | |
CN113709150A (en) | Data owner data sharing and using system | |
CN115048672A (en) | Data auditing method and device based on block chain, processor and electronic equipment | |
CN112232956B (en) | Intelligent parking data processing method and device based on blockchain | |
Verma et al. | Applications of Data Security and Blockchain in Smart City Identity Management | |
Bhosale et al. | Attribute-based storage control with smart de-duplication filter using hybrid cloud | |
Semwal et al. | Blockchain graphs (BCGs) to support right-to-be-forgotten “RTBF” in blockchains | |
Mounnan et al. | Efficient distributed access control using blockchain for big data in clouds | |
AU2021104564A4 (en) | Smart framework for providing privacy and protection in block chain based private transactions using cloud computing approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |