WO2019214211A1 - 基于区块链的用户数据授权方法、介质、装置和计算设备 - Google Patents

基于区块链的用户数据授权方法、介质、装置和计算设备 Download PDF

Info

Publication number
WO2019214211A1
WO2019214211A1 PCT/CN2018/117208 CN2018117208W WO2019214211A1 WO 2019214211 A1 WO2019214211 A1 WO 2019214211A1 CN 2018117208 W CN2018117208 W CN 2018117208W WO 2019214211 A1 WO2019214211 A1 WO 2019214211A1
Authority
WO
WIPO (PCT)
Prior art keywords
user data
application client
authorization
blockchain
encrypted user
Prior art date
Application number
PCT/CN2018/117208
Other languages
English (en)
French (fr)
Inventor
陈刚
罗尚虎
郭忆
张永翔
Original Assignee
网易(杭州)网络有限公司
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 网易(杭州)网络有限公司 filed Critical 网易(杭州)网络有限公司
Priority to US17/044,250 priority Critical patent/US11520912B2/en
Publication of WO2019214211A1 publication Critical patent/WO2019214211A1/zh

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Definitions

  • a blockchain-based user data authorization method is provided.
  • the method is applied to a first application client, and includes: sending encrypted user data of user data to a blockchain node. So that each block chain node stores the encrypted user data in the corresponding blockchain database; in response to the second application client obtaining the request for the user data, generating authorization information; notifying the second application client according to the preset rule Obtaining the foregoing authorization information, so that the second application client obtains the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and acquires the user data based on the encrypted user data and the authorization information.
  • determining whether the second application client has the obtaining authority comprises: displaying an authorization query dialog box; and when receiving the confirmation input for the authorization query, determining that the second application client has the obtaining authority; And, when receiving the denial input for the authorization query, it is determined that the second application client does not have the acquisition authority.
  • the encrypted user data of the user data includes: encrypted user data obtained by encrypting the user data by using an encryption key.
  • the authorization module is configured to generate authorization information based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data, so that the second application client obtains the identifier of the encrypted user data after obtaining the authorization information.
  • the information obtains the encrypted user data from the blockchain database corresponding to the blockchain node, and decrypts the encrypted user data by using the decryption key to obtain the user data.
  • a medium storing computer-executable instructions, when executed by a processor, for implementing: the blockchain-based according to any one of the above embodiments User data authorization method.
  • a computing device including: a memory, a processor, and executable instructions stored on the memory and executable on the processor, which are implemented when the processor executes the instructions:
  • FIG. 1 is a schematic diagram showing an application scenario of a blockchain-based user data authorization method and an apparatus thereof according to an embodiment of the present invention
  • FIG. 5B is a block diagram schematically showing a blockchain-based user data authorization apparatus according to still another embodiment of the present invention.
  • embodiments of the present invention can be implemented as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the form of full hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
  • an embodiment of the present invention provides a blockchain-based user data authorization method and apparatus. From the perspective of a first application client, the method includes: transmitting encrypted user data of user data to a blockchain node, And causing each blockchain node to store the encrypted user data in the corresponding blockchain database; generating authorization information in response to the request of the second application client to obtain the user data; and informing the second application client to obtain according to a preset rule.
  • the authorization information is obtained, so that the second application client obtains the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and acquires the user data based on the encrypted user data and the authorization information.
  • the first application client stores the encrypted user data of the formed user data into the blockchain database, so that the encrypted user data is not tampered with, and the encrypted user data is used to make the corresponding real user data not be Give way.
  • the first application client When the second application client needs to use the user data, the first application client generates authorization information for the request of the second application client, so that the second application client can be based on the authorization information and the encrypted user data in the blockchain database.
  • Obtaining the corresponding user data forming a secure and effective user data authorization scheme to realize the sharing of user data between different applications, and ensuring the interconnection and intercommunication between different applications under the premise of having security boundaries.
  • FIG. 1 is a schematic diagram showing an application scenario of a blockchain-based user data authorization method and an apparatus thereof according to an embodiment of the present invention.
  • the terminal device 100 is included in the terminal device 100.
  • the terminal device 100 can be a variety of electronic devices having a display screen and supporting application client operations, including but not limited to smartphones, tablets, laptop portable computers, desktop computers, and the like.
  • Each of the application clients APP1, APP2, and APP3 may be any application client, for example, a social application client, an office application client, an entertainment application client, or the like.
  • the APP1 server may be a server or a server cluster
  • the APP2 server may be a server or a server cluster
  • the APP3 server may be a server or a server cluster, and no limitation is imposed herein.
  • the network between the application client and its corresponding server may include various connection types, such as wired, wireless communication links, fiber optic cables, and the like.
  • terminal devices, application clients, and servers in FIG. 1 is merely illustrative. Depending on the implementation needs, there can be any number of terminal devices, application clients, and servers.
  • a blockchain-based user data authorization method will be described below with reference to FIG. 2 to FIG. 3 in conjunction with the application scenario of FIG. 1. It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principle of the present invention, and embodiments of the present invention are not limited in this respect. Rather, embodiments of the invention may be applied to any scenario that is applicable.
  • FIG. 2 is a flow chart diagrammatically showing a blockchain based user data authorization method for a first application client, in accordance with one embodiment of the present invention. As shown in FIG. 2, the method includes the following operations:
  • the encrypted user data of the user data is sent to the blockchain node, so that each blockchain node stores the encrypted user data in the corresponding blockchain database;
  • Operation S202 generating authorization information in response to the request of the second application client to obtain the user data
  • the second application client is notified to obtain the authorization information according to the preset rule, so that the second application client obtains the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and The user data is acquired based on the encrypted user data and the authorization information.
  • the first application client stores the encrypted user data of the formed user data into the blockchain database through the blockchain node, and on the other hand, the data in the blockchain database is utilized.
  • the tampered feature makes encrypted user data stored in the blockchain database not tampered with, and on the other hand uses encrypted user data so that the corresponding real user data is not leaked.
  • the second application client sends a request to the first application client, and the first application client generates authorization information for the request, so that the second application is used.
  • the client can obtain corresponding encrypted user data from the blockchain database based on the authorization information, and further can obtain corresponding user data based on the authorization information and the acquired encrypted user data, thereby forming a safe and effective user.
  • the data authorization scheme realizes the sharing of user data between different applications, and ensures the interconnection between different applications under the premise of having security boundaries.
  • the user data may be various user-related data generated during the process of using the first application client, such as personal information of the user, friend relationship of the user, behavior data of the user, and the like.
  • the first application client can also be any application client. After generating the user data, the first application client generates encrypted user data based on the user data, and sends the encrypted user data to the blockchain node, so that each block chain node stores the encrypted user data into the corresponding blockchain. In the database.
  • the blockchain network in the solution is composed of a plurality of blockchain endorsement nodes and a blockchain consensus node
  • the blockchain node in the operation S201 may specifically be a blockchain endorsement node.
  • the first application client sends the encrypted user data to the blockchain endorsement node
  • the blockchain endorsement node sends a request to the blockchain consensus node to wait for the blockchain consensus node to perform consensus verification on the data in the processing pool, and each block chain endorsement node According to the consensus verification, the encrypted user data is stored in the corresponding blockchain database.
  • the encrypted user data of the user data in operation S201 includes: encrypted user data obtained by encrypting the user data with an encryption key.
  • the generating the authorization information by the operation S202 includes: generating the authorization information based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • the operation S203 is configured to enable the second application client to obtain the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and acquire the user based on the encrypted user data and the authorization information.
  • the data includes: after the second application client obtains the authorization information, acquiring the encrypted user data from the blockchain database corresponding to the blockchain node according to the identification information of the encrypted user data in the authorization information. And decrypting the encrypted user data by using a decryption key in the authorization information to obtain the user data.
  • the method shown in FIG. 2 may further include: receiving identifier information of the encrypted user data returned by the blockchain node after storing the encrypted user data in the blockchain database.
  • the first application client after generating the user data X, the first application client encrypts the user data X by using a certain encryption key P to obtain encrypted user data X', and the decryption key corresponding to the encryption key P is P'.
  • An application client sends the encrypted user data X' to the blockchain node, so that each blockchain node stores the encrypted user data X' in the corresponding blockchain database, and the first application client receives the blockchain.
  • the identification information of the encrypted user data X' returned by the node after storing the encrypted user data X' in the blockchain database indicates that the encrypted user data X' is stored in the blockchain database in the identification information of the encrypted user data X'. In the data structure for the index.
  • the first application client generates authorization information based on the identification information of the decryption key P' and the encrypted user data X' in response to the request of the second application client to acquire the user data X.
  • the first application client notifies the second application client, and the second application client obtains the authorization information according to the preset rule, and the identifier information of the encrypted user data X′ in the authorization information is from the region corresponding to any blockchain node.
  • the corresponding encrypted user data X' is obtained in the blockchain database, and the encrypted user data X' is decrypted by using the decryption key in the authorization information as P' to obtain the user data X.
  • the encrypted user data of the user data in operation S201 includes encrypted user data obtained by encrypting a hash value of the user data using an encryption key.
  • the generating the authorization information by the operation S202 includes: generating the authorization information based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • operation S203 is configured to enable the second application client to acquire the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and acquire the user based on the encrypted user data and the authorization information.
  • the data includes: after the second application client obtains the authorization information, acquiring the encrypted user data from the blockchain database corresponding to the blockchain node according to the identification information of the encrypted user data in the authorization information. Decrypting the encrypted user data by using a decryption key in the authorization information to obtain a hash value of the user data, and verifying that the received user data is correct according to a hash value of the user data It is determined that the user data is obtained.
  • the data X is sent to the second application client, and the process of sending the backup user data X may be performed by the first application client, the first application server, and/or other third-party storage servers, and is not limited herein.
  • the first application client notifies the second application client, and the second application client obtains the authorization information M according to the preset rule, and the identifier information of the encrypted user data X′ in the authorization information M is corresponding to any blockchain node.
  • the corresponding encrypted user data X' is obtained in the blockchain database, and the encrypted user data X' is decrypted by using the decryption key in the authorization information as P' to obtain a hash value of the user data X.
  • the second application client verifies whether the received backup user data X is the correct user data X according to the obtained hash value of the user data X, and indicates that the backup user data X is not in the process of storage and/or transmission. Tampering, can be used, otherwise the backup user data X is tampered with during storage and/or transmission and cannot be used.
  • the solution enables the first application client to authorize the second application client to use the user data X generated by the first application client.
  • the public key and the private key of the second application client are utilized to play a role in obtaining the authorization information by the second application client.
  • the identifier information of the second application client and the public key of the second application client are correspondingly stored in the blockchain database corresponding to each blockchain node, that is, the public key of the second application client is stored in the blockchain database.
  • the identification information of the second application client is in the data structure of the index.
  • the data structure may be in the form of a key value pair, and the identification information of the second application client is used as a key, and the public key of the second application client is a value.
  • the 2 further includes: obtaining, according to the request for acquiring the user data by the second application client, the identifier information of the second application client; and the block corresponding to the blockchain node according to the identifier information of the second application client.
  • the public key of the second application client is obtained in the chain database.
  • the operation S202 based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data, generating the authorization information, including: using the public key of the second application client, the decryption key and the encrypted user data.
  • the identification information is encrypted to obtain authorization information.
  • the second application client decrypts the authorization information by using the private key of the second application client to obtain the decryption key and the identification information of the encrypted user data.
  • the encryption key for encrypting the hash value of the user data or the user data may be an encryption key that dynamically changes according to a preset change rule. For example, it may be an encryption key that changes according to different time periods, and an encryption key that changes according to different user data. Accordingly, different encryption keys correspond to different decryption keys. Then, for the generated user data, an encryption key and a decryption key corresponding to the user data are stored.
  • the first application client may locally maintain an encryption key and a decryption key corresponding to each user data, and may also maintain an encryption key and a decryption key corresponding to the user data through other application clients or storage servers. Make restrictions.
  • the time control of the second application authorization authority can be implemented by using the encryption key changed according to the time period. For example, the second application applies for the authorization to the first application, and the authorized authorization authority is valid only for a certain period of time. .
  • the method shown in FIG. 2 further includes: the first application client acquiring the identification information of the second application client in response to the request of the second application client to obtain the user data.
  • the first application client sends the authorization information and the identifier information of the second application client to the blockchain node, so that each blockchain node performs the authorization according to the identification information of the second application client.
  • the information is stored in the corresponding blockchain database.
  • the authorization information is stored in the blockchain database in a data structure indexed by the identification information of the second application client.
  • the operation S203 notifying the second application client to obtain the authorization information according to the preset rule includes: notifying the second application client, so that the second application client is from the block corresponding to the blockchain node according to the identification information of the second application client.
  • the authorization information is obtained in a chain database.
  • the authorization information is also stored in the blockchain database to ensure that the authorization information is not tampered with.
  • a data structure indexed by the identification information of each application client is stored.
  • the data structure may be in the form of a key-value pair, and the identification information of the application client is used as a key, and the related data of the authorization information is The value, the related data of the authorization information may be the authorization information itself, or a multi-group data composed of the authorization information and other information.
  • one or more authorization information corresponding to the user data is stored, and different authorization information may be distinguished by different identifiers, for example, by using a serial number, The distinction is made by the time stamp, and the user identification information corresponding to the user can be distinguished, and so on.
  • the second application client obtains an authorization information M according to the preset rule, first searching for the second application from the blockchain database corresponding to any blockchain node according to the identification information of the second application client.
  • the identification information of the client is related data of the index authorization information, and the authorization information M is found by the serial number, the time stamp, and/or the user identification information in the related data of the authorization information.
  • the rights of the second application client may be checked to determine whether the second application client can be authorized.
  • the operation S202 of the method shown in FIG. 2 is responsive to the request of the second application client to obtain the user data, and the generating the authorization information includes: determining whether the second application client has the acquisition right, and having the second application client In the case of permissions, authorization information is generated.
  • whether the second application client has the acquisition authority can be determined by querying the user.
  • the determining whether the second application client has the acquisition permission includes: displaying the authorization query dialog box; when receiving the confirmation input for the authorization query, determining The second application client has the acquisition authority; and when the denial input for the authorization inquiry is received, it is determined that the second application client does not have the acquisition authority.
  • a request for acquiring user data is sent to the first application client.
  • the encrypted user data corresponding to the user data is obtained from the blockchain database corresponding to the blockchain node based on the authorization information; and the user data is obtained based on the encrypted user data and the authorization information.
  • the first application client when the second application client needs to use user data generated by the first application client different from the second application client, the first application client sends a request for acquiring user data and Obtaining corresponding authorization information, obtaining corresponding encrypted user data from the blockchain database based on the authorization information, and further acquiring corresponding user data based on the authorization information and the acquired encrypted user data.
  • the encrypted user data is stored in the blockchain database.
  • the data in the blockchain database cannot be tampered with so that the encrypted user data is not tampered with, and on the other hand, the encrypted user data is used to make the corresponding real user. Data is not leaked, forming a secure and effective user data authorization scheme to share user data between different applications, ensuring interoperability between different applications with security boundaries.
  • the encrypted user data of the user data includes encrypted user data obtained by encrypting the user data with an encryption key.
  • the authorization information is generated based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • the operation S303 according to the authorization information, acquiring the encrypted user data corresponding to the user data from the blockchain database corresponding to the blockchain node, includes: corresponding to the blockchain node according to the identifier information of the encrypted user data in the authorization information.
  • the encrypted user data is obtained in a blockchain database.
  • the obtaining, by the user S303, the user data based on the encrypted user data and the authorization information comprises: decrypting the encrypted user data by using a decryption key in the authorization information to obtain the user data.
  • the encrypted user data of the user data includes encrypted user data obtained by encrypting a hash value of the user data with an encryption key.
  • the authorization information is generated based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • the method shown in FIG. 3 further includes: the second application client receiving backup user data pre-stored by the first application client, the first application server, and/or other storage servers.
  • the operation S303, according to the authorization information, acquiring the encrypted user data corresponding to the user data from the blockchain database corresponding to the blockchain node, includes: corresponding to the blockchain node according to the identifier information of the encrypted user data in the authorization information.
  • the encrypted user data is obtained in a blockchain database.
  • the obtaining, by the user S303, the user data based on the encrypted user data and the authorization information comprises: decrypting the encrypted user data by using a decryption key in the authorization information to obtain a hash value of the user data, and Determining that the user data is acquired according to the hash value of the user data and verifying that the received backup user data is correct.
  • the identification information of the second application client and the authorization information are correspondingly stored in a blockchain database corresponding to each blockchain node.
  • the obtaining, by the S302, the authorization information according to the preset rule comprises: obtaining the authorization information from a blockchain database corresponding to the blockchain node according to the identifier information of the second application client.
  • the authorization information is stored in the blockchain database to ensure that the authorization information is not tampered with.
  • a data structure indexed by the identification information of each application client is stored.
  • the data structure may be in the form of a key-value pair, and the identification information of the application client is used as a key, and the related data of the authorization information is The value, the related data of the authorization information may be the authorization information itself, or a multi-group data composed of the authorization information and other information.
  • the second application client may first search for the identifier of the second application client from the blockchain database corresponding to any blockchain node according to the identifier information of the second application client.
  • the information is related data of the indexed authorization information, and the authorization information M is found from the data structure by serial number, time stamp, and/or user identification information in the related data of the plurality of authorization information.
  • the public key and the private key of the second application client are utilized to play a role in obtaining the authorization information by the second application client.
  • the method shown in FIG. 3 further includes: sending the identification information of the second application client and the public key of the second application client to the blockchain node, so that each blockchain node uses the second application according to the identification information of the second application client.
  • the public key of the client is stored in the corresponding blockchain database.
  • the public key of the second application client is stored in the data structure indexed by the identification information of the second application client in the blockchain database.
  • the data structure may be in the form of a key value pair, and the identifier of the second application client.
  • the information is a key, and the public key of the second application client is a value.
  • the authorization information is generated by encrypting the decryption key and the identification information of the encrypted user data by using a public key of the second application client.
  • the operation S303 acquires, according to the authorization information, the encrypted user data corresponding to the user data from the blockchain database corresponding to the blockchain node; and acquiring the user data based on the encrypted user data and the authorization information, including:
  • the private key of the application client decrypts the authorization information to obtain identification information of the decryption key and the encrypted user data.
  • the identifier of the second application client and the corresponding public key of the second application client are sent to the blockchain node, and the second application client directly sends the identifier information and the public key to the blockchain node.
  • the identification information and the public key may be sent by the second application server to the blockchain node.
  • the solution shown in FIG. 2 to FIG. 3 is exemplarily illustrated by a specific embodiment.
  • the first application client generates user data X, and the first application client sends the encrypted user data X′ to the blockchain node.
  • Calling the first smart contract deployed in the blockchain node causes each blockchain node to store the encrypted user data X' in its corresponding blockchain database, and the first application client receives the blockchain node to encrypt the encrypted
  • the first application client maintains or delegates the other party to maintain the encryption key P and the decryption key P' corresponding to the user data X.
  • the second application client generates the public key and the private key, and the second application client sends the identification information of the second application client and the public key of the second application client to the blockchain node by itself or through the second application server, so that each block
  • the chain node stores the public key of the second application client into the corresponding blockchain database according to the identification information of the second application client.
  • the second application client When the second application client needs to obtain the user data X generated by the first application client, the second application client invokes the authorization component of the first application client, and the second application client passes the identification information of the second application client through the authorization component.
  • the corresponding interface is delivered to the first application client, and the first application client pops up an authorization query dialog box on the screen.
  • receiving the confirmation input of the user for the authorization query it is determined that the second application client has the acquisition right and triggers the authorization. Process.
  • the first application client invokes the second smart contract deployed in the blockchain node according to the identifier information of the second application client that is sent when the second application client triggers the authorization query dialog box, and queries the blockchain database to
  • the identification information of the second application client is the application information of the second application client, and the first application client obtains the public key of the second application client from the application information of the second application client.
  • the first application client encrypts the identification information of the decryption key P′ and the encrypted user data X′ by using the public key of the second application client to obtain the authorization information M, and the first application client identifies the identification information and the location of the second application client.
  • the obtained authorization information M is sent to the blockchain node, and the third smart contract deployed in the blockchain node is called, so that each blockchain node stores the authorization information M into the corresponding blockchain according to the identification information of the second application client.
  • the authorization information M is stored in the data structure indexed by the identification information of the second application client in the blockchain database.
  • the second application client After receiving the notification, the second application client obtains the authorization information M from the blockchain database according to the identification information of the second application client by calling the fourth smart contract deployed in the blockchain node.
  • the second application client decrypts the authorization information M by using the private key of the second application client to obtain identification information of the decryption key P' and the encrypted user data X' in the authorization information M.
  • the second application client obtains the encrypted user data X' from the blockchain database according to the identification information of the encrypted user data X' by calling the fifth smart contract deployed in the blockchain node, and then encrypts by using the decryption key P'
  • the user data X' is decrypted to obtain a hash value of the user data X or the user data X.
  • the blockchain-based user data authorization apparatus 400 includes a user data management module 401 configured to transmit encrypted user data of user data to a blockchain node such that each blockchain node encrypts the block.
  • User data is stored in their respective blockchain databases.
  • the authorization module 402 is configured to generate authorization information in response to the request of the second application client to obtain the user data, and notify the second application client to acquire the authorization information according to a preset rule, so that the second application client is based on the
  • the authorization information acquires the encrypted user data from a blockchain database corresponding to the blockchain node, and acquires the user data based on the encrypted user data and the authorization information.
  • the first application client stores the encrypted user data of the formed user data into the blockchain database through the blockchain node, and on the other hand, the data in the blockchain database is utilized.
  • the tampered feature makes encrypted user data stored in the blockchain database not tampered with, and on the other hand uses encrypted user data so that the corresponding real user data is not leaked.
  • the second application client sends a request to the first application client, and the first application client generates authorization information for the request, so that the second application is used.
  • the client can obtain corresponding encrypted user data from the blockchain database based on the authorization information, and further can obtain corresponding user data based on the authorization information and the acquired encrypted user data, thereby forming a safe and effective user.
  • the data authorization scheme realizes the sharing of user data between different applications, and ensures the interconnection between different applications under the premise of having security boundaries.
  • the encrypted user data of the user data includes encrypted user data obtained by encrypting the user data with an encryption key.
  • the authorization module 402 is configured to generate authorization information based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data, so that the second application client obtains the authorization information according to the encryption
  • the identification information of the user data is obtained by acquiring the encrypted user data from a blockchain database corresponding to the blockchain node, and decrypting the encrypted user data by using the decryption key to obtain the user data.
  • the encrypted user data of the user data includes encrypted user data obtained by encrypting a hash value of the user data using an encryption key.
  • the authorization module 402 is configured to generate authorization information based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data, so that the second application client obtains the authorization information according to the encryption.
  • the identification information of the user data is obtained from the blockchain database corresponding to the blockchain node, and the encrypted user data is decrypted by using the decryption key to obtain a hash value of the user data, and The user data is determined to be acquired according to the hash value of the user data verifying that the received user data is correct.
  • the authorization module 402 is further configured to: after generating the authorization information, send the identifier information of the second application client and the authorization information to the blockchain node, so that each blockchain node is according to the second Applying the identification information of the client, the authorization information is stored in the corresponding blockchain database.
  • the authorization module 402 is configured to notify the second application client, so that the second application client obtains the authorization information from the blockchain database corresponding to the blockchain node according to the identification information of the second application client.
  • the identification information of the second application client and the public key of the second application client are correspondingly stored in the blockchain database corresponding to each blockchain node.
  • the authorization module 402 is further configured to obtain the identification information of the second application client, and obtain the public key of the second application client from the blockchain database corresponding to the blockchain node according to the identification information of the second application client.
  • the authorization module 402 is configured to encrypt the decryption key and the identification information of the encrypted user data by using a public key of the second application client to obtain authorization information.
  • the second application client decrypts the authorization information by using the private key of the second application client to obtain the decryption key and the identification information of the encrypted user data.
  • the authorization module 402 is further configured to: when the second application client obtains the request for the user data, determine whether the second application client has the acquisition right, and the second application client Authorization information is generated with access rights.
  • the authorization module 402 is configured to display an authorization query dialog box; when receiving the confirmation input for the authorization inquiry, determining that the second application client has the acquisition authority; when receiving the denied input for the authorization query, determining the second The application client does not have access rights.
  • the encryption key includes an encryption key that varies according to a preset change rule.
  • the user data management module 401 is further configured to receive the identification information of the encrypted user data returned by the blockchain node after storing the encrypted user data in the blockchain database.
  • the blockchain-based user data authorization apparatus 500 includes: a requesting module 501 configured to send a request for acquiring user data to the first application client.
  • the obtaining module 502 is configured to acquire the authorization information according to the preset rule, and obtain, according to the authorization information, the encrypted user data corresponding to the user data from the blockchain database corresponding to the blockchain node; and based on the encrypted user data and the location The authorization information acquires the user data.
  • the first application client when the second application client needs to use user data generated by the first application client different from the second application client, the first application client sends a request for acquiring user data and Obtaining corresponding authorization information, obtaining corresponding encrypted user data from the blockchain database based on the authorization information, and further acquiring corresponding user data based on the authorization information and the acquired encrypted user data.
  • the encrypted user data is stored in the blockchain database.
  • the data in the blockchain database cannot be tampered with so that the encrypted user data is not tampered with, and on the other hand, the encrypted user data is used to make the corresponding real user. Data is not leaked, forming a secure and effective user data authorization scheme to share user data between different applications, ensuring interoperability between different applications with security boundaries.
  • the encrypted user data of the user data comprises: encrypted user data obtained by encrypting the user data with an encryption key.
  • the authorization information is generated based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • the obtaining module 502 is configured to obtain the encrypted user data from the blockchain database corresponding to the blockchain node according to the identifier information of the encrypted user data, and decrypt the encrypted user data by using the decryption key. The user data.
  • the encrypted user data of the user data includes encrypted user data obtained by encrypting a hash value of the user data with an encryption key.
  • the authorization information is generated based on the decryption key corresponding to the encryption key and the identification information of the encrypted user data.
  • the obtaining module 502 is configured to obtain the encrypted user data from the blockchain database corresponding to the blockchain node according to the identifier information of the encrypted user data, and decrypt the encrypted user data by using the decryption key. And a hash value of the user data, and determining to obtain the user data if the received user data is correct according to the hash value of the user data.
  • the identification information of the second application client and the authorization information are correspondingly stored in a blockchain database corresponding to each blockchain node.
  • the obtaining module 502 is configured to obtain the authorization information from the blockchain database corresponding to the blockchain node according to the identifier information of the second application client.
  • the information management module 503 is configured to send the identification information of the second application client and the public key of the second application client to the blockchain node, or configured to use the second application server to identify the second application client and the second application server.
  • the public key of the application client is sent to the blockchain node, so that each block chain node stores the public key of the second application client in the corresponding blockchain database according to the identification information of the second application client.
  • the obtaining module 502 is configured to decrypt the authorization information by using a private key of the second application client to obtain identification information of the decryption key and the encrypted user data.
  • the authorization information is generated by encrypting the decryption key and the identification information of the encrypted user data by using a public key of the second application client.
  • the embodiment of the present invention provides a medium for storing a computer-executable instruction, where the instruction is used by the processor to implement the blockchain-based user data authorization method according to any one of the foregoing method embodiments.
  • aspects of the present invention may also be embodied in the form of a program product comprising program code for causing said program product to run on a computing device
  • the computing device performs the steps in the blockchain-based user data authorization method according to various exemplary embodiments of the present invention described in the "Exemplary Method" section of the present specification, for example, the computing device may perform as in FIG.
  • operation S201 the encrypted user data of the user data is sent to the blockchain node, so that each blockchain node stores the encrypted user data in the corresponding blockchain database; and in S202, in response to the second application client.
  • the computing device can also perform the operational steps as shown in FIG.
  • the program product can employ any combination of one or more readable media.
  • the readable medium can be a readable signal medium or a readable storage medium.
  • the readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive lists) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
  • FIG. 6 is a schematic diagram showing a computer readable storage medium product according to an embodiment of the present invention.
  • a program product 60 based on blockchain-based user data authorization according to an embodiment of the present invention is described. It can be a portable compact disk read only memory (CD-ROM) and includes program code and can be run on a computing device, such as a personal computer.
  • CD-ROM compact disk read only memory
  • the program product of the present invention is not limited thereto, and in the present document, the readable storage medium may be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus or device.
  • the readable signal medium can include a data signal that is propagated in the baseband or as part of a carrier, carrying readable program code. Such propagated data signals can take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the readable signal medium can also be any readable medium other than a readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a readable medium can be transmitted by any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination of the foregoing.
  • Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language, such as Java, C++, etc., including conventional procedures. Programming language - such as "C", language or similar programming language.
  • the program code can execute entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the remote computing device on the user computing device, or entirely on the remote computing device or server. Execute on.
  • the remote computing device can be connected to the user computing device via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computing device (eg, utilizing Internet services) The provider is connected via the Internet).
  • LAN local area network
  • WAN wide area network
  • Internet Internet
  • the embodiment of the present invention further provides a computing device, including: a memory, a processor, and executable instructions stored on the memory and executable on the processor, where the processor executes the instructions to implement the foregoing method embodiment.
  • a computing device including: a memory, a processor, and executable instructions stored on the memory and executable on the processor, where the processor executes the instructions to implement the foregoing method embodiment.
  • the blockchain-based user data authorization computing device in accordance with the present invention can include at least one processing unit and at least one memory unit.
  • the storage unit stores program code, when the program code is executed by the processing unit, causing the processing unit to perform various exemplary implementations according to the present invention described in the "Exemplary Method" section of the present specification. The way the information is presented in the method.
  • the processing unit may perform, as shown in FIG. 2, operation S201, transmitting encrypted user data of user data to a block chain node, so that each block chain node stores encrypted user data in respective corresponding blockchains.
  • the operation S202 is configured to generate the authorization information in response to the request of the second application client to obtain the user data, and the operation S203, to notify the second application client to acquire the authorization information according to the preset rule, so that the second application client And obtaining the encrypted user data from the blockchain database corresponding to the blockchain node based on the authorization information, and acquiring the user data based on the encrypted user data and the authorization information.
  • the computing device can also perform the operational steps as shown in FIG.
  • a blockchain based user data authorization computing device 70 in accordance with such an embodiment of the present invention is described below with reference to FIG.
  • the computing device 70 shown in FIG. 7 is merely an example and should not impose any limitation on the function and scope of use of the embodiments of the present invention.
  • computing device 70 is embodied in the form of a general purpose computing device.
  • the components of computing device 70 may include, but are not limited to, at least one of processing unit 701, at least one of storage unit 702, and a bus 703 that connects different system components, including storage unit 702 and processing unit 701.
  • Bus 703 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of a variety of bus structures.
  • the storage unit 702 can include a readable medium in the form of volatile memory, such as random access memory (RAM) 7021 and/or cache memory 7022, and can further include a read only memory (ROM) 7023.
  • RAM random access memory
  • ROM read only memory
  • the storage unit 702 can also include a program/utility 7025 having a set (at least one) of the program modules 7024, such program modules 7024 including but not limited to: an operating system, one or more applications, other program modules, and program data, Implementations of the network environment may be included in each or some of these examples.
  • Computing device 70 may also be in communication with one or more external devices 704 (eg, a keyboard, pointing device, Bluetooth device, etc.), and may also be in communication with one or more devices that enable a user to interact with computing device 70, and/or Computing device 70 can communicate with any device (e.g., router, modem, etc.) that is in communication with one or more other computing devices. This communication can take place via an input/output (I/O) interface 705.
  • computing device 70 can also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through network adapter 706. As shown, network adapter 706 communicates with other modules of computing device 70 via bus 703.
  • networks e.g., a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
  • network adapter 706 communicates with other modules of computing device 70 via bus 703.
  • computing device 70 may be utilized in conjunction with computing device 70, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives. And data backup storage systems, etc.

Abstract

本发明的实施方式提供了一种基于区块链的用户数据授权方法,包括:第一应用客户端将用户数据的加密用户数据通过区块链节点存入区块链数据库中;响应于第二应用客户端获取所述用户数据的请求生成授权信息;通知第二应用客户端获取所述授权信息,使得第二应用客户端基于所述加密用户数据和所述授权信息获取所述用户数据。本方法通过在区块链数据库中保存加密用户数据,使得加密用户数据不会被篡改且真实的用户数据不会被泄露,并使得第二应用客户端基于授权信息和加密用户数据获取到用户数据,在保证用户数据的安全的基础上实现了用户数据在不同应用之间的共享。本发明的实施方式还提供了一种基于区块链的用户数据授权装置、介质和计算设备。

Description

基于区块链的用户数据授权方法、介质、装置和计算设备 技术领域
本发明的实施方式涉及互联网技术领域,更具体地,本发明的实施方式涉及基于区块链的用户数据授权方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
互联网技术的不断发展带动了应用(Application)的繁荣,各种不同的应用增长迅速,用户通过使用不同的应用以实现不同的功能,解决不同的需求。
尽管应用的发展相当迅猛,但其基本格局却始终没有改变,不同的应用之间彼此隔离,一个应用中形成的数据不能给其他应用共享使用,用户与每个应用的交互所形成的行为数据或信息数据,只能局限于该应用使用范围内,而不能与其他应用共享使用,也不能与用户在其他应用中所形成的行为数据或信息数据相互关联。如何在保护用户数据的安全性的前提下实现用户数据在不同应用之间的共享,是当前需要解决的问题。
发明内容
但是,出于无法保证用户数据的安全性等原因,现有技术无法实现不同应用对用户数据的共享。
因此在现有技术中,想要在保证用户数据的安全性的前提下实现不同应用之间对用户数据的共享,这是非常令人烦恼的过程。
为此,非常需要一种基于区块链的用户数据授权方法,以在保证用户数据的安全性的前提下实现不同应用之间对用户数据的共享。
在本上下文中,本发明的实施方式期望提供一种基于区块链的用户数据授权方法和装置。
在本发明实施方式的第一方面中,提供了一种基于区块链的用户数据 授权方法,该方法应用于第一应用客户端,包括:将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将上述加密用户数据存入各自对应的区块链数据库中;响应于第二应用客户端获取上述用户数据的请求,生成授权信息;通知第二应用客户端按照预设规则获取上述授权信息,使得第二应用客户端基于上述授权信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并基于上述加密用户数据和上述授权信息获取上述用户数据。
在本发明的一个实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据进行加密得到的加密用户数据。上述生成授权信息包括:基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息,生成授权信息。其中,使得第二应用客户端基于上述授权信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并基于上述加密用户数据和上述授权信息获取上述用户数据,包括:使得第二应用客户端在获取到上述授权信息后,根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据。
在本发明的另一实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据的哈希值进行加密得到的加密用户数据。上述生成授权信息包括:基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息生成授权信息。其中,使得第二应用客户端基于上述授权信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并基于上述加密用户数据和上述授权信息获取上述用户数据,包括:使得第二应用客户端在获取到上述授权信息后,根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据,利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据的哈希值,并在根据上述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到上述用户数据。
在本发明的又一实施例中,上述方法还包括:在生成授权信息后,将上述授权信息和第二应用客户端的标识信息发送至区块链节点,使得各区 块链节点根据上述第二应用客户端的标识信息,将上述授权信息存入各自对应的区块链数据库中。上述通知第二应用客户端按照预设规则获取上述授权信息包括:通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取上述授权信息。
在本发明的再一实施例中,第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中。上述方法还包括:获取第二应用客户端的标识信息;根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥。基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息,生成授权信息包括:利用第二应用客户端的公钥对上述解密密钥和上述加密用户数据的标识信息进行加密,得到授权信息。其中,第二应用客户端在获取到上述授权信息后,利用第二应用客户端的私钥对上述授权信息进行解密,得到上述解密密钥和上述加密用户数据的标识信息。
在本发明的再一实施例中,上述响应于第二应用客户端获取上述用户数据的请求,生成授权信息包括:判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
在本发明的再一实施例中,上述判断第二应用客户端是否具有获取权限包括:展示授权询问对话框;当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;以及,当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
在本发明的再一实施例中,上述加密密钥包括按照预设变化规则变化的加密密钥。
在本发明的再一实施例中,上述方法还包括:接收区块链节点在将上述加密用户数据存入区块链数据库后返回的上述加密用户数据的标识信息。
在本发明实施方式的第二方面中,提供了一种基于区块链的用户数据授权方法,该方法应用于第二应用客户端,包括:向第一应用客户端发送获取用户数据的请求;按照预设规则获取授权信息;基于上述授权信息从 区块链节点对应的区块链数据库中获取上述用户数据对应的加密用户数据;基于上述加密用户数据和上述授权信息获取上述用户数据。
在本发明的一个实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据进行加密得到的加密用户数据。上述授权信息是基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息生成的。上述基于上述授权信息从区块链节点对应的区块链数据库中获取上述用户数据对应的加密用户数据包括:根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据。上述基于上述加密用户数据和上述授权信息获取上述用户数据包括:利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据。
在本发明的另一实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据的哈希值进行加密得到的加密用户数据。上述授权信息是基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息生成的。上述基于上述授权信息从区块链节点对应的区块链数据库中获取上述用户数据对应的加密用户数据包括:根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据。上述基于上述加密用户数据和上述授权信息获取上述用户数据包括:利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据的哈希值,并在根据上述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到上述用户数据。
在本发明的又一实施例中,第二应用客户端的标识信息和上述授权信息对应存储于各区块链节点对应的区块链数据库中。上述按照预设规则获取上述授权信息包括:根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取上述授权信息。
在本发明的再一实施例中,上述方法还包括:自行将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,或者,通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中。上述授权信息是利 用第二应用客户端的公钥对上述解密密钥和上述加密用户数据的标识信息进行加密生成的。上述基于上述授权信息从区块链节点对应的区块链数据库中获取上述用户数据对应的加密用户数据;基于上述加密用户数据和上述授权信息获取上述用户数据包括:利用第二应用客户端的私钥对上述授权信息进行解密,得到上述解密密钥和上述加密用户数据的标识信息。
在本发明实施方式的第三方面中,提供了一种基于区块链的用户数据授权装置,该装置应用于第一应用客户端,包括:用户数据管理模块,配置为将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将上述加密用户数据存入各自对应的区块链数据库中。授权模块,配置为响应于第二应用客户端获取上述用户数据的请求,生成授权信息;通知第二应用客户端按照预设规则获取上述授权信息,使得第二应用客户端基于上述授权信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并基于上述加密用户数据和上述授权信息获取上述用户数据。
在本发明的一个实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据进行加密得到的加密用户数据。上述授权模块,配置为基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到上述授权信息后,根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据。
在本发明的另一实施例中,上述用户数据的加密用户数据包括利用加密密钥对上述用户数据的哈希值进行加密得到的加密用户数据。上述授权模块,配置为基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到上述授权信息后,根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据,利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据的哈希值,并在根据上述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到上述用户数据。
在本发明的又一实施例中,上述授权模块,还配置为在生成授权信息 后,将第二应用客户端的标识信息和上述授权信息发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将上述授权信息存入各自对应的区块链数据库中。上述授权模块,配置为通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取上述授权信息。
在本发明的再一实施例中,第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中。上述授权模块,还配置为获取第二应用客户端的标识信息;根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥。上述授权模块,配置为利用第二应用客户端的公钥对上述解密密钥和上述加密用户数据的标识信息进行加密,得到授权信息。其中,第二应用客户端在获取到上述授权信息后,利用第二应用客户端的私钥对上述授权信息进行解密,得到上述解密密钥和上述加密用户数据的标识信息。
在本发明的再一实施例中,上述授权模块,还配置为在响应于第二应用客户端获取上述用户数据的请求时,判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
在本发明的再一实施例中,上述授权模块,配置为展示授权询问对话框;当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
在本发明的再一实施例中,上述加密密钥包括按照预设变化规则变化的加密密钥。
在本发明的再一实施例中,上述用户数据管理模块,还配置为接收区块链节点在将上述加密用户数据存入区块链数据库后返回的上述加密用户数据的标识信息。
在本发明实施方式的第四方面中,提供了一种基于区块链的用户数据授权装置,该装置应用于第二应用客户端,包括:请求模块,配置为向第一应用客户端发送获取用户数据的请求。获取模块,配置为按照预设规则获取授权信息;基于上述授权信息从区块链节点对应的区块链数据库中获 取上述用户数据对应的加密用户数据;基于上述加密用户数据和上述授权信息获取上述用户数据。
在本发明的一个实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据进行加密得到的加密用户数据。上述授权信息是基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息生成的。上述获取模块,配置为根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据;以及利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据。
在本发明的另一实施例中,上述用户数据的加密用户数据包括:利用加密密钥对上述用户数据的哈希值进行加密得到的加密用户数据。上述授权信息是基于上述加密密钥对应的解密密钥以及上述加密用户数据的标识信息生成的。上述获取模块,配置为根据上述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取上述加密用户数据;以及利用上述解密密钥对上述加密用户数据进行解密得到上述用户数据的哈希值,并在根据上述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到上述用户数据。
在本发明的又一实施例中,第二应用客户端的标识信息和上述授权信息对应存储于各区块链节点对应的区块链数据库中。上述获取模块,配置为根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取上述授权信息。
在本发明的再一实施例中,上述装置还包括:信息管理模块。信息管理模块,配置为自行将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,或者,配置为通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中。上述授权信息是利用第二应用客户端的公钥对上述解密密钥和上述加密用户数据的标识信息进行加密生成的。上述获取模块,配置为利用第二应用客户端的私钥对上述授权信息进行解密,得到上述解密密钥和上述加密用户数据的标识信息。
在本发明实施方式的第五方面中,提供了一种介质,存储有计算机可执行指令,指令在被处理器执行时用于实现:上述实施例中任一项所述的基于区块链的用户数据授权方法。
在本发明实施方式的第六方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,处理器执行指令时实现:上述实施例中任一项所述的基于区块链的用户数据授权方法。
根据本发明实施方式的基于区块链的用户数据授权方法和装置,一方面利用了区块链数据库中的数据不可被篡改的特性使得存入区块链数据库中的加密用户数据不会被篡改,另一方面利用了加密用户数据使得所对应的真实的用户数据不会被泄露。当第二应用客户端需要使用该用户数据时,第一应用客户端响应于第二应用客户端的请求生成授权信息,使得第二应用客户端能够基于该授权信息以及区块链数据库中的加密用户数据获取到相应的用户数据,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的基于区块链的用户数据授权方法及其装置的应用场景;
图2示意性地示出了根据本发明一个实施例的基于区块链的用户数据授权方法的流程图;
图3示意性地示出了根据本发明另一个实施例的基于区块链的用户数据授权方法的流程图;
图4示意性地示出了根据本发明一个实施例的基于区块链的用户数据授权装置的框图;
图5A示意性地示出了根据本发明另一个实施例的基于区块链的用户数据授权装置的框图;
图5B示意性地示出了根据本发明又一个实施例的基于区块链的用户数据授权装置的框图;
图6示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图;
图7示意性地示出了根据本发明实施方式的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种基于区块链的用户数据授权方法、装置、介质和计算设备。
在本文中,需要理解的是,所涉及的术语包括:用户数据、加密用户数据、区块链节点、区块链数据库等。其中,用户数据表示应用客户端与用户交互过程中所产生的与用户相关的数据,如用户的个人信息、用户的好友关系、用户的行为数据等,在此不做具体限制。加密用户数据表示按照预设方式对用户数据进行处理所得到的处理结果,加密用户数据不同于用户数据。区块链节点表示构成区块链网络的计算节点,每个区块链节点具有对应的区块链数据库,每个区块链节点具有将数据写入其对应的区块链数据库的能力。区块链数据库由一个或多个区块数据结构链接而成,各 区块链节点对应的区块链数据库中所存的数据是相同的。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
在实现本公开构思的过程中,发明人发现,尽管应用的发展相当迅猛,但其基本格局却始终没有改变,不同的应用之间彼此隔离,一个应用中形成的数据不能给其他应用共享使用,用户与每个应用的交互所形成的行为数据或信息数据,只能局限于该应用使用范围内,而不能与其他应用共享使用,也不能与用户在其他应用中所形成的行为数据或信息数据相互关联。如何在保护用户数据的安全性的前提下实现用户数据在不同应用之间的共享,是当前需要解决的问题。
为此,本发明实施例提供了一种基于区块链的用户数据授权方法和装置,从第一应用客户端的角度出发,该方法包括:将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将上述加密用户数据存入各自对应的区块链数据库中;响应于第二应用客户端获取上述用户数据的请求,生成授权信息;通知第二应用客户端按照预设规则获取上述授权信息,使得第二应用客户端基于上述授权信息从区块链节点对应的区块链数据库中获取上述加密用户数据,并基于上述加密用户数据和上述授权信息获取上述用户数据。其中,第一应用客户端将所形成的用户数据的加密用户数据存入区块链数据库中,使得加密用户数据不会被篡改,以及利用加密用户数据使得所对应的真实的用户数据不会被泄露。当第二应用客户端需要使用该用户数据时,第一应用客户端针对第二应用客户端的请求生成授权信息,使得第二应用客户端能够基于该授权信息以及区块链数据库中的加密用户数据获取到相应的用户数据,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的基于区块链的用户数据授权方法及其装置的应用场景。
图1示意性地示出了根据本发明实施方式的基于区块链的用户数据授权方法及其装置的应用场景,在图1所示的应用场景中,包括终端设备100,终端设备100中包括多个应用客户端:APP1,APP2,APP3。应用客户端APP1与其后端的APP1服务器通过网络连接,由APP1服务器为应用客户端APP1提供服务和支持,应用客户端APP1的界面与用户进行交互,应用客户端APP1与用户交互过程中产生用户数据;应用客户端APP2与其后端的APP2服务器通过网络连接,由APP2服务器为应用客户端APP2提供服务和支持,应用客户端APP2的界面与用户进行交互,应用客户端APP2与用户交互过程中产生用户数据;应用客户端APP3与其后端的APP3服务器通过网络连接,由APP3服务器为应用客户端APP3提供服务和支持,应用客户端APP3的界面与用户进行交互,应用客户端APP3与用户交互过程中产生用户数据。
终端设备100可以是具有显示屏并且支持应用客户端运行的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。应用客户端APP1,APP2,APP3中每一个均可以是任意应用客户端,例如可以是社交类应用客户端,可以是办公类应用客户端,可以是娱乐类应用客户端等等。APP1服务器可以是服务器或服务器集群,APP2服务器可以是服务器或服务器集群,APP3服务器可以是服务器或服务器集群,在此不做限制。应用客户端与其相应的服务器之间的网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
本发明实施例所提供的基于区块链的用户数据授权方法及其装置可以应用于应用客户端APP1,APP2,APP3中的任意一个或多个,在实施本发明实施例所提供的基于区块链的用户数据授权方法及其装置的情况 下,应用客户端APP1,APP2,APP3可以通过基于区块链的用户数据授权的方案实现用户数据的共享。
应该理解,图1中的终端设备、应用客户端和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、应用客户端和服务器。
示例性方法
下面结合图1的应用场景,参考图2~图3来描述根据本发明示例性实施方式的基于区块链的用户数据授权方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明一个实施例的基于区块链的用户数据授权方法的流程图,该方法应用于第一应用客户端。如图2所示,该方法包括如下操作:
操作S201,将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将加密用户数据存入各自对应的区块链数据库中;
操作S202,响应于第二应用客户端获取所述用户数据的请求,生成授权信息;以及
操作S203,通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。
可见,通过图2所示的方法,第一应用客户端将所形成的用户数据的加密用户数据通过区块链节点存入区块链数据库中,一方面利用了区块链数据库中的数据不可被篡改的特性使得存入区块链数据库中的加密用户数据不会被篡改,另一方面利用了加密用户数据使得所对应的真实的用户数据不会被泄露。当不同于第一应用客户端的第二应用客户端需要使用该用户数据时,第二应用客户端向第一应用客户端发出请求,第一应用客户端针对该请求生成授权信息,使得第二应用客户端能够基于该授权信息从 区块链数据库中获取相应的加密用户数据,并进一步能够基于该授权信息和所获取的加密用户数据获取到相应的用户数据,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
在本发明的一个实施例中,用户数据可以是在用户使用第一应用客户端的过程中所产生的各种与用户相关的数据,如用户的个人信息、用户的好友关系、用户的行为数据等。第一应用客户端也可以是任意的应用客户端。第一应用客户端在产生用户数据后,基于该用户数据生成加密用户数据,将该加密用户数据发送至区块链节点,使得各区块链节点将该加密用户数据存入各自对应的区块链数据库中。
作为一个可选的实施例,本方案中的区块链网络由多个区块链背书节点和区块链共识节点构成,上述操作S201中的区块链节点具体可以是区块链背书节点,第一应用客户端向区块链背书节点发送加密用户数据,区块链背书节点向区块链共识节点发送请求等待区块链共识节点对待处理池中的数据的共识验证,各区块链背书节点依照该共识验证将加密用户数据存入各自对应的区块链数据库中。
作为一个可选的实施例,本方案中第一应用客户端将加密用户数据发送至区块链节点,触发部署于区块链节点中的智能合约,区块链节点将加密用户数据存入对应的区块链数据库的过程可以通过区块链节点运行该智能合约来完成。
在本发明的一个实施例中,操作S201中的用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据。操作S202生成授权信息包括:基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息。其中,操作S203使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据,包括:使得第二应用客户端在获取到所述授权信息后,根据所述授权信息中的加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并利用所述授权信息中的解密密钥对所述加密用户数 据进行解密得到所述用户数据。
进一步地,在本实施例中,图2所示的方法还可以包括:接收区块链节点在将所述加密用户数据存入区块链数据库后返回的所述加密用户数据的标识信息。
例如,第一应用客户端在产生用户数据X之后,利用某种加密密钥P对该用户数据X进行加密得到加密用户数据X’,该加密密钥P对应的解密密钥为P’,第一应用客户端将该加密用户数据X’发送至区块链节点,使得各区块链节点将该加密用户数据X’存入各自对应的区块链数据库中,第一应用客户端接收区块链节点在将该加密用户数据X’存入区块链数据库后返回的加密用户数据X’的标识信息,表示在区块链数据库中加密用户数据X’存储于以加密用户数据X’的标识信息为索引的数据结构中。第一应用客户端响应于第二应用客户端获取用户数据X的请求,基于解密密钥为P’和加密用户数据X’的标识信息生成授权信息。第一应用客户端通知第二应用客户端,第二应用客户端按照预设规则获取该授权信息,基于该授权信息中的加密用户数据X’的标识信息从任一区块链节点对应的区块链数据库中获取相应的加密用户数据X’,再利用授权信息中的解密密钥为P’对加密用户数据X’进行解密,得到用户数据X。本方案通过上述过程,使得第一应用客户端能够授权第二应用客户端使用第一应用客户端产生的用户数据X。
在本发明的另一个实施例中,操作S201中的用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据。操作S202生成授权信息包括:基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成授权信息。其中,第二应用客户端向第一应用客户端发送获取所述用户数据的请求之后,第二应用客户端通过预设方式接收用户数据,可以是第一应用客户端响应于第二应用客户端获取所述用户数据的请求将本地存储的指定用户数据发送给第二应用客户端,也可以是第一应用客户端响应于第二应用客户端获取所述用户数据的请求通知第一应用服务器,使得第一应用服务器将存储于第一应用服务器中的指定用户数据发送给第二应用客户端,也可以是第一应用客户端响 应于第二应用客户端获取所述用户数据的请求通知其他第三方存储服务器,使得该第三方存储服务器将存储于其中的指定用户数据发送给第二应用客户端,还可以是第二应用客户端直接从第一应用服务器或者第三方存储服务器请求获取指定用户数据,在此不做限制。此时,第二应用客户端虽然接收到用户数据,但无法获知其接收到的用户数据是否是第二应用客户端请求获取的用户数据。因此,操作S203使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据,包括:使得第二应用客户端在获取到所述授权信息后,根据所述授权信息中的加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,利用所述授权信息中的解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
进一步地,在本实施例中,图2所示的方法还可以包括:接收区块链节点在将所述加密用户数据存入区块链数据库后返回的所述加密用户数据的标识信息。
例如,第一应用客户端在产生用户数据X之后,预存备份用户数据X于第一应用客户端本地、第一应用服务器中、和/或其他第三方存储服务器中。接着,先计算用户数据X的哈希值,再利用某种加密密钥P对该用户数据X的哈希值进行加密得到加密用户数据X’,该加密密钥P对应的解密密钥为P’,第一应用客户端将该加密用户数据X’发送至区块链节点,使得各区块链节点将该加密用户数据X’存入各自对应的区块链数据库中,第一应用客户端接收区块链节点在将该加密用户数据X’存入区块链数据库后返回的加密用户数据X’的标识信息,表示在区块链数据库中加密用户数据X’存储于以加密用户数据X’的标识信息为索引的数据结构中。第一应用客户端响应于第二应用客户端获取用户数据X的请求,一方面,基于解密密钥为P’和加密用户数据X’的标识信息生成授权信息M,另一方面,将备份用户数据X发送给第二应用客户端,可以由第一应用客户端、第一应用服务器和/或其他第三方存储服务器执行发送备份用户数据X 的过程,在此不做限制。第一应用客户端通知第二应用客户端,第二应用客户端按照预设规则获取该授权信息M,基于该授权信息M中的加密用户数据X’的标识信息从任一区块链节点对应的区块链数据库中获取相应的加密用户数据X’,再利用授权信息中的解密密钥为P’对加密用户数据X’进行解密,得到用户数据X的哈希值。第二应用客户端根据所得到的用户数据X的哈希值验证接收到的备份用户数据X是否是正确的用户数据X,是则说明备份用户数据X在存储和/或传输的过程中没有被篡改,可以使用,否则说明备份用户数据X在存储和/或传输的过程中被篡改,无法使用。本方案通过上述过程,使得第一应用客户端能够授权第二应用客户端使用第一应用客户端产生的用户数据X。
为了进一步增加授权过程的安全性,在本发明的一个实施例中,利用第二应用客户端的公钥和私钥在第二应用客户端获取授权信息的过程中发挥作用。具体地,第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中,即在区块链数据库中第二应用客户端的公钥存储于以第二应用客户端的标识信息为索引的数据结构中,例如该数据结构可以是键值对形式,以第二应用客户端的标识信息为键,以第二应用客户端的公钥为值。图2所示的方法还包括:响应于第二应用客户端的获取所述用户数据的请求,获取第二应用客户端的标识信息;根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥。则操作S202基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息包括:利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密,得到授权信息。其中,第二应用客户端在获取到所述授权信息后,利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
在本发明的一个实施例中,上述对用户数据或用户数据的哈希值进行加密的加密密钥可以是按照预设变化规则动态变化的加密密钥。例如可以是,按照时间段不同而变化的加密密钥,按照不同的用户数据而变化的加密密钥。相应地,不同的加密密钥对应于不同的解密密钥。则对于产生的 用户数据,都存储有对应于该用户数据的加密密钥和解密密钥。第一应用客户端可以在本地维护各用户数据对应的加密密钥和解密密钥,也可以通过其他应用客户端或存储服务器来维护备用户数据对应的加密密钥和解密密钥,在此不做限制。使用按照时间段不同而变化的加密密钥,可以实现对第二应用授权权限的时间控制,例如第二应用向第一应用申请一次授权,获得允许后的授权权限只在某一个时间段内有效。
在本发明的一个实施例中,图2所示的方法还包括:第一应用客户端响应于第二应用客户端获取用户数据的请求,获取第二应用客户端的标识信息。第一应用客户端在生成授权信息后,将该授权信息和第二应用客户端的标识信息发送至区块链节点,使得各区块链节点根据所述第二应用客户端的标识信息,将所述授权信息存入各自对应的区块链数据库中。这样在区块链数据库中所述授权信息存储于以第二应用客户端的标识信息为索引的数据结构中。则操作S203通知第二应用客户端按照预设规则获取所述授权信息包括:通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
依据本实施例,将授权信息也存储于区块链数据库中,保证授权信息不会被篡改。在区块链数据库中,存储有以各应用客户端的标识信息为索引的数据结构,例如该数据结构可以是键值对的形式,以应用客户端的标识信息为键,以授权信息的相关数据为值,该授权信息的相关数据可以是授权信息本身,也可以是由授权信息与其他信息组成的多元组数据。如在以第二应用客户端的标识信息为索引的数据结构中,存储有一条或多条用户数据对应的授权信息,不同授权信息之间可以通过不同标识进行区分,例如可以通过序号进行区分,可以通过时间戳进行区分,也可以通过所对应的用户标识信息进行区分,等等,在此不做限制。例如可以是,第二应用客户端在按照预设规则获取某个授权信息M时,先根据第二应用客户端的标识信息从任一区块链节点对应的区块链数据库中查找以第二应用客户端的标识信息为索引的授权信息的相关数据,在授权信息的相关数据中通过序号、时间戳、和/或用户标识信息等查找到授权信息M。
在本发明的一个实施例中,在对第二应用客户端进行授权操作前,可以先查看第二应用客户端的权限以明确是否可以对第二应用客户端进行授权。具体地,图2所示方法的操作S202响应于第二应用客户端获取所述用户数据的请求,生成授权信息包括:判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
例如可以通过询问用户的方式来判断第二应用客户端是否具有获取权限,上述判断第二应用客户端是否具有获取权限包括:展示授权询问对话框;当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;以及,当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
图3示意性地示出了根据本发明另一个实施例的基于区块链的用户数据授权方法的流程图,该方法应用于第二应用客户端。如图3所示,该方法包括如下操作:
操作S301,向第一应用客户端发送获取用户数据的请求;
操作S302,按照预设规则获取授权信息;以及
操作S303,基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;基于所述加密用户数据和所述授权信息获取所述用户数据。
可见,通过图3所示的方法,当第二应用客户端需要使用不同于该第二应用客户端的第一应用客户端产生的用户数据时,向第一应用客户端发送获取用户数据的请求并获取相应的授权信息,基于该授权信息从区块链数据库中获取相应的加密用户数据,并进一步基于该授权信息和所获取的加密用户数据获取到相应的用户数据。其中加密用户数据存储于区块链数据库中,一方面利用区块链数据库中的数据不可被篡改的特性使得加密用户数据不会被篡改,另一方面利用加密用户数据使得所对应的真实的用户数据不被泄露,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
在本发明的一个实施例中,用户数据的加密用户数据包括:利用加密 密钥对所述用户数据进行加密得到的加密用户数据。所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的。操作S303基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据包括:根据所述授权信息中的加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据。操作S303基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用所述授权信息中的解密密钥对所述加密用户数据进行解密得到所述用户数据。
在本发明的另一个实施例中,用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据。所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的。图3所示的方法还包括:第二应用客户端接收第一应用客户端、第一应用服务器和/或其他存储服务器预存的备份用户数据。操作S303基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据包括:根据所述授权信息中的加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据。操作S303基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用所述授权信息中的解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的备份用户数据正确的情况下确定获取到所述用户数据。
在本发明的一个实施例中,第二应用客户端的标识信息和所述授权信息对应存储于各区块链节点对应的区块链数据库中。操作S302按照预设规则获取所述授权信息包括:根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
依据本实施例,授权信息被存储于区块链数据库中,保证授权信息不会被篡改。在区块链数据库中,存储有以各应用客户端的标识信息为索引的数据结构,例如该数据结构可以是键值对的形式,以应用客户端的标识信息为键,以授权信息的相关数据为值,该授权信息的相关数据可以是授权信息本身,也可以是由授权信息与其他信息组成的多元组数据。如在以 第二应用客户端的标识信息为索引的数据结构中,存储有一条或多条用户数据对应的授权信息,不同授权信息之间可以通过不同标识进行区分,例如可以通过序号进行区分,可以通过时间戳进行区分,也可以通过所对应的用户标识信息进行区分,等等,在此不做限制。第二应用客户端在按照预设规则获取某个授权信息M时,可以先根据第二应用客户端的标识信息从任一区块链节点对应的区块链数据库中查找以第二应用客户端的标识信息为索引的授权信息的相关数据,在多个授权信息的相关数据中通过序号、时间戳、和/或用户标识信息等从该数据结构中查找到授权信息M。
为了进一步增加授权过程的安全性,在本发明的一个实施例中,利用第二应用客户端的公钥和私钥在第二应用客户端获取授权信息的过程中发挥作用。图3所示的方法还包括:将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中。其中,在区块链数据库中第二应用客户端的公钥保存于以第二应用客户端的标识信息为索引的数据结构中,例如该数据结构可以是键值对形式,以第二应用客户端的标识信息为键,以第二应用客户端的公钥为值。所述授权信息是利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密生成的。操作S303基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。其中,将第二应用客户端的标识信息和第二应用客户端的对应公钥发送至区块链节点,可以是第二应用客户端直接将该标识信息和该公钥发送给区块链节点,也可以由第二应用服务器将该标识信息和该公钥发送给区块链节点。
以一个具体的实施例来示例性地说明图2~图3所示的方案,第一应用客户端产生用户数据X,第一应用客户端将该加密用户数据X’发送至区块链节点,调用部署于区块链节点中的第一智能合约使得各区块链节点将该加密用户数据X’存入各自对应的区块链数据库中,第一应用客户端接 收区块链节点在将该加密用户数据X’存入区块链数据库后返回的加密用户数据X’的标识信息。第一应用客户端维护或委托其他方维护用户数据X对应的加密密钥P和解密密钥P’。第二应用客户端生成公钥和私钥,第二应用客户端自行或通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中。
当第二应用客户端需要获取第一应用客户端产生的用户数据X时,第二应用客户端调用第一应用客户端的授权组件,第二应用客户端将第二应用客户端的标识信息通过授权组件的相应接口传递给第一应用客户端,第一应用客户端在屏幕上弹出一个授权询问对话框,当接收到用户针对授权询问的确认输入时,确定第二应用客户端具有获取权限,触发授权流程。
第一应用客户端根据第二应用客户端触发授权询问对话框时传入的第二应用客户端的标识信息,调用部署于区块链节点中的第二智能合约,从区块链数据库中查询以第二应用客户端的标识信息为索引的第二应用客户端的应用信息,第一应用客户端从第二应用客户端的应用信息中获取到第二应用客户端的公钥。第一应用客户端利用第二应用客户端的公钥对解密密钥P’和加密用户数据X’的标识信息进行加密得到授权信息M,第一应用客户端将第二应用客户端的标识信息和所得到的授权信息M发送至区块链节点,调用部署于区块链节点中的第三智能合约使得各区块链节点根据第二应用客户端的标识信息将授权信息M存入各自对应的区块链数据库中,使得在区块链数据库中授权信息M存储于以第二应用客户端的标识信息为索引的数据结构中。第一应用客户端所弹出的授权询问对话框被关闭时,通过接口调用通知第二应用客户端。
第二应用客户端在收到通知后,通过调用部署于区块链节点中的第四智能合约根据第二应用客户端的标识信息从区块链数据库中获取授权信息M。第二应用客户端利用第二应用客户端的私钥对授权信息M进行解密得到授权信息M中的解密密钥P’和加密用户数据X’的标识信息。第二应用客户端通过调用部署于区块链节点中的第五智能合约根据加密用 户数据X’的标识信息从区块链数据库中获取加密用户数据X’,再利用解密密钥P’对加密用户数据X’进行解密得到用户数据X或用户数据X的哈希值。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4-图5B对本发明示例性实施方式的、用于实现基于区块链的用户数据授权装置进行详细阐述。
图4示意性地示出了根据本发明一个实施例的基于区块链的用户数据授权装置的框图,该装置应用于第一应用客户端。如图4所示,该基于区块链的用户数据授权装置400包括:用户数据管理模块401,配置为将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将所述加密用户数据存入各自对应的区块链数据库中。授权模块402,配置为响应于第二应用客户端获取所述用户数据的请求,生成授权信息;通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。
可见,通过图4所示的装置,第一应用客户端将所形成的用户数据的加密用户数据通过区块链节点存入区块链数据库中,一方面利用了区块链数据库中的数据不可被篡改的特性使得存入区块链数据库中的加密用户数据不会被篡改,另一方面利用了加密用户数据使得所对应的真实的用户数据不会被泄露。当不同于第一应用客户端的第二应用客户端需要使用该用户数据时,第二应用客户端向第一应用客户端发出请求,第一应用客户端针对该请求生成授权信息,使得第二应用客户端能够基于该授权信息从区块链数据库中获取相应的加密用户数据,并进一步能够基于该授权信息和所获取的加密用户数据获取到相应的用户数据,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
在本发明的一个实施例中,用户数据的加密用户数据包括:利用加密 密钥对所述用户数据进行加密得到的加密用户数据。授权模块402,配置为基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到所述授权信息后,根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
在本发明的另一个实施例中,用户数据的加密用户数据包括利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据。授权模块402,配置为基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到所述授权信息后,根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
在本发明的一个实施例中,授权模块402,还配置为在生成授权信息后,将第二应用客户端的标识信息和所述授权信息发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将所述授权信息存入各自对应的区块链数据库中。授权模块402,配置为通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
在本发明的一个实施例中,第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中。授权模块402,还配置为获取第二应用客户端的标识信息;根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥。授权模块402,配置为利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密,得到授权信息。其中,第二应用客户端在获取到所述授权信息后,利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
在本发明的一个实施例中,授权模块402,还配置为在响应于第二应 用客户端获取所述用户数据的请求时,判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
具体地,授权模块402,配置为展示授权询问对话框;当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
在本发明的一个实施例中,加密密钥包括按照预设变化规则变化的加密密钥。
在本发明的一个实施例中,用户数据管理模块401,还配置为接收区块链节点在将所述加密用户数据存入区块链数据库后返回的所述加密用户数据的标识信息。
图5A示意性地示出了根据本发明另一个实施例的基于区块链的用户数据授权装置的框图,该装置应用于第二应用客户端。如图5A所示,该基于区块链的用户数据授权装置500包括:请求模块501,配置为向第一应用客户端发送获取用户数据的请求。获取模块502,配置为按照预设规则获取授权信息;基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;基于所述加密用户数据和所述授权信息获取所述用户数据。
可见,通过图5A所示的装置,当第二应用客户端需要使用不同于该第二应用客户端的第一应用客户端产生的用户数据时,向第一应用客户端发送获取用户数据的请求并获取相应的授权信息,基于该授权信息从区块链数据库中获取相应的加密用户数据,并进一步基于该授权信息和所获取的加密用户数据获取到相应的用户数据。其中加密用户数据存储于区块链数据库中,一方面利用区块链数据库中的数据不可被篡改的特性使得加密用户数据不会被篡改,另一方面利用加密用户数据使得所对应的真实的用户数据不被泄露,形成了一种安全、有效的用户数据授权方案以实现不同应用之间的用户数据的共享,保证了不同应用之间在具有安全界限的前提下的互联互通。
在本发明的一个实施例中,用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据。授权信息是基于所述 加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的。获取模块502,配置为根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;以及利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
在本发明的另一个实施例中,用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据。授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的。获取模块502,配置为根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;以及利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
在本发明的一个实施例中,第二应用客户端的标识信息和所述授权信息对应存储于各区块链节点对应的区块链数据库中。获取模块502,配置为根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
图5B示意性地示出了根据本发明又一个实施例的基于区块链的用户数据授权装置的框图,该装置应用于第二应用客户端。如图5B所示,该基于区块链的用户数据授权装置510包括:请求模块501、获取模块502和信息管理模块503。其中请求模块501和获取模块502在上文中已经说明,重复的部分不再赘述。
信息管理模块503,配置为自行将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,或者,配置为通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中。
获取模块502,配置为利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
其中,授权信息是利用第二应用客户端的公钥对所述解密密钥和所述 加密用户数据的标识信息进行加密生成的。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
示例性介质
在介绍了本发明示例性实施方式的方法和装置之后,接下来,对本发明示例性实施方式的、基于区块链的用户数据授权介质进行介绍。
本发明实施例提供了一种介质,存储有计算机可执行指令,上述指令在被处理器执行时用于实现上述方法实施例中任一项所述的基于区块链的用户数据授权方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的基于区块链的用户数据授权方法中的步骤,例如,所述计算设备可以执行如图2中所示的操作S201,将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将加密用户数据存入各自对应的区块链数据库中;操作S202,响应于第二应用客户端获取所述用户数据的请求,生成授权信息;以及操作S203,通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。当然,所述计算设备也可以执行如图3所示的操作步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、 只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图6示意性地示出了根据本发明实施方式的计算机可读存储介质产品的示意图,如图6所示,描述了根据本发明的实施方式的基于区块链的用户数据授权的程序产品60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的基于区块链的用户数据授权计算设备。
本发明实施例还提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现上述方法实施例中任一项所述的基于区块链的用户数据授权方法。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的基于区块链的用户数据授权计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的信息呈现方法中的步骤。例如,所述处理单元可以执行如图2中所示的:操作S201,将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将加密用户数据存入各自对应的区块链数据库中;操作S202,响应于第二应用客户端获取所述用户数据的请求,生成授权信息;以及操作S203,通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。当然,所述计算设备也可以执行如图3所示的操作步骤。
下面参照图7来描述根据本发明的这种实施方式的基于区块链的用户数据授权计算设备70。如图7所示的计算设备70仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算设备70以通用计算设备的形式表现。计算设备70 的组件可以包括但不限于:上述至少一个处理单元701、上述至少一个存储单元702、连接不同系统组件(包括存储单元702和处理单元701)的总线703。
总线703表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元702可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)7021和/或高速缓存存储器7022,还可以进一步包括只读存储器(ROM)7023。
存储单元702还可以包括具有一组(至少一个)程序模块7024的程序/实用工具7025,这样的程序模块7024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备70也可以与一个或多个外部设备704(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与计算设备70交互的设备通信,和/或与使得计算设备70能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口705进行。并且,计算设备70还可以通过网络适配器706与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器706通过总线703与计算设备70的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了基于即时通信消息记录的区块链处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来 具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (30)

  1. 一种基于区块链的用户数据授权方法,应用于第一应用客户端,所述方法包括:
    将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将所述加密用户数据存入各自对应的区块链数据库中;
    响应于第二应用客户端获取所述用户数据的请求,生成授权信息;
    通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。
  2. 根据权利要求1所述的方法,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据;
    所述生成授权信息包括:基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息;
    其中,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据,包括:使得第二应用客户端在获取到所述授权信息后,根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
  3. 根据权利要求1所述的方法,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据;
    所述生成授权信息包括:基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成授权信息;
    其中,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据,包括:使得第二应用客户端在获取到所述授权信息后, 根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
  4. 根据权利要求1所述的方法,所述方法还包括:
    在生成授权信息后,将所述授权信息和第二应用客户端的标识信息发送至区块链节点,使得各区块链节点根据所述第二应用客户端的标识信息,将所述授权信息存入各自对应的区块链数据库中;
    所述通知第二应用客户端按照预设规则获取所述授权信息包括:通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
  5. 根据权利要求2或3所述的方法,其中:
    第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中;
    所述方法还包括:获取第二应用客户端的标识信息;根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥;
    基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息包括:利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密,得到授权信息;
    其中,第二应用客户端在获取到所述授权信息后,利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
  6. 根据权利要求1所述的方法,其中,所述响应于第二应用客户端获取所述用户数据的请求,生成授权信息包括:
    判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
  7. 根据权利要求6所述的方法,其中,所述判断第二应用客户端是否具有获取权限包括:
    展示授权询问对话框;
    当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;以及
    当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
  8. 根据权利要求2或3所述的方法,其中,所述加密密钥包括按照预设变化规则变化的加密密钥。
  9. 根据权利要求2或3所述的方法,所述方法还包括:
    接收区块链节点在将所述加密用户数据存入区块链数据库后返回的所述加密用户数据的标识信息。
  10. 一种基于区块链的用户数据授权方法,应用于第二应用客户端,所述方法包括:
    向第一应用客户端发送获取用户数据的请求;
    按照预设规则获取授权信息;
    基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;
    基于所述加密用户数据和所述授权信息获取所述用户数据。
  11. 根据权利要求10所述的方法,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据;
    所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的;
    所述基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据包括:根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;
    所述基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
  12. 根据权利要求10所述的方法,其中:所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据;
    所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的;
    所述基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据包括:根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;
    所述基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
  13. 根据权利要求10所述的方法,其中:
    第二应用客户端的标识信息和所述授权信息对应存储于各区块链节点对应的区块链数据库中;
    所述按照预设规则获取所述授权信息包括:根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
  14. 根据权利要求11或12所述的方法,所述方法还包括:自行将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,或者,通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中;
    所述授权信息是利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密生成的;
    所述基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;基于所述加密用户数据和所述授权信息获取所述用户数据包括:利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
  15. 一种基于区块链的用户数据授权装置,应用于第一应用客户端,所述装置包括:
    用户数据管理模块,配置为将用户数据的加密用户数据发送至区块链节点,使得各区块链节点将所述加密用户数据存入各自对应的区块链数据库中;
    授权模块,配置为响应于第二应用客户端获取所述用户数据的请求,生成授权信息;通知第二应用客户端按照预设规则获取所述授权信息,使得第二应用客户端基于所述授权信息从区块链节点对应的区块链数据库中获取所 述加密用户数据,并基于所述加密用户数据和所述授权信息获取所述用户数据。
  16. 根据权利要求15所述的装置,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据;
    所述授权模块,配置为基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到所述授权信息后,根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,并利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
  17. 根据权利要求15所述的装置,其中:
    所述用户数据的加密用户数据包括利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据;
    所述授权模块,配置为基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息,生成授权信息,使得第二应用客户端在获取到所述授权信息后,根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据,利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
  18. 根据权利要求15所述的装置,其中:
    所述授权模块,还配置为在生成授权信息后,将第二应用客户端的标识信息和所述授权信息发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将所述授权信息存入各自对应的区块链数据库中;
    所述授权模块,配置为通知第二应用客户端,使得第二应用客户端根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
  19. 根据权利要求16或17所述的装置,其中:
    第二应用客户端的标识信息和第二应用客户端的公钥对应存储于各区块链节点对应的区块链数据库中;
    所述授权模块,还配置为获取第二应用客户端的标识信息;根据第二应 用客户端的标识信息从区块链节点对应的区块链数据库中获取第二应用客户端的公钥;
    所述授权模块,配置为利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密,得到授权信息;
    其中,第二应用客户端在获取到所述授权信息后,利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
  20. 根据权利要求15所述的装置,其中:
    所述授权模块,还配置为在响应于第二应用客户端获取所述用户数据的请求时,判断第二应用客户端是否具有获取权限,在第二应用客户端具有获取权限的情况下,生成授权信息。
  21. 根据权利要求20所述的装置,其中:
    所述授权模块,配置为展示授权询问对话框;当接收到针对授权询问的确认输入时,确定第二应用客户端具有获取权限;当接收到针对授权询问的否认输入时,确定第二应用客户端不具有获取权限。
  22. 根据权利要求16或17所述的装置,其中,所述加密密钥包括按照预设变化规则变化的加密密钥。
  23. 根据权利要求16或17所述的装置,其中:
    所述用户数据管理模块,还配置为接收区块链节点在将所述加密用户数据存入区块链数据库后返回的所述加密用户数据的标识信息。
  24. 一种基于区块链的用户数据授权装置,应用于第二应用客户端,所述装置包括:
    请求模块,配置为向第一应用客户端发送获取用户数据的请求;
    获取模块,配置为按照预设规则获取授权信息;基于所述授权信息从区块链节点对应的区块链数据库中获取所述用户数据对应的加密用户数据;基于所述加密用户数据和所述授权信息获取所述用户数据。
  25. 根据权利要求24所述的装置,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据进行加密得到的加密用户数据;
    所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数 据的标识信息生成的;
    所述获取模块,配置为根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;以及利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据。
  26. 根据权利要求24所述的装置,其中:
    所述用户数据的加密用户数据包括:利用加密密钥对所述用户数据的哈希值进行加密得到的加密用户数据;
    所述授权信息是基于所述加密密钥对应的解密密钥以及所述加密用户数据的标识信息生成的;
    所述获取模块,配置为根据所述加密用户数据的标识信息从区块链节点对应的区块链数据库中获取所述加密用户数据;以及利用所述解密密钥对所述加密用户数据进行解密得到所述用户数据的哈希值,并在根据所述用户数据的哈希值验证接收到的用户数据正确的情况下确定获取到所述用户数据。
  27. 根据权利要求24所述的装置,其中:
    第二应用客户端的标识信息和所述授权信息对应存储于各区块链节点对应的区块链数据库中;
    所述获取模块,配置为根据第二应用客户端的标识信息从区块链节点对应的区块链数据库中获取所述授权信息。
  28. 根据权利要求25或26所述的装置,所述装置还包括:信息管理模块;
    信息管理模块,配置为自行将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,或者,配置为通过第二应用服务器将第二应用客户端的标识信息和第二应用客户端的公钥发送至区块链节点,使得各区块链节点根据第二应用客户端的标识信息,将第二应用客户端的公钥存入各自对应的区块链数据库中;
    所述授权信息是利用第二应用客户端的公钥对所述解密密钥和所述加密用户数据的标识信息进行加密生成的;
    所述获取模块,配置为利用第二应用客户端的私钥对所述授权信息进行解密,得到所述解密密钥和所述加密用户数据的标识信息。
  29. 一种介质,存储有计算机可执行指令,所述指令在被处理器执行时 用于实现:
    如权利要求1至9中任一项所述的基于区块链的用户数据授权方法;和/或
    如权利要求10至14中任一项所述的基于区块链的用户数据授权方法。
  30. 一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的可执行指令,所述处理器执行所述指令时实现:
    如权利要求1至9中任一项所述的基于区块链的用户数据授权方法;和/或
    如权利要求10至14中任一项所述的基于区块链的用户数据授权方法。
PCT/CN2018/117208 2018-05-10 2018-11-23 基于区块链的用户数据授权方法、介质、装置和计算设备 WO2019214211A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/044,250 US11520912B2 (en) 2018-05-10 2018-11-23 Methods, media, apparatuses and computing devices of user data authorization based on blockchain

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810445435.5 2018-05-10
CN201810445435.5A CN108632284B (zh) 2018-05-10 2018-05-10 基于区块链的用户数据授权方法、介质、装置和计算设备

Publications (1)

Publication Number Publication Date
WO2019214211A1 true WO2019214211A1 (zh) 2019-11-14

Family

ID=63692710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/117208 WO2019214211A1 (zh) 2018-05-10 2018-11-23 基于区块链的用户数据授权方法、介质、装置和计算设备

Country Status (3)

Country Link
US (1) US11520912B2 (zh)
CN (1) CN108632284B (zh)
WO (1) WO2019214211A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532646A (zh) * 2020-12-09 2021-03-19 杭州趣链科技有限公司 数据共享方法、系统、装置、设备和存储介质
EP3968566A1 (en) * 2020-09-15 2022-03-16 Alipay (Hangzhou) Information Technology Co., Ltd. Data processing methods, apparatuses, and devices

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632284B (zh) * 2018-05-10 2021-02-23 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN109547404B (zh) * 2018-10-11 2022-08-19 平安科技(深圳)有限公司 数据的获取方法及服务器
CN109408513A (zh) * 2018-10-23 2019-03-01 杭州能链科技有限公司 数据处理方法、系统以及存储介质
CN109284633B (zh) * 2018-10-30 2022-02-11 众安信息技术服务有限公司 用于区块链网络系统的数据处理方法和数据处理装置
CN111147432B (zh) * 2018-11-06 2021-10-26 富邦金融控股股份有限公司 具隐密性的kyc数据共享系统及其方法
CN109460668A (zh) * 2018-11-16 2019-03-12 吉林多维达科技开发有限公司 一种基于区块链的信息处理系统及方法
CN109474597A (zh) * 2018-11-19 2019-03-15 中链科技有限公司 一种基于区块链的分布式消息发送与接收方法以及装置
CN109618190A (zh) * 2018-12-07 2019-04-12 深圳市云歌人工智能技术有限公司 基于推广视频设置及获取奖励的方法、装置以及存储介质
CN109640135A (zh) * 2018-12-07 2019-04-16 深圳市云歌人工智能技术有限公司 发布视频以及获取视频的方法、装置以及存储介质
CN109635559A (zh) * 2018-12-07 2019-04-16 深圳市云歌人工智能技术有限公司 发布资源和获取授权的方法、系统、装置以及存储介质
DE102019000023A1 (de) * 2019-01-07 2020-07-09 Holger Geissler Verfahren und System zur Informationsübermittlung
CN109815748B (zh) * 2019-01-24 2020-12-18 黄冈 一种基于区块链的中心数据源监察方法
US11368441B2 (en) * 2019-01-29 2022-06-21 Mastercard International Incorporated Method and system for general data protection compliance via blockchain
CN109617794A (zh) * 2019-01-31 2019-04-12 篱笆墙网络科技有限公司 即时通信系统及即时通信方法
CN110061968A (zh) * 2019-03-15 2019-07-26 广东工程职业技术学院 一种基于区块链的文件加解密方法、系统及存储介质
CN109977697A (zh) * 2019-04-03 2019-07-05 陕西医链区块链集团有限公司 一种区块链的数据授权方法
CN110224984A (zh) * 2019-05-07 2019-09-10 平安科技(深圳)有限公司 一种基于区块链技术的多方授权方法及装置
CN110213263B (zh) * 2019-05-30 2021-10-22 全链通有限公司 基于联盟区块链的身份验证方法、设备及存储介质
CN110162992B (zh) * 2019-05-31 2022-06-28 联想(北京)有限公司 数据处理方法、数据处理装置和计算机系统
US10789376B2 (en) 2019-06-28 2020-09-29 Alibaba Group Holding Limited Blockchain authorization
CN110334153B (zh) * 2019-06-28 2020-09-01 阿里巴巴集团控股有限公司 块链式账本中的授权方法、系统、装置及设备
CN110535913A (zh) * 2019-07-31 2019-12-03 苏州白杨软件有限公司 一种基于区块链的用户授权及确权方法
CN110602089B (zh) * 2019-09-11 2021-08-10 腾讯科技(深圳)有限公司 基于区块链的医疗数据存储方法、装置、设备及存储介质
CN110809270B (zh) * 2019-09-23 2020-12-18 珠海格力电器股份有限公司 一种应用控制方法、系统以及可读介质
CN110750808A (zh) * 2019-10-10 2020-02-04 腾讯科技(深圳)有限公司 一种票据处理方法、装置及存储介质装置
CN110768897B (zh) * 2019-10-25 2021-07-27 支付宝(杭州)信息技术有限公司 一种基于区块链的数字信息授权方法及装置
CN110781153B (zh) * 2019-10-30 2020-08-04 中道新职坊科技发展有限公司 基于区块链的跨应用信息共享方法及系统
CN110765490A (zh) * 2019-10-31 2020-02-07 北京海益同展信息科技有限公司 用于处理信息的方法和装置
US11546143B2 (en) * 2019-12-06 2023-01-03 Moac Blockchain Tech, Inc. Apparatus and method for terminating an authorization to access a record in a blockchain ledger
SG11202012921XA (en) * 2020-02-14 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Data authorization based on decentralized identifiers
CN111600900B (zh) * 2020-05-26 2022-09-02 牛津(海南)区块链研究院有限公司 基于区块链的单点登录方法、服务端及系统
CN115242440B (zh) * 2020-07-16 2024-01-26 华北电力科学研究院有限责任公司 一种基于区块链的物联网设备可信调用方法、装置及设备
CN111737368B (zh) 2020-07-24 2020-12-18 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质
CN111881137A (zh) * 2020-07-29 2020-11-03 浪潮云信息技术股份公司 一种基于人口基础信息库的公民数据空间应用方法
CN111818094B (zh) 2020-08-28 2021-01-05 支付宝(杭州)信息技术有限公司 一种身份注册方法、装置及设备
CN113657960A (zh) 2020-08-28 2021-11-16 支付宝(杭州)信息技术有限公司 一种基于可信资产数据的匹配方法、装置及设备
CN111814172A (zh) 2020-08-28 2020-10-23 支付宝(杭州)信息技术有限公司 一种数据授权信息的获取方法、装置及设备
CN111741036B (zh) 2020-08-28 2020-12-18 支付宝(杭州)信息技术有限公司 一种可信数据传输方法、装置及设备
CN115033919A (zh) 2020-09-04 2022-09-09 支付宝(杭州)信息技术有限公司 一种基于可信设备的数据获取方法、装置及设备
CN111814195B (zh) 2020-09-04 2021-05-25 支付宝(杭州)信息技术有限公司 一种基于可信硬件的数据管理方法、装置及设备
CN111814196B (zh) 2020-09-04 2021-01-05 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置及设备
CN111931238B (zh) 2020-09-15 2021-05-04 支付宝(杭州)信息技术有限公司 一种基于区块链的数据资产流转方法、装置及设备
CN111932426B (zh) 2020-09-15 2021-01-26 支付宝(杭州)信息技术有限公司 一种基于可信硬件的身份管理方法、装置及设备
CN112187826A (zh) * 2020-10-14 2021-01-05 深圳壹账通智能科技有限公司 区块链网络中数据授权及数据访问方法及系统
JP7163351B2 (ja) * 2020-11-05 2022-10-31 株式会社日立製作所 電子取引システム、電子取引システムのデータ秘匿化方法
US11949773B2 (en) * 2021-03-29 2024-04-02 Collibra Belgium Bv Systems and methods for secure key management using distributed ledger technology
CN112995226B (zh) * 2021-05-12 2021-08-03 中航信移动科技有限公司 基于区块链的用户数据处理系统
CN113285801A (zh) * 2021-05-25 2021-08-20 中国联合网络通信集团有限公司 基于区块链的数据传输方法和装置
CN113434552B (zh) * 2021-06-28 2023-07-21 青岛海尔科技有限公司 数据请求的处理方法和装置、存储介质及电子装置
CN113378120A (zh) * 2021-06-28 2021-09-10 北京安天网络安全技术有限公司 基于区块链的版本授权控制方法、装置、设备及存储介质
CN113343307A (zh) * 2021-06-29 2021-09-03 上海万向区块链股份公司 一种基于区块链的生产数据共享方法及系统
CN113342900B (zh) * 2021-08-02 2021-10-29 成都天府市民云服务有限公司 一种基于区块链的个人信息授权方法及系统
CN114143100B (zh) * 2021-12-06 2022-06-14 粤港澳大湾区数字经济研究院(福田) 授权控制方法、系统、智能终端及计算机可读存储介质
CN115314232B (zh) * 2021-12-31 2023-06-13 重庆科创职业学院 一种基于人工智能和智慧停车场的数据处理方法
CN114398553A (zh) * 2022-01-14 2022-04-26 北京京东方技术开发有限公司 对象推荐方法、装置、电子设备以及存储介质
CN114884679B (zh) * 2022-05-16 2024-01-19 江苏科技大学 一种基于区块链的知识产权授权方法及装置
CN115225258B (zh) * 2022-09-19 2023-01-06 中电科新型智慧城市研究院有限公司 一种基于区块链的跨域可信数据的安全管理方法及系统
CN115514578B (zh) * 2022-11-01 2023-03-21 中国信息通信研究院 基于区块链的数据授权方法和装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046638A1 (en) * 2015-08-13 2017-02-16 TD Bank Group Systems and Methods for Monitoring Referrals
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
CN107483446A (zh) * 2017-08-23 2017-12-15 上海点融信息科技有限责任公司 用于区块链的加密方法、设备以及系统
CN107979590A (zh) * 2017-11-02 2018-05-01 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
CN108632284A (zh) * 2018-05-10 2018-10-09 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911641A (zh) * 2015-12-23 2017-06-30 索尼公司 用于授权访问的客户端装置、服务器装置和访问控制系统
GB2557577A (en) * 2016-10-21 2018-06-27 Cygnetise Ltd Methods and apparatus for recording a change of authorisation state of one or more authorisation agents
US10824747B1 (en) * 2017-01-25 2020-11-03 State Farm Mutual Automobile Insurance Company Systems and methods for controlled access to policy data on blockchain
US9992022B1 (en) * 2017-02-06 2018-06-05 Northern Trust Corporation Systems and methods for digital identity management and permission controls within distributed network nodes
US11212081B2 (en) * 2017-02-24 2021-12-28 Nec Corporation Method for signing a new block in a decentralized blockchain consensus network
US10671733B2 (en) * 2017-05-19 2020-06-02 International Business Machines Corporation Policy enforcement via peer devices using a blockchain
CN107241360B (zh) * 2017-08-04 2019-01-18 北京明朝万达科技股份有限公司 一种数据安全共享交换方法和数据安全共享交换平台系统
EP3486855A1 (en) * 2017-11-21 2019-05-22 Wipro Limited System and method to validate blockchain transactions in a distributed ledger network
US10686611B2 (en) * 2017-11-24 2020-06-16 International Business Machines Corporation Data anonymizing blockchain system
US10819684B2 (en) * 2017-11-24 2020-10-27 International Business Machines Corporation Cognitive blockchain for internet of things

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170046638A1 (en) * 2015-08-13 2017-02-16 TD Bank Group Systems and Methods for Monitoring Referrals
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
CN107483446A (zh) * 2017-08-23 2017-12-15 上海点融信息科技有限责任公司 用于区块链的加密方法、设备以及系统
CN107979590A (zh) * 2017-11-02 2018-05-01 财付通支付科技有限公司 数据共享方法、客户端、服务器、计算设备及存储介质
CN108632284A (zh) * 2018-05-10 2018-10-09 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3968566A1 (en) * 2020-09-15 2022-03-16 Alipay (Hangzhou) Information Technology Co., Ltd. Data processing methods, apparatuses, and devices
US11494511B2 (en) 2020-09-15 2022-11-08 Alipay (Hangzhou) Information Technology Co., Ltd. Data processing methods, apparatuses, and devices
CN112532646A (zh) * 2020-12-09 2021-03-19 杭州趣链科技有限公司 数据共享方法、系统、装置、设备和存储介质
CN112532646B (zh) * 2020-12-09 2022-08-16 杭州趣链科技有限公司 数据共享方法、系统、装置、设备和存储介质

Also Published As

Publication number Publication date
US20210157938A1 (en) 2021-05-27
CN108632284B (zh) 2021-02-23
CN108632284A (zh) 2018-10-09
US11520912B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
WO2019214211A1 (zh) 基于区块链的用户数据授权方法、介质、装置和计算设备
TWI707245B (zh) 使用高可用性的可信執行環境檢索區塊鏈網路的存取資料
US10735202B2 (en) Anonymous consent and data sharing on a blockchain
US10063372B1 (en) Generating pre-encrypted keys
US10574456B2 (en) Encrypted file storage
US10121018B2 (en) Secure data synchronization
CN111783075B (zh) 基于密钥的权限管理方法、装置、介质及电子设备
US20190020647A1 (en) Key Attestation Statement Generation Providing Device Anonymity
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
WO2018024056A1 (zh) 用户口令管理的方法和服务器
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US11509709B1 (en) Providing access to encrypted insights using anonymous insight records
US10142100B2 (en) Managing user-controlled security keys in cloud-based scenarios
US11063922B2 (en) Virtual content repository
AU2020305390B2 (en) Cryptographic key orchestration between trusted containers in a multi-node cluster
US11394546B2 (en) Encrypted data key management
JP2023530941A (ja) ハイパーバイザ保護鍵
EP2429146B1 (en) Method and apparatus for authenticating access by a service
US11645103B2 (en) Method and system for securing the movement of virtual machines between hosts
JP2022141962A (ja) データの照会と書き込み方法、装置、電子機器、読み取り可能な記憶媒体およびコンピュータプログラム
KR102398380B1 (ko) 키 교환 방법 및 시스템
US20230299968A1 (en) Authentication of process execution in virtual environments
EP4184859A1 (en) Cloud key management for system management
KR20240013335A (ko) 블록체인 기반 금융거래 보안 시스템
Malgey et al. A Security Model for Effective Secure Cloud Computing Environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18917857

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18917857

Country of ref document: EP

Kind code of ref document: A1