CN109361663B - Method, system and device for accessing encrypted data - Google Patents

Method, system and device for accessing encrypted data Download PDF

Info

Publication number
CN109361663B
CN109361663B CN201811179863.4A CN201811179863A CN109361663B CN 109361663 B CN109361663 B CN 109361663B CN 201811179863 A CN201811179863 A CN 201811179863A CN 109361663 B CN109361663 B CN 109361663B
Authority
CN
China
Prior art keywords
encrypted
client
encrypted data
key
management center
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.)
Expired - Fee Related
Application number
CN201811179863.4A
Other languages
Chinese (zh)
Other versions
CN109361663A (en
Inventor
潘云鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avic Trust Co ltd
Original Assignee
Avic Trust Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Avic Trust Co ltd filed Critical Avic Trust Co ltd
Priority to CN201811179863.4A priority Critical patent/CN109361663B/en
Publication of CN109361663A publication Critical patent/CN109361663A/en
Application granted granted Critical
Publication of CN109361663B publication Critical patent/CN109361663B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

The application discloses a method, a system and a device for accessing encrypted data, wherein the method comprises the following steps: the first key management center receives an encrypted data access request comprising an encrypted identifier and a first identity identifier and sends the encrypted data access request to the authorization center; if the authorization center judges that the second client authorizes the encryption access authority of the first client corresponding to the encryption identifier according to the first identity identifier, the second client authorizes the encryption access authority of the first client corresponding to the encryption identifier and then sends the encryption access authority to the second key management center; the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier, decrypts the first encrypted data to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center; and the first key management center decrypts the second encrypted data according to the first private key to obtain decrypted data and sends the decrypted data to the first client. Therefore, the authorization judgment of the authorization center is utilized to improve the flexibility, timeliness and manageability of the authorization of the encryption access authority, effectively protect the original encrypted data and reduce the leakage risk generated by the shared encryption key.

Description

Method, system and device for accessing encrypted data
Technical Field
The present application relates to the field of blockchain information security technologies, and in particular, to a method, a system, and a device for accessing encrypted data.
Background
At the present stage, with the development of science and technology, the application of a blockchain technology for realizing data exchange, processing and storage among multiple participating bodies based on the technical combination of modern cryptography, a distributed consistency protocol, a point-to-point network communication technology, an intelligent contract programming language and the like is more and more extensive, and the blockchain technology has the characteristics of distribution, openness and transparency, non-falsification, collective maintenance, privacy protection and the like. The mainstream block chain is divided into a public chain, a private chain and a alliance chain, wherein the alliance chain is formed by certain benefit cooperation, and each participant in the alliance chain has a strong data confidentiality requirement.
Generally, a business-related party of a federation chain can access business data linked by a plurality of other business-related parties, a non-business-related party cannot access business data of other members of the federation chain, and particularly, in the financial industry, the requirement on confidentiality of the financial business data is extremely high, and the access of encrypted data among all participating parties of the federation chain needs to be controlled. In the prior art, before a node related to a federation chain receives a private transaction, a transaction management center obtains corresponding encrypted data and an encryption key through a P2P connection mode, calls the transaction management center to obtain the encrypted data and the encryption key after the node receives the private transaction verification correlation, and decrypts the encrypted data by using the encryption key to obtain decrypted data so as to complete access to the encrypted data.
However, the inventor has found through research that, in the prior art, related nodes are connected and shared through P2P in advance to obtain encrypted data and an encryption key for private transactions, that is, the related nodes have encrypted access authorization, and there is a risk of leakage of the encrypted data and the encryption key, and the encrypted data cannot be effectively protected; and in the process of block chain data broadcasting, whether the related nodes have the encrypted access authorization is fixed, once the authorization cannot be withdrawn, and the flexibility, timeliness and manageability are poor.
Disclosure of Invention
The technical problem to be solved by the application is to provide a related method, a system and a related device for accessing encrypted data, which improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority by using the authorization judgment of an authorization center, realize the effective protection of the original encrypted data and reduce the leakage risk of the encrypted data on the premise of not sharing the encrypted data and the encryption key among all participating bodies in a alliance chain.
In a first aspect, an embodiment of the present application provides a method for accessing encrypted data, where the method is applied to an encrypted data access system, and the method includes:
a first key management center receives an encrypted data access request of a first client to a second client, which is sent by the first client, and sends the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center;
the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using a first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the second client performs processing authorization.
Optionally, the encrypted access right is obtained by the authorization center receiving the encrypted access granted by the second client to the first client, where the second client is actively sent by the second client.
Optionally, the method further includes:
and if the authorization center judges that the second client does not authorize the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center rejects the encrypted data access request.
In a second aspect, an embodiment of the present application provides a method for accessing encrypted data, where the method is applied to a first key management center, and the method includes:
receiving a data access request sent by a first client to a second client by the first client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
sending the encrypted data access request to an authorization center, so that if the authorization center judges that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, and the encryption key is generated and stored in advance by the second key management center;
receiving second encrypted data sent by the first key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data by using the encryption key to obtain decrypted data and encrypting the decrypted data by using a first public key, wherein the first public key is generated and sent by the first key management center in advance;
decrypting the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
In a third aspect, an embodiment of the present application provides a method for accessing encrypted data, where the method is applied to an authorization center, and the method includes:
receiving a data access request sent by a first key management center and sent by a first client and encrypted by the first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
if the encrypted access authority of the first client corresponding to the encrypted identifier is authorized by the second client according to the first identity identifier, sending the encrypted data access request to a second key management center, so that the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier, decrypting the first encrypted data by using the encrypted key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, sending the second encrypted data to the first key management center according to the first identity identifier, so that the first key management center decrypts the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the method further includes:
receiving an encrypted access permission request of the first client to the second client, which is sent by the first client;
sending the encrypted access permission request to the second client;
and receiving the encrypted access right sent by the second client after processing the encrypted access right authorization request.
Optionally, the method further includes:
and receiving the encrypted access authority, which is actively sent by the second client, of the second client to authorize the encrypted access of the first client.
Optionally, the method further includes:
and if the encrypted access authority of the first client corresponding to the encrypted identifier is not authorized by the second client according to the first identity identifier, rejecting the encrypted data access request.
In a fourth aspect, an embodiment of the present application provides a method for accessing encrypted data, where the method is applied to a second key management center, and the method includes:
if an authorization center judges that a second client side encrypts a data access request according to an encrypted access right of the second client side authorized by a first client side and corresponding to an encrypted identifier, wherein the encrypted data access request is sent by the authorization center and originated from the first client side and comprises a first identity identifier and the encrypted identifier corresponding to the first client side;
obtaining first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, and encrypting the decrypted data by using a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
and sending the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, wherein the first private key is generated and stored in advance by the first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
In a fifth aspect, an embodiment of the present application provides an encrypted data access system, where the apparatus includes: the system comprises a first key management center, an authorization center and a second key management center;
the first key management center is used for receiving an encrypted data access request of a first client to a second client, which is sent by the first client, and sending the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
the authorization center is used for judging and obtaining the encrypted access authority of the second client to authorize the first client to correspond to the encrypted identifier according to the first identity identifier, and the authorization center sends the encrypted data access request to a second key management center;
the second key management center is used for obtaining first encrypted data and an encrypted key according to the encrypted identifier, decrypting the first encrypted data by using the encrypted key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, and sending the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
the first key management center is further configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
In a sixth aspect, an embodiment of the present application provides an apparatus for accessing encrypted data, where the apparatus is applied to a first key management center, and the apparatus includes:
the first receiving unit is used for receiving an access request of a first client to encrypted data of a second client, which is sent by the first client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a first sending unit, configured to send the encrypted data access request to an authorization center, so that if the authorization center determines, according to the first identity identifier, that the second client authorizes the first client to obtain an encrypted access right corresponding to the encrypted identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, and the encryption key is generated and stored in advance by the second key management center;
a second receiving unit, configured to receive second encrypted data sent by the first key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data by using the encryption key to obtain decrypted data and encrypting the decrypted data by using a first public key, wherein the first public key is generated and sent by the first key management center in advance;
a decryption sending unit, configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
In a seventh aspect, an embodiment of the present application provides an apparatus for accessing encrypted data, where the apparatus is applied to an authorization center, and the apparatus includes:
a third receiving unit, configured to receive an encrypted data access request, sent by a first key management center, from a first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a second sending unit, configured to send the encrypted data access request to a second key management center if it is determined, according to the first identity identifier, that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier, enabling the second key management center to obtain first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, and to send the second encrypted data to the first key management center in accordance with the first identity, so that the first key management center decrypts the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
In an eighth aspect, an embodiment of the present application provides an apparatus for accessing encrypted data, where the apparatus is applied to a second key management center, and the apparatus includes:
a fourth receiving unit, configured to receive, if an authorization center determines, according to an encrypted data access request, sent by a first key management center, from a first client to a second client, that the first client includes a first identity and an encrypted identifier corresponding to the first client, and when it is determined that the second client authorizes an encrypted access right of the first client corresponding to the encrypted identifier, the encrypted data access request sent by the authorization center;
an obtaining unit, configured to obtain first encrypted data and an encryption key according to the encryption identifier, decrypt the first encrypted data with the encryption key to obtain decrypted data, and encrypt the decrypted data with a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
a third sending unit, configured to send the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key that is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, where the first private key is generated and stored in advance by the first key management center.
Compared with the prior art, the method has the advantages that:
by adopting the technical scheme of the embodiment of the application, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the description of the embodiments of the present application will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a signaling diagram of a method for accessing encrypted data in the prior art according to an embodiment of the present application;
fig. 2 is a schematic diagram of a system framework related to an application scenario provided in an embodiment of the present application;
fig. 3 is a signaling diagram of a method for accessing encrypted data according to an embodiment of the present application;
fig. 4 is a schematic flowchart of a method for accessing encrypted data according to an embodiment of the present application;
FIG. 5 is a schematic flow chart illustrating another method for accessing encrypted data according to an embodiment of the present disclosure;
FIG. 6 is a schematic flow chart illustrating another method for accessing encrypted data according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an encrypted data access system according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of an apparatus for encrypted data access according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of another apparatus for encrypted data access according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of another apparatus for encrypted data access according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Generally, the uplink service data confidentiality of the alliance chain formed in the financial industry is extremely high, and the access of encrypted data among all participating main bodies of the alliance chain needs to be controlled, service-related parties can access the service data uplink by a plurality of other service-related parties, and non-service-related parties cannot access the service data of other members of the alliance chain. For example, as shown in fig. 1, in a signaling diagram of a method for accessing encrypted data in the prior art, before a first federation chain related node receives a private transaction, a corresponding first transaction management center obtains encrypted data and an encryption key sent by a second transaction management center through a P2P connection, so that after the first federation chain related node obtains the private transaction from the second federation chain related node, whether service-related verification is performed, if so, the first federation chain related node sends a request for the first client to encrypt data to the second client to the first transaction management center, and the first transaction management center obtains the encrypted data and the encryption key, decrypts the encrypted data by using the encryption key, and then obtains decrypted data and returns to the first federation chain related node, thereby completing access to the encrypted data.
However, the inventor has found through research that in the prior art, the related nodes are connected and shared in advance through P2P to obtain the encrypted data and the encryption key for the private transaction, that is, the related nodes have encrypted access authorization, and there is a risk of leakage of the encrypted data and the encryption key, and the encrypted data cannot be effectively protected; and in the process of block chain data broadcasting, whether the related nodes have the encrypted access authorization is fixed, once the authorization cannot be withdrawn, and the flexibility, timeliness and manageability are poor.
In order to solve the problem, in the embodiment of the application, the first key management center receives an encrypted data access request which is sent by a first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
For example, one of the scenarios in the embodiment of the present application may be applied to the scenario shown in fig. 2, where the scenario includes a first client 201, a first key management center 202, a first blockchain node 203, an authorization center 204, a second client 205, a second key management center 206, and a second blockchain node 207. The big premise is as follows: the second client 205 firstly encrypts part of transaction data by calling the second key management center 206 to generate an encryption key, first encrypted data and a corresponding encryption identifier, assembles the encryption key, the first encrypted data and the corresponding encryption identifier into a transaction, and sends the transaction to the second blockchain node 207 for verification, and the verified second blockchain node 207 broadcasts the transaction to the first blockchain node 203; the first key management center 202 generates a first public key and a first private key that are symmetric, and transmits the first public key to the second key management center 206. The encryption key may be a symmetric key or an asymmetric key.
The first client 201 sends to the first key management center 202 an encrypted data access request comprising an encrypted identification and a first identity identification corresponding to the first client 201 for the second client 205 by the first client 201. The first key management center 202 sends an encrypted data access request to the authority 204. If the authorization center 204 determines, according to the identity, that the second client 205 authorizes the encrypted access right of the first client 201 corresponding to the encrypted identifier, the authorization center 204 sends an encrypted data access request to the second key management center 206. The second key management center 206 obtains the first encrypted data and the encryption key from the second blockchain node 207 according to the encryption identifier, decrypts the first encrypted data with the encryption key to obtain decrypted data, encrypts the decrypted data with the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center 202 according to the first identity identifier. The first key management center 202 decrypts the second encrypted data according to the first private key symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client 201.
It is to be understood that the above scenario is only one example of a scenario provided in the embodiment of the present application, and the embodiment of the present application is not limited to this scenario.
Specific implementation manners of the related method, the related system and the related device for accessing encrypted data in the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Exemplary method
The method comprises the following steps that a second client side firstly calls a second key management center to encrypt part of data, the second key management center generates an encryption key, the encryption key is used for encrypting the part of data to obtain first encrypted data, meanwhile, a unique identifier is generated to serve as an encryption identifier, the corresponding relation between the encryption identifier and the first encrypted data and the encryption key is established, the second client side obtains the first encrypted data and the encryption identifier returned by the second key management center, a transaction is assembled and sent to a corresponding second block chain node for verification, the transaction is broadcasted to the block chain node corresponding to the first client side after verification, and the first client side accesses the encrypted data of the second client side.
Referring to fig. 3, a signaling diagram of a method for accessing encrypted data in an embodiment of the present application is shown, and is applied to an encrypted data access system. In this embodiment, the method may include, for example, the steps of:
step 301: a first key management center receives an encrypted data access request of a first client to a second client, which is sent by the first client, and sends the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client.
It can be understood that for a first client to access encrypted data in second client broadcast data through a corresponding chunk node, the first client first sends a first client to second client encrypted data access request to a first key management center. In order to solve the problem that the original encrypted data cannot be effectively protected and the encrypted data leakage risk is aggravated because the shared encrypted data and the encryption key are connected through P2P in the prior art, in this embodiment, the first key management center does not obtain the stored encrypted data and the encryption key used for decrypting the encrypted data, so that an authorization center for judging whether the second client authorizes the first client to have the encrypted access right is newly added for performing a subsequent encrypted access process, and the first key management center needs to send an encrypted data access request to the authorization center so that the authorization center performs the encrypted access right judgment based on the encrypted data access request.
It should be noted that, because the encryption key generated by the second key management center adopts the encryption key to obtain the first encrypted data and simultaneously generates the unique identifier as the encryption identifier, establishes the corresponding relationship between the encryption identifier and the first encrypted data and the encryption key, and subsequently transmits the encryption identifier to the first client, when the first client generates the access request of the first client to the encrypted data of the second client, the first client also carries the encryption identifier, so that the corresponding content can be subsequently obtained based on the encryption identifier. Therefore, in some embodiments of this embodiment, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Step 302: and if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center.
It can be understood that, after the authorization center receives the encrypted data access request, based on the encrypted data access request including the first identity identifier and the encrypted identifier, it may be definitely required to determine whether the second client authorizes the first client to access the encrypted access right of the encrypted data. After determining the authorization, the encrypted data access request needs to be routed to the second key management center, since the authorization center also obtains the stored encrypted data and the encryption key used to decrypt the encrypted data.
It should be noted that the authorization of the first and second clients to encrypt the access right by the second client generally includes two manners, namely passive authorization and active authorization, which are specifically as follows:
firstly, passive authorization means that a second client processes an encrypted access permission request sent by a first client obtained through an authorization center, and a processing result is authorization and returns the processing result to the authorization center. Therefore, in some implementations of this embodiment, the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the authorization is processed by the second client.
Second, active authorization means that the second client actively sends an encrypted access right authorizing the first client to the authorization center. Therefore, in some implementations of this embodiment, the encrypted access right is obtained by the authorization center receiving that the second client actively sent by the second client authorizes the encrypted access of the first client.
It should be noted that, in some cases, the second client does not authorize the first client to access the encrypted access right of the encrypted data, in this case, the first client does not have the encrypted access right of the encrypted data of the second client, and the first client cannot access the encrypted data, that is, the authorization center cannot route and forward the encrypted data access request, but needs to deny the encrypted data access request. Therefore, in some embodiments of this embodiment, the method further comprises: and if the authorization center judges that the second client does not authorize the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center rejects the encrypted data access request.
Step 303: the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using a first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center.
It can be understood that, since the second key management center generates and stores the encryption key, and the first encrypted data is stored in the blockchain node corresponding to the second client, after the second key management center receives the encrypted data access request, first, the encryption key can be obtained based on the encryption identifier in the request; then, calling the block chain link point corresponding to the second client to obtain first encrypted data, wherein the specific process comprises the following steps: and the second key management center sends a first encrypted data acquisition request carrying an encrypted identifier to the block chain node corresponding to the second client, and the block chain node finds corresponding first encrypted data based on the encrypted identifier and returns the first encrypted data to the second key management center. After the first encrypted data and the encryption key are obtained, the first encrypted data is encrypted by the encryption key, so that the first encrypted data can be decrypted by the encryption key to obtain decrypted data, in order to guarantee the confidentiality of the data transmitted to the first key management center, and enable the first key management center to obtain the decrypted data without obtaining the encryption key, in the embodiment, the decrypted data cannot be directly transmitted after being obtained, but the decrypted data is encrypted again by the first public key generated by the first key management center to obtain second encrypted data so as to be transmitted to the first key management center.
It should be noted that the first public key may be generated by the first key management center and then sent to the second key management center in advance, or may be generated by the first key management center and then stored in the authorization center, and when accessing the encrypted data, the first public key is sent from the authorization center to the second key management center.
Step 304: the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
It can be understood that the first public key and the first private key are a pair of encryption keys generated and stored by the first key management center, and after receiving the second encrypted data obtained by encrypting the first public key, the first key management center can decrypt the second encrypted data by using the first private key stored by itself to obtain decrypted data, and finally return the decrypted data to the first client to complete the access of the first client to the second client encrypted data.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 4, a flowchart of a method for accessing encrypted data in the embodiment of the present application is shown, and is applied to a first key management center. In this embodiment, the method may include, for example, the steps of:
step 401: receiving a data access request sent by a first client to a second client by the first client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client.
Step 402: sending the encrypted data access request to an authorization center, so that if the authorization center judges that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encryption identifier, and the encryption key is generated and stored in advance by the second key management center.
Step 403: receiving second encrypted data sent by the first key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data with the encryption key to obtain decrypted data, and encrypting the decrypted data with a first public key, which is generated and transmitted in advance by the first key management center.
Step 404: decrypting the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
As can be seen from the foregoing embodiments, in some implementations of this embodiment, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 5, a flow chart of another method for accessing encrypted data in the embodiment of the present application is shown, which is applied to an authorization center. In this embodiment, the method may include, for example, the steps of:
step 501: receiving a data access request sent by a first key management center and sent by a first client and encrypted by the first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client.
Step 502: if the encrypted access authority of the first client corresponding to the encrypted identifier is authorized by the second client according to the first identity identifier, sending the encrypted data access request to a second key management center, so that the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier, decrypting the first encrypted data by using the encrypted key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, sending the second encrypted data to the first key management center according to the first identity identifier, so that the first key management center decrypts the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
As can be seen from the foregoing embodiments, in some implementations of this embodiment, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
It should be noted that, when the authorization center is used as an execution subject, it generally implements that the second client authorizes the encrypted access right of the first client, and the two ways are specifically as follows:
the first one is passive authorization, that is, the authorization center obtains an encrypted access right request sent by the first client and forwards the encrypted access right request to the second client, and obtains an authorization processing result after the second client processes the encrypted access right request. Therefore, in some embodiments of this embodiment, the method further comprises:
step A: receiving an encrypted access permission request of the first client to the second client, which is sent by the first client;
and B: sending the encrypted access permission request to the second client;
and C: and receiving the encrypted access right sent by the second client after processing the encrypted access right authorization request.
The second is active authorization, that is, receiving the authorization sent by the second client actively, the first client encrypts the access right. Therefore, in some embodiments of this embodiment, the method further comprises: and receiving the encrypted access authority, which is actively sent by the second client, of the second client to authorize the encrypted access of the first client.
It should be noted that, in some cases, the second client does not authorize the first client to access the encrypted access right of the encrypted data, in this case, the first client does not have the encrypted access right of the encrypted data of the second client, and the first client cannot access the encrypted data, that is, the authorization center cannot route and forward the encrypted data access request, but needs to deny the encrypted data access request. Therefore, in some embodiments of this embodiment, the method further comprises: and if the encrypted access authority of the first client corresponding to the encrypted identifier is not authorized by the second client according to the first identity identifier, rejecting the encrypted data access request.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 6, a schematic flowchart of another method for accessing encrypted data in the embodiment of the present application is shown, and is applied to the second key management center. In this embodiment, the method may include, for example, the steps of:
step 601: if the authorization center judges that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier according to the encrypted data access request sent by the first key management center and from the first client including the first identity identifier and the encrypted identifier corresponding to the first client, the authorization center receives the encrypted data access request sent by the authorization center.
Step 602: obtaining first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, and encrypting the decrypted data by using a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center.
Step 603: and sending the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, wherein the first private key is generated and stored in advance by the first key management center.
As can be seen from the foregoing embodiments, in some implementations of this embodiment, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Exemplary device
Referring to fig. 7, a schematic structural diagram of an encrypted data access system in an embodiment of the present application is shown. In this embodiment, the system may specifically include: a first key management center 701, an authorization center 702, and a second key management center 703;
the first key management center 701 is configured to receive an encrypted data access request, sent by a first client, from the first client to a second client, and send the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
the authorization center 702 is configured to determine, according to the first identity identifier, that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier, and send the encrypted data access request to a second key management center;
the second key management center 703 is configured to obtain first encrypted data and an encrypted key according to the encrypted identifier, decrypt the first encrypted data with the encrypted key to obtain decrypted data, encrypt the decrypted data with the first public key to obtain second encrypted data, and send the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
the first key management center 703 is further configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the second client performs processing authorization.
Optionally, the encrypted access right is obtained by the authorization center receiving the encrypted access granted by the second client to the first client, where the second client is actively sent by the second client.
Optionally, the authorization center 702 is further configured to:
and if the authorization center judges that the second client does not authorize the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center rejects the encrypted data access request.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 8, a schematic structural diagram of an apparatus for encrypted data access in an embodiment of the present application is shown, and is applied to a first key management center. In this embodiment, the apparatus may specifically include:
a first receiving unit 801, configured to receive an access request, sent by a first client, for a second client to encrypt data; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a first sending unit 802, configured to send the encrypted data access request to an authorization center, so that if the authorization center determines, according to the first identity identifier, that the second client authorizes the first client to obtain an encrypted access right corresponding to the encrypted identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, and the encryption key is generated and stored in advance by the second key management center;
a second receiving unit 803, configured to receive second encrypted data sent by the first key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data by using the encryption key to obtain decrypted data and encrypting the decrypted data by using a first public key, wherein the first public key is generated and sent by the first key management center in advance;
a decryption sending unit 804, configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the second client performs processing authorization.
Optionally, the encrypted access right is obtained by the authorization center receiving the encrypted access granted by the second client to the first client, where the second client is actively sent by the second client.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 9, a schematic structural diagram of another apparatus for encrypted data access in the embodiment of the present application is shown, which is applied to an authorization center. In this embodiment, the apparatus may specifically include:
a third receiving unit 901, configured to receive an encrypted data access request, sent by a first key management center, from a first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a second sending unit 902, configured to send the encrypted data access request to a second key management center if it is determined, according to the first identity identifier, that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier, enabling the second key management center to obtain first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, and to send the second encrypted data to the first key management center in accordance with the first identity, so that the first key management center decrypts the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the apparatus further comprises:
a fifth receiving unit, configured to receive an access permission request, sent by the first client, encrypted by the first client to the second client;
a fourth sending unit, configured to send the encrypted access permission request to the second client;
a sixth receiving unit, configured to receive the encrypted access permission sent by the second client after processing the encrypted access permission request.
Optionally, the apparatus further comprises:
a seventh receiving unit, configured to receive an encrypted access permission that is actively sent by the second client and granted to the first client for encrypted access by the second client.
Optionally, the apparatus further comprises:
and the rejecting unit is used for rejecting the encrypted data access request if the encrypted access authority of the first client corresponding to the encrypted identifier is not authorized by the second client according to the first identity identifier.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
Referring to fig. 10, a schematic structural diagram of another apparatus for encrypted data access in the embodiment of the present application is shown, and is applied to a second key management center. In this embodiment, the apparatus may specifically include:
a fourth receiving unit 1001, configured to receive, if an authorization center determines, according to an encrypted data access request, sent by a first key management center, from a first client and received from a second client, that the first client includes a first identity identifier and an encrypted identifier corresponding to the first client, and when it is determined that the second client authorizes an encrypted access right of the first client corresponding to the encrypted identifier, the encrypted data access request sent by the authorization center;
an obtaining unit 1002, configured to obtain first encrypted data and an encryption key according to the encryption identifier, decrypt the first encrypted data with the encryption key to obtain decrypted data, and encrypt the decrypted data with a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
a third sending unit 1003, configured to send the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, where the first private key is generated and stored in advance by the first key management center.
Optionally, the encrypted identifier is a unique identifier generated by the second key management center and corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
Optionally, the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the second client performs processing authorization.
Optionally, the encrypted access right is obtained by the authorization center receiving the encrypted access granted by the second client to the first client, where the second client is actively sent by the second client.
Through various implementation manners provided by the embodiment, the first key management center receives an encrypted data access request which is sent by the first client and comprises an encrypted identifier and a first identity identifier corresponding to the first client; sending an encrypted data access request to an authorization center; if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends an encrypted data access request to the second key management center; the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using the first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain decrypted data, and sends the decrypted data to the first client. Therefore, the second key management center does not send the first encrypted data and the encrypted key to the first key management center any more, but utilizes the authorization judgment of the authorization center to improve the flexibility, timeliness and manageability of the authorization of the encrypted access authority, so that the original encrypted data is effectively protected on the premise that the encrypted data and the encrypted key are not shared among all participating bodies in a alliance chain, and the encrypted data leakage risk is reduced.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. 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 identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing is merely a preferred embodiment of the present application and is not intended to limit the present application in any way. Although the present application has been described with reference to the preferred embodiments, it is not intended to limit the present application. Those skilled in the art can now make numerous possible variations and modifications to the disclosed embodiments, or modify equivalent embodiments, using the methods and techniques disclosed above, without departing from the scope of the claimed embodiments. Therefore, any simple modification, equivalent change and modification made to the above embodiments according to the technical essence of the present application still fall within the protection scope of the technical solution of the present application without departing from the content of the technical solution of the present application.

Claims (18)

1. A method for accessing encrypted data, which is applied to an encrypted data access system, comprises the following steps:
a first key management center receives an encrypted data access request of a first client to a second client, which is sent by the first client, and sends the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
if the authorization center judges that the second client authorizes the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center;
the second key management center obtains first encrypted data and an encryption key according to the encryption identifier, decrypts the first encrypted data by using the encryption key to obtain decrypted data, encrypts the decrypted data by using a first public key to obtain second encrypted data, and sends the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
2. The method according to claim 1, wherein the encrypted identification is a unique identification generated by the second key management center corresponding to each of the first encrypted data, the encryption key, and the encrypted-data access request.
3. The method according to claim 1, wherein the encrypted access right is obtained by the authorization center receiving an encrypted access right request sent by the first client, sending the encrypted access right request to the second client, and returning the encrypted access right request to the authorization center after the authorization is processed by the second client.
4. The method of claim 1, wherein the encrypted access right is obtained by the rights issuer receiving a request from the second client that the second client actively sends, that the second client authorizes the encrypted access of the first client.
5. The method of claim 1, further comprising:
and if the authorization center judges that the second client does not authorize the encrypted access authority of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center rejects the encrypted data access request.
6. A method for accessing encrypted data, applied to a first key management center, comprising:
receiving a data access request sent by a first client to a second client by the first client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
sending the encrypted data access request to an authorization center, so that if the authorization center judges that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier according to the first identity identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, and the encryption key is generated and stored in advance by the second key management center;
receiving second encrypted data sent by the second key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data by using the encryption key to obtain decrypted data and encrypting the decrypted data by using a first public key, wherein the first public key is generated and sent by the first key management center in advance;
decrypting the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
7. The method according to claim 6, wherein the encrypted identification is a unique identification generated by the second key management center corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
8. A method for accessing encrypted data, applied to an authorization center, comprising:
receiving a data access request sent by a first key management center and sent by a first client and encrypted by the first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
if the encrypted access authority of the first client corresponding to the encrypted identifier is authorized by the second client according to the first identity identifier, sending the encrypted data access request to a second key management center, so that the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier, decrypting the first encrypted data by using the encrypted key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, sending the second encrypted data to the first key management center according to the first identity identifier, so that the first key management center decrypts the second encrypted data according to a first private key symmetrical to the first public key to obtain the decrypted data, and sending the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
9. The method according to claim 8, wherein the encrypted identification is a unique identification generated by the second key management center corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
10. The method of claim 8, further comprising:
receiving an encrypted access permission request of the first client to the second client, which is sent by the first client;
sending the encrypted access permission request to the second client;
and receiving the encrypted access right sent by the second client after processing the encrypted access right authorization request.
11. The method of claim 8, further comprising:
and receiving the encrypted access authority, which is actively sent by the second client, of the second client to authorize the encrypted access of the first client.
12. The method of claim 8, further comprising:
and if the encrypted access authority of the first client corresponding to the encrypted identifier is not authorized by the second client according to the first identity identifier, rejecting the encrypted data access request.
13. A method for accessing encrypted data, applied to a second key management center, comprising:
if an authorization center judges that a second client side encrypts a data access request according to an encrypted access right of the second client side authorized by a first client side and corresponding to an encrypted identifier, wherein the encrypted data access request is sent by the authorization center and originated from the first client side and comprises a first identity identifier and the encrypted identifier corresponding to the first client side;
obtaining first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, and encrypting the decrypted data by using a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
and sending the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key which is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, wherein the first private key is generated and stored in advance by the first key management center.
14. The method according to claim 13, wherein the encrypted identification is a unique identification generated by the second key management center corresponding to each of the first encrypted data, the encryption key, and the encrypted data access request.
15. An encrypted data access system, comprising: the system comprises a first key management center, an authorization center and a second key management center;
the first key management center is used for receiving an encrypted data access request of a first client to a second client, which is sent by the first client, and sending the encrypted data access request to an authorization center; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
the authorization center is used for judging and obtaining the encrypted access authority of the second client to authorize the first client to correspond to the encrypted identifier according to the first identity identifier, and the authorization center sends the encrypted data access request to a second key management center;
the second key management center is used for obtaining first encrypted data and an encrypted key according to the encrypted identifier, decrypting the first encrypted data by using the encrypted key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, and sending the second encrypted data to the first key management center according to the first identity identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
the first key management center is further configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
16. An apparatus for accessing encrypted data, applied to a first key management center, comprising:
the first receiving unit is used for receiving an access request of a first client to encrypted data of a second client, which is sent by the first client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a first sending unit, configured to send the encrypted data access request to an authorization center, so that if the authorization center determines, according to the first identity identifier, that the second client authorizes the first client to obtain an encrypted access right corresponding to the encrypted identifier, the authorization center sends the encrypted data access request to a second key management center, and the second key management center obtains first encrypted data and an encrypted key according to the encrypted identifier; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, and the encryption key is generated and stored in advance by the second key management center;
a second receiving unit, configured to receive second encrypted data sent by the second key management center according to the first identity; the second encrypted data is obtained by the second key management center decrypting the first encrypted data by using the encryption key to obtain decrypted data and encrypting the decrypted data by using a first public key, wherein the first public key is generated and sent by the first key management center in advance;
a decryption sending unit, configured to decrypt the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and send the decrypted data to the first client; the first private key is generated and stored in advance by a first key management center.
17. An apparatus for accessing encrypted data, applied to an authorization center, comprising:
a third receiving unit, configured to receive an encrypted data access request, sent by a first key management center, from a first client to a second client; the encrypted data access request comprises an encrypted identifier and a first identity identifier corresponding to the first client;
a second sending unit, configured to send the encrypted data access request to a second key management center if it is determined, according to the first identity identifier, that the second client authorizes the encrypted access right of the first client corresponding to the encrypted identifier, enabling the second key management center to obtain first encrypted data and an encryption key according to the encryption identifier, decrypting the first encrypted data by using the encryption key to obtain decrypted data, encrypting the decrypted data by using a first public key to obtain second encrypted data, and to send the second encrypted data to the first key management center in accordance with the first identity, so that the first key management center decrypts the second encrypted data according to a first private key symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, the first public key is generated and sent in advance by the first key management center, and the first private key is generated and stored in advance by the first key management center.
18. An apparatus for accessing encrypted data, applied to a second key management center, comprising:
a fourth receiving unit, configured to receive, if an authorization center determines, according to an encrypted data access request, sent by a first key management center, from a first client to a second client, that the first client includes a first identity and an encrypted identifier corresponding to the first client, and when it is determined that the second client authorizes an encrypted access right of the first client corresponding to the encrypted identifier, the encrypted data access request sent by the authorization center;
an obtaining unit, configured to obtain first encrypted data and an encryption key according to the encryption identifier, decrypt the first encrypted data with the encryption key to obtain decrypted data, and encrypt the decrypted data with a first public key to obtain second encrypted data; the first encrypted data is determined and returned by the block chain node corresponding to the second client based on the encrypted identifier, the encryption key is generated and stored in advance by the second key management center, and the first public key is generated and sent in advance by the first key management center;
a third sending unit, configured to send the second encrypted data to the first key management center according to the first identity, so that the first key management center decrypts the second encrypted data according to a first private key that is symmetric to the first public key to obtain the decrypted data, and sends the decrypted data to the first client, where the first private key is generated and stored in advance by the first key management center.
CN201811179863.4A 2018-10-10 2018-10-10 Method, system and device for accessing encrypted data Expired - Fee Related CN109361663B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811179863.4A CN109361663B (en) 2018-10-10 2018-10-10 Method, system and device for accessing encrypted data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811179863.4A CN109361663B (en) 2018-10-10 2018-10-10 Method, system and device for accessing encrypted data

Publications (2)

Publication Number Publication Date
CN109361663A CN109361663A (en) 2019-02-19
CN109361663B true CN109361663B (en) 2021-05-28

Family

ID=65349082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811179863.4A Expired - Fee Related CN109361663B (en) 2018-10-10 2018-10-10 Method, system and device for accessing encrypted data

Country Status (1)

Country Link
CN (1) CN109361663B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688163B (en) * 2019-02-20 2021-11-30 中国联合网络通信集团有限公司 Data processing method, device and equipment based on alliance chain and storage medium
CN110020857A (en) 2019-02-27 2019-07-16 阿里巴巴集团控股有限公司 A kind of method and device for storing, calling block chain account private key
CN111143870B (en) * 2019-12-30 2022-05-13 兴唐通信科技有限公司 Distributed encryption storage device, system and encryption and decryption method
CN112669147B (en) * 2019-12-31 2023-09-26 蚂蚁区块链科技(上海)有限公司 Service request method and device based on block chain
US11265152B2 (en) * 2020-01-09 2022-03-01 Western Digital Technologies, Inc. Enrolment of pre-authorized device
CN111431857B (en) * 2020-02-27 2022-09-27 深圳壹账通智能科技有限公司 Authorized access method and device for super account book and storage medium
CN112835912B (en) * 2021-04-20 2021-08-03 卓尔智联(武汉)研究院有限公司 Data storage method and device based on block chain and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557289A (en) * 2009-05-13 2009-10-14 大连理工大学 Storage safe key management method based on ID authentication
CN104618096A (en) * 2014-12-30 2015-05-13 华为技术有限公司 Method and device for protecting secret key authorized data, and TPM (trusted platform module) secrete key management center
CN106503574A (en) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 Block chain safe storage method
CN106534092A (en) * 2016-11-02 2017-03-22 西安电子科技大学 Message-based and key-dependent privacy data encryption method
CN106911641A (en) * 2015-12-23 2017-06-30 索尼公司 For authorizing the client terminal device for accessing, server unit and access control system
CN108322451A (en) * 2018-01-12 2018-07-24 深圳壹账通智能科技有限公司 Data processing method, device, computer equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243366B2 (en) * 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557289A (en) * 2009-05-13 2009-10-14 大连理工大学 Storage safe key management method based on ID authentication
CN104618096A (en) * 2014-12-30 2015-05-13 华为技术有限公司 Method and device for protecting secret key authorized data, and TPM (trusted platform module) secrete key management center
CN106911641A (en) * 2015-12-23 2017-06-30 索尼公司 For authorizing the client terminal device for accessing, server unit and access control system
CN106503574A (en) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 Block chain safe storage method
CN106534092A (en) * 2016-11-02 2017-03-22 西安电子科技大学 Message-based and key-dependent privacy data encryption method
CN108322451A (en) * 2018-01-12 2018-07-24 深圳壹账通智能科技有限公司 Data processing method, device, computer equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Privacy-Preserving and Efficient Aggregation Based on Blockchain for Power Grid Communications in Smart Communities;Zhitao Guan;《IEEE Communications Magazine》;20180725;第56卷(第7期);全文 *
分布式网络环境下基于区块链的密钥管理方案;戴千一;《网络与信息安全学报》;20180915(第9期);全文 *

Also Published As

Publication number Publication date
CN109361663A (en) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109361663B (en) Method, system and device for accessing encrypted data
US20200344063A1 (en) Authentication method, authentication apparatus, and authentication system
CN111585749B (en) Data transmission method, device, system and equipment
US9465950B2 (en) Methods, apparatuses, and computer-readable storage media for securely accessing social networking data
US9137223B2 (en) Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer
CN109660485A (en) A kind of authority control method and system based on the transaction of block chain
CN105931337A (en) Electronic lock device and system and authorizing method of electronic lock system
KR20180095873A (en) Wireless network access method and apparatus, and storage medium
CN108880995B (en) Block chain-based unfamiliar social network user information and message pushing encryption method
US7266705B2 (en) Secure transmission of data within a distributed computer system
US20190342083A1 (en) Data encryption control using multiple controlling authorities
CN111866042B (en) Method and device for synchronizing telecommunication account number change
Kravitz Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity
US11792186B2 (en) Secure peer-to-peer based communication sessions via network operating system in secure data network
US20150065089A1 (en) Network application function authorisation in a generic bootstrapping architecture
JP2007525125A (en) Public key transmission by mobile terminal
He et al. An accountable, privacy-preserving, and efficient authentication framework for wireless access networks
CN102893579B (en) For provide method, node and the equipment of bill in communication system
CN113643134A (en) Internet of things block chain transaction method and system based on multi-key homomorphic encryption
CN112019553B (en) Data sharing method based on IBE/IBBE
CN110233836B (en) Communication verification method, device, system and computer readable storage medium
CN1929377B (en) Method and system for communication identification query
JP2003318875A (en) Method for group cryptographic communication, certification method, computer, and program
WO2022185328A1 (en) System and method for identity-based key agreement for secure communication
CN112615721A (en) Access authentication and authority management control flow method of spatial information network based on block chain

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210528

Termination date: 20211010