CN112787976A - 数据加密、解密和共享方法、设备、系统及存储介质 - Google Patents

数据加密、解密和共享方法、设备、系统及存储介质 Download PDF

Info

Publication number
CN112787976A
CN112787976A CN201911077124.9A CN201911077124A CN112787976A CN 112787976 A CN112787976 A CN 112787976A CN 201911077124 A CN201911077124 A CN 201911077124A CN 112787976 A CN112787976 A CN 112787976A
Authority
CN
China
Prior art keywords
data
ciphertext
key
symmetric key
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911077124.9A
Other languages
English (en)
Other versions
CN112787976B (zh
Inventor
许重建
陀前途
钟文波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Singapore Holdings Pte Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911077124.9A priority Critical patent/CN112787976B/zh
Priority to PCT/CN2020/125226 priority patent/WO2021088728A1/zh
Publication of CN112787976A publication Critical patent/CN112787976A/zh
Application granted granted Critical
Publication of CN112787976B publication Critical patent/CN112787976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种数据加密、解密和共享方法、设备、系统及存储介质。在本申请实施例中,在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。

Description

数据加密、解密和共享方法、设备、系统及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据加密、解密和共享方法、设备、系统及存储介质。
背景技术
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,区块链具有开放性、不可篡改、分布式共享全局账本等优点,但同时这些特性也带来数据泄露问题,严重影响了区块链技术在许多业务场景中的应用。因此,如何保障区块链中数据的安全性和隐私性已成为亟待解决的问题。
发明内容
本申请的多个方面提供一种数据加密、解密和共享方法、设备、系统及存储介质,用以提高数据的安全性和隐私性。
本申请实施例提供一种数据加密方法,包括:
获取待处理数据和对称密钥,所述待处理数据是由第一用户提供的;
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
本申请实施例还提供一种数据解密方法,包括:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种数据共享方法,包括:
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;
根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;
将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
本申请实施例还提供一种数据加密方法,包括:
获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;
根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;
将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;
根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;
将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取待处理数据和对称密钥;所述待处理数据是由第一用户提供的
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;
根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;
将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;
根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;
将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;
根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;
将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
本申请实施例还提供一种区块链系统,包括:多台节点设备,其中,所述节点设备,用于:获取第一用户提供的待处理数据和第一对称密钥;根据所述第一对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;根据所述区块链系统中的第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一对称密钥的密文;以及将所述待处理数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
在一些实施例中,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第二对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第二对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种区块链系统,包括:多台节点设备,其中,所述节点设备,用于:从区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据所述区块链系统中的第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;以及将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
在一些实施例中,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第三对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第三对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种区块链系统,包括:多台节点设备,其中,所述节点设备,用于:获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据所述区块链系统中的第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据所述区块链系统中的第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
在一些实施例中,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第三对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第三对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种数据加密系统,包括:智能合约层和区块链存储层;
其中,所述智能合约层,用于获取第一用户提供的待处理数据和对称密钥;根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;以及根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;并将所述待处理数据的密文和所述对称密钥的密文写入所述存储层,以供所述第二用户根据其私钥访问所述待处理数据。
本申请实施例还提供一种数据解密系统,包括:智能合约层和区块链存储层;所述区块链存储层,用于存储数据密文和所述数据密文对应的密钥密文;
所述智能合约层,用于从所述区块链存储层中获取所述数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;以及根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
本申请实施例还提供一种数据共享系统,包括:智能合约层和区块链存储层;其中,所述区块链存储层,用于存储待共享数据的第一密文和所述待共享数据对应的密钥密文;
所述智能合约层,用于从所述区块链存储层中获取所述第一密文和所述密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;以及将所述第二密文和所述第二对称密钥的密文写入所述区块链存储层,以与所述第二用户共享所述待共享数据。
本申请实施例还提供一种数据加密系统,包括:智能合约层和区块链存储层;
其中,所述智能合约层,用于获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入所述区块链存储层,以供所述第二用户根据其私钥访问所述第一类数据;以及将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;并将所述中间数据的密文和所述第二对称密钥的密文写入所述区块链存储层,以供所述第三用户根据其私钥访问所述第二类数据。
本申请实施例还提供一种贸易区块链系统,包括:买家侧设备、卖家侧设备以及第三方设备;
所述买家侧设备或所述卖家侧设备,用于:获取待处理的交易数据;所述交易数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据交易的另一方的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;以及将所述第一类数据的密文和所述第一对称密钥的密文写入贸易区块链,以供所述交易的另一方根据其私钥访问所述第一类数据;并将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据所述交易的另一方和所述第三方设备对应的第三方的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入所述贸易区块链,以供所述交易的另一方和所述第三方分别根据其私钥访问所述第二类数据。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述各方法中的步骤。
在本申请实施例中,在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a-图1c为本申请实施例提供的区块链系统的结构示意图
图2a和图2b为本申请实施例提供的数据加密系统的结构示意图;
图3a和图3b为本申请实施例提供的数据解密系统的结构示意图;
图3c为本申请实施例提供的数据共享系统的结构示意图;
图4为本申请实施例提供的一种数据加密方法的流程示意图;
图5为本申请实施例提供的另一种数据加密方法的流程示意图;
图6为本申请实施例提供的一种数据解密方法的流程示意图;
图7a为本申请实施例提供的一种数据共享方法的流程示意图;
图7b为本申请实施例提供的一种贸易区块链系统的结构示意图;
图8-图11为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有区块链中数据缺乏的安全性和隐私性的技术问题,在本申请一些实施例中,在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1a为本申请实施例提供的一种区块链系统的结构示意图。如图1a所示,该区块链系统包括:多台节点设备10a。在本申请实施例中,多台是指2台或2台以上。在本实施例中,多台节点设备10a组成一个区块链系统,各节点设备10a之间可实现数据共享。
在本实施例中,多台节点设备10a之间可以是有线或无线连接。可选地,多台节点设备10a之间可以通过移动网络通信连接,相应地,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。可选地,多台节点设备10a之间也可以通过蓝牙、WiFi、红外线等方式通信连接。
在本实施例中,节点设备10a是指具有计算、存储、通信等功能的计算机设备。节点设备10a可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(Virtual Machine,VM)或容器。另外,节点设备10a也可以指具备相应数据处理和存储能力的其他计算设备,例如智能手机、平板电脑、个人电脑、穿戴设备等终端设备(运行数据处理程序)等。
在本实施例中,每台节点设备10a均可以执行相应的数据处理逻辑。下面以第一节点设备10a1为例进行示例性说明。其中,第一节点设备10a1均为区块链系统中的任一用户,并将第一节点设备10a1的操作用户定义为第一用户。
在本实施例中,第一节点设备10a1可获取第一用户提供的待处理数据,并获取第一对称密钥。其中,第一用户为第一节点设备10a1的操作用户,即待处理数据的提供方。进一步,第一节点设备10a1根据第一对称密钥对待处理数据进行对称加密,得到待处理数据的密文。在本实施例中,对第一节点设备10a1根据第一对称密钥对待处理数据进行对称加密的具体实施方式不进行限定。可选地,第一节点设备10a1可采用DES、3DES、IDEA、RC5、RC6等加密算法对待处理数据进行对称加密,但不限于此。其中,采用的对称加密算法不同,根据第一对称密钥对待处理数据进行对称加密的具体实施方式不同。在本实施例中,采用对称加密方式对待处理数据进行加密,尤其对于数据量较大的待处理数据,有助于提高对待处理数据的加密处理速度,提高加密效率。
之后,第一节点设备10a1根据区块链系统中的第二用户的公钥对第一对称密钥进行非对称加密,得到第一对称密钥的密文。其中,第二用户为具有访问待处理数据的权限的用户。第二用户位于第一节点设备10a1所在的区块链系统中,且具有访问待处理数据的权限的用户。进一步,第二用户的数量可以为1个或多个。多个是指2个或2个以上。若第二用户的数量为多个,则第一节点设备10a1可根据这多个第二用户的公钥对第一对称密钥分别进行非对称加密,这样,每个第二用户均可根据其各自的私钥对第一对称密钥的密文进行非对称解密。
在本实施例中,对第一节点设备10a1对第一对称密钥进行非对称加密的具体实施方式不进行限定。可选地,第一节点设备10a1可RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等算法对第一对称密钥进行非对称加密,但不限于此。相应地,采用的非对称加密算法不同,根据第二用户的公钥对待处理数据进行对称加密的具体实施方式不同。
进一步,第一节点设备10a1将待处理数据的密文和第一对称密钥的密文写入区块链中。这样,第二用户便可根据其私钥访问待处理数据。其中,第二用户的公钥和私钥相对应。在本实施例中,第一对称密钥是加密传播的,可保障第一对称密钥的安全性和隐私性,进而有助于保障待处理数据的安全性和隐私性。
相应地,第二用户的第二节点设备10a2在访问上述待处理数据时,可从区块链中获取待处理数据的密文和第一对称密钥的密文,并根据本端私钥对第一对称密钥的密文进行非对称解密,得到第一对称密钥;之后,第二用户的节点设备可根据第一对称密钥对待处理数据的密文进行解密,从而获取待处理数据。
在本实施例提供的区块链系统中,节点设备可在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
可选地,第一对称密钥可以是第一节点设备10a1从预设的多个对称密钥中随机获取的,也可以是第一节点设备10a1在获取待处理数据的过程中,为待处理数据随机生成的对称密钥。其中,在获取待处理数据的过程中可以理解为:在获取待处理数据时,在获取待处理数据之后,或者,在获取待处理数据的进程中,等等,但不限于此。在本申请实施例中,不限定第一节点设备10a1随机生成第一对称密钥的具体实施方式。例如,可预设对称密钥的生成规则,第一节点设备10a1可根据预设的生成规则,随机生成第一对称密钥。其中,预设的生成规则,可以为生成的对称密钥的位数、生成的对称密钥包含的字符类型等等,但不限于此。例如,预设的生成规则,可以为生成的对称密钥为6位数,并需要包含字母和数字两种字符等等,但不限于此。
进一步,在一些实施例中,对于待处理数据来说,第一用户可能想对其提供的待处理数据的访问用户进行区分。对于待处理数据中的部分数据,第一用户只想供指定的用户访问;剩余部分数据供另一部分用户访问等等。例如,在一些商务贸易的应用场景中,买家、卖家、货运公司、海关、税局等多方可形成一个区块链系统。在该区块链系统中,买卖双方提供的待处理数据中的敏感信息(例如交易金额、数量、买卖双方的地址信息等)只供买卖双方访问,其余非敏感信息可供区块链中的所有用户访问。
在该实施例中,待处理数据可包含具有指定属性的数据。对于具有指定属性的数据来说,仅可供区块链系统中的部分用户访问。在本申请实施例中,待处理数据可均具有指定属性,也可部分具有指定属性,也可全不具有指定属性。在本申请实施例中,在不同的应用场景中,指定属性可以不同;即便在相同的应用场景中,第一用户的身份不同,指定属性也可不同。例如,在商务贸易场景中,对于买卖双方来说,指定属性可以为交易金额、数量、买卖双方的地址信息等等,但不限于此;对于物流公司来说,指定属性可以为货运司机的个人信息(身份证号码、联系方式等等)等。其中,对于全部具有指定属性和全不具有指定属性的加密方式均可参见上述实施例的相关内容,在此不再赘述。下面重点对待处理数据部分具有指定属性的加密方式为例,进行示例性说明。
在本申请实施例中,对于部分具有指定属性的待处理数据,第一节点设备10a1可从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据。进一步,第一节点设备10a1为第一类数据和第二类数据分别生成第一随机密钥和第二随机密钥,其中,第一随机密钥和第二随机密钥均为对称密钥。其中,第一节点设备10a1随机生成第一随机密钥和第二随机密钥的具体实施方式,均可参见上述随机生成第一对称密钥的相关内容,在此不再赘述。
进一步,第一节点设备10a1便可根据第一随机密钥对第一类数据进行对称加密,以得到第一类数据的密文;并将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据。进一步,第一节点设备10a1可根据第二随机密钥对中间数据进行对称加密,进而得到待处理数据的密文。第一节点设备10a1根据第一随机密钥和第二随机密钥对待处理数据中的第一类数据进行双重加密,有利于进一步提高第一类数据的安全性和隐私性。此外,第一节点设备对待处理数据中的第一类数据和第二类数据分别进行加密,有助于实现字段粒度的数据隐私保护。
进一步,第一节点设备10a1根据具有访问第一类数据的权限的第一类用户的公钥对第一随机密钥进行加密处理,进而得到第一随机密钥的密文;并根据具有访问第二类数据的权限的第二类用户的公钥对第二随机密钥进行加密处理,以得到第二随机密钥的密文。可选地,第二类用户可为与第一类用户不同的用户,也可包含第一类用户。
在本实施例中,第一类用户是指位于第一节点设备10a1所在的区块链系统中,且具有访问第一类数据的权限的用户。进一步,第一类用户的数量可以为1个或多个。若第一类用户的数量为多个,则第一节点设备10a1可根据这多个第一类用户的公钥对第一随机密钥分别进行非对称加密,这样,每个第一类用户均可根据其各自的私钥对第一随机密钥的密文进行非对称解密。第二类用户是指位于第一节点设备10a1所在的区块链系统中,且具有访问第二类数据的权限的用户。进一步,第二类用户的数量可以为1个或多个。若第二类用户的数量为多个,则第一节点设备10a1可根据这多个第二类用户的公钥对第二随机密钥分别进行非对称加密,这样,每个第二类用户均可根据其各自的私钥对第二随机密钥的密文进行非对称解密。
进一步,第一节点设备10a1还可形成第一类用户的公钥和第一随机密钥之间的键值对,为了便于描述和区分,将该键值对定义为第一键值对。进一步,第一节点设备10a1可将第一键值对以及第一类数据的密文存储至区块链的世界状态变量(world state)中;并将第一键值对和第一类数据的密文对应的日志存储至区块链的区块账本中。其中,第一键值对对应的日志可以为形成第一键值对的事件记录,可以包括第一键值对的形成时间、操作者以及相关操作的描述等等,但不限于此。相应地,第一类数据的密文对应的日志可以为第一类数据的密文的生成日志,可以包括第一类数据的密文的生成时间、操作者以及相关操作的描述等等,但不限于此。
进一步,第一节点设备10a1还可形成第二类用户的公钥和第二随机密钥之间的键值对,为了便于描述和区分,将该键值对定义为第二键值对。相应地,第一节点设备10a1还可将第二键值对以及待处理数据的密文存储至区块链的世界状态变量中;并将第二键值对和待处理数据的密文对应的日志存储至区块链的区块账本中。其中,关于第二键值对和待处理数据的密文对应的日志的描述,可参见上述第一键值对和第一类数据密文对应的日志的相关内容,在此不再赘述。
值得说明的是,上述第一节点设备10a1只是对待处理数据进行加密处理方式的描述,并不限定各操作的执行顺序,这些操作可以按照其在上述实施例中出现的顺序来顺序执行或并行执行,也可不按照其在上述实施例中出现的顺序来执行。例如,第一节点设备10a1可先将可将第一键值对以及第一类数据的密文存储至区块链的世界状态变量中;以及将第一键值对和第一类数据的密文对应的日志存储至区块链的区块账本中;再为第二类数据生成第二随机密钥等等。
下面以第一节点设备10a1先对第一类数据进行加密,再对第二类数据进行加密为例,进行示例性说明。
在本实施例中,第一节点设备10a1从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据。首先,第一节点设备10a1对第一类数据进行第一层加密,具体实施过程为:第一节点设备10a1根据第一对称密钥对第一类数据进行对称加密,得到第一类数据的密文。进一步,第一节点设备10a1再根据第二用户的公钥对第一对称密钥进行非对称加密,得到第一对称密钥的密文。这样,第二用户便可根据其私钥对第一对称密钥的密文进行非对称解密,得到第一随机密钥的明文。之后,根据第一对称密钥对第一类数据的密文进行对称解密,进而得到第一类数据的密文。可选地,在第一层加密处理中,第一节点设备10a1可随机为第一类数据随机生成第一对称密钥。在本实施例中,第二用户相当于上述第一类用户,关于第二用户的描述可参见上述第一类用户的描述的相关内容,在此不再赘述。
进一步,第一节点设备10a1还可将第一类数据的密文和第一对称密钥的密文写入区块链。可选地,第一节点设备10a1可将第二用户的公钥与第一对称密钥的密文组成第一键值对,并将第一键值对和第一类数据的密文存放在世界状态变量中,并将第一键值对对应的日志以及第一类数据的密文对应的日志写入区块账本中。
之后,第一节点设备10a1可对待处理数据进行第二层加密。具体实施过程为:第一节点设备10a1将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据,并根据第二对称密钥对中间数据进行对称加密,得到中间数据的密文。可选地,第一节点设备10a1可随机生成第二对称密钥。之后,第一节点设备10a1根据第三用户的公钥对第二对称密钥进行非对称加密,得到第二对称密钥的密文。其中,第三用户是对第二类数据具有访问权限的用户。可选地,第三用户可以为第二用户,也可为第二用户之外的其它用户。
进一步,第三用户的数量可以为1个或多个。若第三用户的数量为多个,则第一节点设备10a1可根据这多个第三用户的公钥对第二对称密钥分别进行非对称加密,这样,每个第三用户均可根据其各自的私钥对第二对称密钥的密文进行非对称解密,得到第二对称密钥的明文,之后根据第二对称密钥对待处理数据的密文进行非对称解密,得到第二类数据的明文和第一类数据的密文。
进一步,第一节点设备10a1还可将中间数据的密文和第二对称密钥的密文写入区块链,以供第三用户根据其私钥访问第二类数据。可选地,第一节点设备10a1可将第三用户的公钥与第二对称密钥的密文组成第二键值对,并将第二键值对和中间数据的密文存放在世界状态变量中,并将第二键值对对应的日志以及中间数据的密文对应的日志写入区块账本中。
除了上述对待处理数据进行加密处理的过程,区块链系统中的节点设备10a还可执行解密处理。下面仍以第一节点设备10a1为例,进行示例性说明。如图1b所示,在第一节点设备10a1访问数据时,可从区块链中获取数据密文和该数据密文对应的密钥密文。其中,数据密文为第一节点设备10a1要访问的数据(即待访问数据)对应的密文;密钥密文是根据第一节点设备10a1的本端私钥对应的公钥加密的。这样,第一节点设备10a1便具有访问数据密文对应的数据(待访问数据)的权限。进一步,第一节点设备10a可根据本端私钥对密钥密文进行非对称解密,得到对称密钥;之后,第一节点设备10a1可根据对称密钥对数据密文进行对称解密,得到数据明文。
可选地,第一节点设备10a1可接收第一用户下发的访问指令,该访问指定中携带有待访问数据的标识。进一步,第一节点设备10a1可从区块链中获取与待访问数据的标识对应的数据密文以及该数据密文对应的公钥与密钥密文之间的对应关系;并将第一节点设备10a1的本端公钥在公钥与密钥密文之间的对应关系中匹配,进而得到数据密文对应的密钥密文。可选地,数据密文对应的公钥与密钥密文之间的对应关系可以为数据密文对应的公钥与密钥密文组成的键值对列表。
在本申请实施例中,在第一节点设备10a1将本端公钥在公钥与密钥密文之间的对应关系中匹配时,若可匹配到对应的公钥,则说明第一用户具有访问待访问数据的权限;若匹配不到对应的公钥,则说明第一用户不具有访问待访问数据的权限。可选地,第一节点设备10a1在公钥与密钥密文之间的对应关系中匹配不到本端公钥时,还可输出提示信息,以提示第一用户不具有待访问数据的访问权限。
无论对于具有指定属性的第一类数据,还是不具有指定属性的第二类数据,均可采用上述方法进行数据解密。
可选地,若待访问数据部分具有指定属性,则第一节点设备10a1还可从待访问数据的标识中识别出具有指定属性的第一类数据的标识和不具有指定属性的第二类数据的标识;之后,根据第一类数据的标识和第二类数据的标识,从区块链的世界状态变量中分别获取第一类数据和第二类数据分别对应的公钥与密钥密文之间的对应关系。进一步,第一节点设备10a1将本端公钥在第二类数据对应的公钥与密钥密文之间的对应关系中进行匹配,得到第二密钥密文。进一步,第一节点设备10a1可根据本端私钥对第二密钥密文进行非对称解密,得到第二对称密钥。进一步,第一节点设备10a1可根据第二对称密钥对数据密文进行解密,进而得到第二类数据的明文和第一类数据的密文。
进一步,第一节点设备10a1可将本端公钥在第一类数据对应的公钥与密钥密文之间的对应关系中进行匹配,得到第一密钥密文。进一步,第一节点设备10a1还可根据本端私钥对第一密钥密文进行非对称解密,得到第一对称密钥。进一步,第一节点设备10a1可根据第一对称密钥对第一类数据的密文进行解密,进而得到第一类数据的明文。在本申请实施例中,在第一节点设备10a1将本端公钥在第一类数据对应的公钥与密钥密文之间的对应关系中匹配时,若可匹配到对应的公钥,则说明第一用户具有访问第一类数据的权限;若匹配不到对应的公钥,则说明第一用户不具有访问第一类数据的权限。可选地,第一节点设备10a1在公钥与密钥密文之间的对应关系中匹配不到本端公钥时,还可输出提示信息,以提示第一用户不具有第一类数据的访问权限。
值得说明的是,上述第一节点设备10a1进行数据解密处理方式的描述,并不限定各操作的执行顺序,这些操作可以按照其在上述实施例中出现的顺序来顺序执行或并行执行,也可不按照其在上述实施例中出现的顺序来执行。优选地,第一节点设备10a1按照待访问数据的加密过程的逆过程进行解密。
需要说明的是,若待访问数据只包含不具有指定属性的第二类数据,第一节点设备10a1只需执行第二层数据解密过程。具体实施过程为:第一节点设备10a1从世界状态变态中读取第二类数据对应的公钥和密钥密文之间的对应关系,可选地,该对应关系可以键值对列表的形式进行存储。进一步,第一节点设备10a1根据本端公钥在公钥和密钥密文之间的对应关系中进行匹配,得到本端私钥对应的第二密钥密文。进一步,第一节点设备10a1根据本端私钥对该第二密钥密文进行解密,得到第二随机密钥的明文,并根据第二随机密文对数据密文进行解密处理,进而得到第二类数据的明文。
若待访问数据包含具有指定属性的第一类数据,则第一节点设备10a1可执行第一层数据解密过程。具体实施过程为:第一节点设备10a1从世界状态变态中读取第一类数据对应的公钥和密钥密文之间的对应关系,可选地,该对应关系可以键值对列表的形式进行存储。进一步,第一节点设备10a根据本端公钥在第一类数据对应的公钥和密钥密文之间的对应关系中进行匹配,得到本端私钥对应的第一密钥密文。进一步,第一节点设备10a1根据本端私钥对第一密钥密文进行解密,得到第一随机密钥的明文,并根据第一随机密文对第一类数据的密文进行解密处理,进而得到第一类数据的明文。
本申请实施例提供的区块链系统的节点设备除了可进行数据加密和数据解密之外,还可对数据进行共享。例如,第一用户可向其具有访问权限的数据共享给没有访问权限的第二用户等等。其中,第一用户具有访问权限的数据可以为第一用户自己提供的数据,也可为其他用户提供的数据。下面仍然以第一节点设备10a1为例对进行数据共享的过程进行示例性说明。
如图1c所示,第一节点设备10a1从区块链中获取待共享数据的第一密文和从区块链中获取待共享数据的第一密文和待共享数据对应的密钥密文;并根据本端私钥对密钥密文进行非对称解密,以得到第一对称密钥;其中,密钥密文是根据本端私钥对应的公钥对第一对称密钥加密形成的;之后,根据第一对称密钥对第一密文进行解密处理,以得到待共享数据。进一步,第一节点设备获取第二对称密钥,并根据第二对称密钥对待共享数据进行对称加密,以得到待共享数据的第二密文;之后,根据区块链系统中的第二用户的公钥对第二对称密钥进行加密,以得到第二对称密钥的密文;以及将第二密文和第二对称密钥的密文写入区块链,以与第二用户共享待共享数据。其中,在本实施例中,第二用户是指待共享数据的被共享方,其是对待共享数据具有访问权限的用户。
在本实施例中,对于第一节点设备10a1获取待共享数据的明文的具体过程可参见上述实施例关于数据解密的实施例中的相关内容,对于第一节点设备10a1对待共享数据进行加密处理的具体实施方式可参见上述实施例中关于数据加密的实施例的相关内容,在此均不再赘述。
相应地,对于第二用户便可从区块链中获取待共享数据,关于第二用户访问待共享数据的具体实施方式可参见上述数据解密实施例的相关内容,在此不再赘述。
值得说明的是,本申请实施例提供的区块链系统可以以太坊、HyperLedgerFabric、R3 Corda等区块链平台或框架,也可以基于区块链后端即服务(Backend as aService,BAAS)平台来进行开发。
在本申请各实施例中,节点设备10a的数据处理逻辑可在节点设备10a上部署的智能合约中进行实现。相应地,本申请实施例还提供数据加密和解密系统。
图2a为本申请实施例提供的一种数据加密系统的结构示意图。如图2a所示,该数据加密系统包括:智能合约层20a和区块链存储层20b。其中,该数据加密系统可部署在区块链中的各节点设备中。
在本实施例中,智能合约层20a可获取第一用户提供的待处理数据,并获取对称密钥。之后,智能合约层20a根据该对称密钥对待处理数据进行对称加密,以得到待处理数据的密文;以及根据第二用户的公钥对对称密钥进行非对称加密,以得到对称密钥的密文。之后,智能合约层20a将待处理数据的密文和对称密钥的密文写入区块链存储层20b中,以供第二用户根据其私钥访问待处理数据。其中,第二用户的公钥和私钥一一对应。
在一些实施例中,智能合约层20a可在获取待处理数据的过程中,为待处理数据随机生成对称密钥。
在本申请实施例中,待处理数据均具有指定属性;或者,待处理数据均不具有所述指定属性;或者,待处理数据部分具有指定属性。
进一步,若待处理数据部分具有指定属性,则智能合约层20a在为待处理数据随机生成对称密钥时,具体用于:从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据;并为第一类数据和第二类数据分别生成第一随机密钥和第二随机密钥,其中,第一随机密钥和第二随机密钥均为对称密钥。
相应地,智能合约层20a在根据对称密钥对所述待处理数据进行加密处理时,具体用于:根据第一随机密钥对第一类数据进行对称加密,以得到第一类数据的密文;并将待处理数据中的第一类数据替换为第一类数据的密文,以得到中间数据;之后,根据第二随机密钥对中间数据进行对称加密,以得到待处理数据的密文。
进一步,智能合约层20a在根据第二用户的公钥对所述对称密钥进行非对称加密时,具体用于:根据具有访问第一类数据的权限的第一类用户的公钥对第一随机密钥进行加密处理,以得到第一随机密钥的密文;并根据具有访问第二类数据的权限的第二类用户的公钥对第二随机密钥进行加密处理,以得到第二随机密钥的密文。
可选地,如图2a所示,区块链存储层20b包括世界状态变量20b1和区块账本20b2。相应地,智能合约层20a在将待处理数据的密文和对称密钥的密文写入区块链存储层20b时,具体用于:将第一类用户的公钥和第一随机密钥的密文形成的第一键值对以及第一类数据的密文存储至世界状态变量20b1中;并将第一键值对和所述第一类数据的密文对应的日志存储至区块账本20b2中;将第二类用户的公钥和第二随机密钥的密文形成的第二键值对以及待处理数据的密文存储至世界状态变量20b1中;并将第二键值对和待处理数据的密文对应的日志存储至区块账本20b2中。
本实施例提供的数据加密系统,可在智能合约中根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
另外,在智能合约中完成对待处理数据的加密处理,还可充分根据区块链技术的去中心化和不可篡改等特点。
值得说明的是,上述实施例仅为智能合约层20a对待处理数据进行加密处理方式的描述,并不限定各操作的执行顺序,这些操作可以按照其在上述实施例中出现的顺序来顺序执行或并行执行,也可不按照其在上述实施例中出现的顺序来执行。下面以智能合约层先对第一类数据进行加密,再对第二类数据进行加密为例,进行示例性说明。
如图2b所示,在本实施例中,智能合约层20a从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据。首先,智能合约层20a对第一类数据进行第一层加密,具体实施过程为:智能合约层20a为第一类数据随机生成第一随机密钥,其中第一随机密钥为对称密钥。之后,智能合约层20a根据第一随机密钥对第一类数据进行对称加密,得到第一类数据的密文。进一步,智能合约层20a再根据第二用户的公钥对第一随机密钥进行非对称加密,得到第一随机密钥的密文。这样,第二用户便可根据其私钥对第一随机密钥的密文进行非对称解密,得到第一随机密钥的明文。之后,根据第一随机密钥对第一类数据的密文进行对称解密,进而得到第一类数据的密文。其中,关于第二用户的描述可参见上述实施例的相关内容,在此不再赘述。
进一步,智能合约层20a可将第二用户的公钥与第一随机密钥的密文组成第一键值对,并将第一键值对和第一类数据的密文存放在世界状态变量中,并将第一键值对对应的日志以及第一类数据的密文对应的日志写入区块账本中。
之后,智能合约层20a可对待处理数据进行第二层加密。具体实施过程为:智能合约层20a将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据。进一步,智能合约层20a随机生成第二随机密钥,第二随机密钥也为对称密钥,并根据第二随机密钥对中间数据进行对称加密,得到待处理数据的密文。之后,智能合约层20a根据第三用户的私钥对第二随机密钥进行非对称加密,得到第二随机密钥的密文。其中,第三用户是对第二类用户具有访问权限的用户。可选地,第三用户可以为第二用户,也可为第二用户之外的其它用户。其中,关于第三用户的描述可参见上述实施例的相关内容,在此不再赘述。
进一步,智能合约层20a可将第三用户的公钥与第一随机密钥的密文组成第二键值对,并将第二键值对和待处理数据的密文存放在世界状态变量中,并将第二键值对对应的日志以及待处理数据的密文对应的日志写入区块账本中。
除了上述数据加密系统之外,本申请实施例还提供数据解密系统。如图3a所示,该数据解密系统包括:智能合约层30a和区块链存储层30b。其中,该数据加密系统可部署在区块链中的各节点设备中。
在本实施例中,区块链存储层30b存储有数据密文和数据密文对应的密钥密文。
智能合约层30a用于从区块链存储层30b中获取数据密文和该数据密文对应的密钥密文;根据智能合约层30a所属的节点设备的本端私钥对密钥密文进行非对称解密,得到对称密钥;其中,该密钥密文是根据智能合约层30a所属的节点设备的本端私钥对应的公钥加密的;以及并根据对称密钥对数据密文进行对称解密,得到数据明文。
在本申请实施例中,若待访问数据只包含不具有指定属性的第二类数据,智能合约层30a只需第二层数据解密过程,其具体实施过程可参见上述实施例的相关内容,在此不再赘述。
若待访问数据包含具有指定属性的第一类数据,则如图3b所示,智能合约层30a还可执行第一层数据解密过程,其具体实施过程也可参见上述实施例的相关内容,在此不再赘述。
本申请实施例还提供一种数据共享系统。如图3c所示,区块链存储层30b中存储有待共享数据的第一密文和第一密文对应的密钥密文。
在本实施例中,如图3c所示,智能合约层30a可从区块链存储层30b中获取待共享数据的第一密文和待共享数据对应的密钥密文;并根据本端私钥对密钥密文进行非对称解密,以得到第一对称密钥;其中,密钥密文是根据本端私钥对应的公钥对第一对称密钥加密形成的。之后,智能合约层30a可根据第一对称密钥对第一密文进行解密处理,以得到待共享数据。进一步,智能合约层30a可获取第二对称密钥,并根据第二对称密钥对待共享数据进行对称加密,以得到待共享数据的第二密文;之后,智能合约层30a根据区块链系统中的第二用户的公钥对第二对称密钥进行加密,以得到第二对称密钥的密文;以及将第二密文和第二对称密钥的密文写入区块链,以与第二用户共享待共享数据。其中,在本实施例中,第二用户是指对待共享数据具有访问权限的用户。
在本实施例中,对于智能合约层30a获取待共享数据的明文的具体过程可参见上述实施例关于数据解密的实施例中的相关内容,对于智能合约层30a对待共享数据进行加密处理的具体实施方式可参见上述实施例中关于数据加密的实施例的相关内容,在此均不再赘述。
相应地,对于第二用户便可从区块链中获取待共享数据,关于第二用户访问待共享数据的具体实施方式可参见上述数据解密实施例的相关内容,在此不再赘述。
除了上述系统实施例之外,本申请实施例还提供数据加密方法和数据解密方法,下面分别进行示例性说明。
图4为本申请实施例提供的一种数据加密方法的流程示意图。如图4所示,该方法包括:
401、获取待处理数据和对称密钥,其中,待处理数据是由第一用户提供的。
402、根据对称密钥对待处理数据进行对称加密,以得到待处理数据的密文。
403、根据第二用户的公钥对对称密钥进行非对称加密,以得到对称密钥的密文。
404、将待处理数据的密文和对称密钥的密文写入区块链,以供第二用户根据其私钥访问待处理数据。
在本实施例中,第二用户为对待处理数据具有访问权限的用户。
在本实施例中,在步骤401中,获取第一用户提供的待处理数据,并获取对称密钥。第一用户为提供待处理数据的用户。进一步,在步骤402中,根据该对称密钥对待处理数据进行对称加密,得到待处理数据的密文。在本实施例中,对根据第一对称密钥对待处理数据进行对称加密的具体实施方式不进行限定。其具体算法可参见上述实施例的相关内容,在此不再赘述。在本实施例中,采用对称加密方式对待处理数据进行加密,尤其对于数据量较大的待处理数据,有助于提高对待处理数据的加密处理速度,提高加密效率。
进一步,在步骤403中,可根据区块链系统中的第二用户的公钥对对称密钥进行非对称加密,得到对称密钥的密文。其中,第二用户为具有访问待处理数据的权限的用户。进一步,在步骤404中,将待处理数据的密文和对称密钥的密文写入区块链中。这样,第二用户便可根据其私钥访问待处理数据。其中,第二用户的公钥和私钥相对应。在本实施例中,对称密钥是加密传播的,可保障对称密钥的安全性和隐私性,进而有助于保障待处理数据的安全性和隐私性。
相应地,第二用户的节点设备在访问上述待处理数据时,可从区块链中获取待处理数据的密文和对称密钥的密文,并根据本端私钥对对称密钥的密文进行非对称解密,得到对称密钥;之后,第二用户的节点设备可根据对称密钥对待处理数据的密文进行解密,从而获取待处理数据。
在本实施例提供的区块链系统中,节点设备可在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
在本申请实施例中,可在节点设备中预设多个对称密钥,相应地,步骤401的一种可选实施方式为:从预设的多个对称密钥中随机获取一个对称密钥。或者,也可在获取待处理数据的过程中,为待处理数据随机生成的对称密钥。其中,关于在获取待处理数据的过程中的描述可参见上述实施例的相关内容,在此不再赘述。
在一些实施例中,待处理数据可均具有指定属性,也可部分具有指定属性,也可全不具有指定属性。在本申请实施例中,在不同的应用场景中,指定属性可以不同;即便在相同的应用场景中,第一用户的身份不同,指定属性也可不同。其具体描述可参见上述实施例的相关内容,在此不再赘述。其中,对于全部具有指定属性和全不具有指定属性的加密方式均可参见上述实施例的相关内容,在此不再赘述。下面重点对待处理数据部分具有指定属性的加密方式为例,进行示例性说明。
在本申请实施例中,对于部分具有指定属性的待处理数据,步骤402的一种可选实施方式为:从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据;并为第一类数据和第二类数据分别生成第一随机密钥和第二随机密钥,其中,第一随机密钥和第二随机密钥均为对称密钥。
相应地,步骤402的一种可选实施方式为:根据第一随机密钥对第一类数据进行对称加密,以得到第一类数据的密文;并将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据;根据第二随机密钥对中间数据进行对称加密,进而得到待处理数据的密文。其中,采用第一随机密钥和第二随机密钥对待处理数据中的第一类数据进行双重加密,有利于进一步提高第一类数据的安全性和隐私性。此外,第一节点设备对待处理数据中的第一类数据和第二类数据分别进行加密,有助于实现字段粒度的数据隐私保护。
进一步,步骤403的一种可选实施方式为:根据具有访问第一类数据的权限的第一类用户的公钥对第一随机密钥进行加密处理,进而得到第一随机密钥的密文;并根据具有访问第二类数据的权限的第二类用户的公钥对第二随机密钥进行加密处理,以得到第二随机密钥的密文。可选地,第二类用户可为与第一类用户不同的用户,也可包含第一类用户。
相应地,步骤404的一种可选实施方式为:将第一类用户的公钥和第一随机密钥的密文形成的第一键值对以及第一类数据的密文存储至区块链的世界状态变量中;并将第一键值对和第一类数据的密文对应的日志存储至区块链的区块账本中;以及将第二类用户的公钥和第二随机密钥的密文形成的第二键值对以及待处理数据的密文存储至区块链的世界状态变量中;并将第二键值对和待处理数据的密文对应的日志存储至区块链的区块账本中。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据加密方法中的步骤。
值得说明的是,上述实施例只是对待处理数据进行加密处理方式的描述,并不限定各操作的执行顺序,这些操作可以按照其在上述实施例中出现的顺序来顺序执行或并行执行,也可不按照其在上述实施例中出现的顺序来执行。下面以先对第一类数据进行加密,再对第二类数据进行加密为例,进行示例性说明。
图5为本申请实施例提供的另一种数据加密方法的流程示意图。如图5所示,该方法包括:
501、获取第一用户提供的待处理数据,其中,待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据。
502、根据第一对称密钥对第一类数据进行对称加密,并根据第二用户的公钥对第一对称密钥进行非对称加密,以得到第一类数据的密文和第一对称密钥的密文。
503、将第一类数据的密文和第一对称密钥的密文写入区块链,以供第二用户根据其私钥访问所述第一类数据。
504、将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据。
505、根据第二对称密钥对中间数据进行对称加密,并根据第三用户的公钥对第二对称密钥进行非对称加密,以得到中间数据的密文和第二对称密钥的密文。
506、将中间数据的密文和第二对称密钥的密文写入区块链,以供第三用户根据其私钥访问第二类数据。
在本实施例中,第二用户是指对第一类数据具有访问权限的用户,第三用户是指对第二类数据具有访问权限的用户。可选地,第三用户可与第二用户为同一用户,也可为不同用户。
在本实施例中,对于第一类数据采用双重加密,有利于进一步提高第一类数据的安全性和隐私性。此外,对待处理数据中的第一类数据和第二类数据分别进行加密,有助于实现字段粒度的数据隐私保护。另一方面,采用对称加密和非对称加密相结合的加密方式,不仅可提高对数据加密处理的效率,还有利于保障数据的安全性。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据加密方法中的步骤。
图6为本申请实施例提供的一种数据解密方法的流程示意图。如图6所示,该方法包括:
601、从可访问的区块链中获取数据密文和数据密文对应的密钥密文。
602、根据本端私钥对密钥密文进行非对称解密,得到对称密钥;其中,密钥密文是根据本端私钥对应的公钥加密的。
603、根据对称密钥对数据密文进行对称解密,得到数据明文。
在本实施例中,数据密文可以为具有指定属性的第一类数据的密文,也可为不具有指定属性的第二类数据的密文。
本实施例所提供的数据解密方法对应于图4中的数据加密方法,由于待访问数据是采用对称加密和非对称加密相结合的方式进行加密的,因此本实施例中采用非对称解密方式对密钥密文进行非对称解密,并根据密钥密文的明文对数据密文进行对称解密,进而得到数据明文,有助于提高数据解密的效率。
在一些实施例中,步骤601的一种可选实施方式为:接收第一用户下发的访问指令,该访问指定中携带有待访问数据的标识;可从区块链中获取与待访问数据的标识对应的数据密文以及该数据密文对应的公钥与密钥密文之间的对应关系;并将本端公钥在公钥与密钥密文之间的对应关系中匹配,进而得到数据密文对应的密钥密文。
无论对于具有指定属性的第一类数据,还是不具有指定属性的第二类数据,均可采用上述图6中所示的方法进行数据解密。
可选地,若待访问数据部分具有指定属性,则还可从待访问数据的标识中识别出具有指定属性的第一类数据的标识和不具有指定属性的第二类数据的标识;之后,根据第一类数据的标识和第二类数据的标识,从区块链的世界状态变量中分别获取第一类数据和第二类数据分别对应的公钥与密钥密文之间的对应关系。进一步,将本端公钥在第二类数据对应的公钥与密钥密文之间的对应关系中进行匹配,得到第二对称密钥。进一步,可根据第二对称密钥对数据密文进行解密,进而得到第二类数据的明文和第一类数据的密文。
进一步,可将本端公钥在第一类数据对应的公钥与密钥密文之间的对应关系中进行匹配,得到第一对称密钥。进一步,可根据第一对称密钥对第一类数据的密文进行解密,进而得到第一类数据的明文。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据解密方法中的步骤。
图7a为本申请实施例提供的一种数据共享方法的流程示意图。如图7a所示,该方法包括:
701、从可访问的区块链中获取待共享数据的第一密文和待共享数据对应的密钥密文。
702、根据本端私钥对密钥密文进行非对称解密,以得到第一对称密钥;其中,密钥密文是根据本端私钥对应的公钥对第一对称密钥加密形成的。
703、根据第一对称密钥对第一密文进行解密处理,以得到待共享数据。
704、获取第二对称密钥,并根据第二对称密钥对待共享数据进行对称加密,以得到待共享数据的第二密文。
705根据第二用户的公钥对第二对称密钥进行加密,以得到第二对称密钥的密文。
706、将第二密文和第二对称密钥的密文写入区块链,以与第二用户共享待共享数据。
在本实施例中,第二用户是指待共享数据的被共享方,其是对待共享数据具有访问权限的用户。在本实施例中,对于步骤701-703中获取待共享数据的明文的描述可参见上述实施例关于数据解密的实施例中的相关内容,对于步骤704-706中对待共享数据进行加密处理的具体实施方式可参见上述实施例中关于数据加密的实施例的相关内容,在此均不再赘述。
相应地,对于第二用户便可从区块链中获取待共享数据,关于第二用户访问待共享数据的具体实施方式可参见上述数据解密实施例的相关内容,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据共享方法中的步骤。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤401和402的执行主体可以为设备A;又比如,步骤401的执行主体可以为设备A,步骤402的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
本申请实施例提供的数据处理方法可应用于各种区块链的应用场景中。例如,可应用于金融领域、物流领域、公共服务领域、公益领域等等,但不限于此。下面以金融贸易领域为例对本申请实施例提供的数据处理方法进行示例性说明。
图7b为本申请实施例提供的贸易区块链系统的结构示意图。如图7b所示,该贸易区块链系统可包括:买家侧设备70a、卖家侧设备70b以及第三方设备70c。可选地,第三方可以为货运公司和监管部门中的至少一种。相应地,第三方设备可包括:货运侧设备和/或监管侧设备。其中,货运公司可以为:海运公司、陆运公司、货代公司等等,但不限于此。监管部门可以为:海关、税局等等。这些直接参与方组成一个区块链。其中,图7b中所示的贸易区块链的参与方仅为示例性说明,并不对其构成限定。可选地,贸易区块链系统还可包括其它一些非直接参与方。
本申请实施例提供的数据处理方法可适用于交易过程中的每一个环节。现以买卖双方进行货物运输的过程为例进行示例性说明。
对于买卖双方来说,交易金额、货物数量、买家地址等信息为买卖双方的直接利益相关数据,可只供买卖双方知道。进而,买卖双方可指定这些属性为指定属性。对于其中,买卖双方之间的除具有指定属性之外的其它交易数据可只供直接参与方访问。基于此,对于买家侧设备70a或卖家侧设备70b,可获取待处理的交易数据。该交易数据包含具有指定属性的第一类数据和不具有指定属性的第二类数据。其中,第一类数据也可称为敏感信息,第二类数据也可称为基础交易信息。可选地,买家侧设备70a或卖家侧设备70b可从交易数据中识别出具有指定属性的第一类数据(敏感信息)和不具有指定属性的第二类数据(基础交易信息)。进一步,买家侧设备70a或卖家侧设备70b可根据第一对称密钥对第一类数据进行对称加密,得到第一类数据的密文;并根据交易另一方的公钥对第一随机密钥进行非对称加密,得到第一对称密钥的密文。其中,对于买家来说,交易的另一方为卖家;对于卖家来说,交易的另一方为买家。可选地,买家侧买家侧设备70a或卖家侧设备70b可为第一类数据随机生成第一对称密钥。进一步,买家侧设备70a或卖家侧设备70b可将第一类数据的密文和第一对称密钥的密文写入贸易区块链。这样,交易另一方的设备(买家侧设备70a或卖家侧设备70b)便可从贸易区块链中获取第一类数据的密文和第一对称密钥的密文,并根据本端私钥对第一对称密钥的密文进行非对称解密,得到第一对称密钥的明文;并利用第一对称密钥对第一类数据的密文进行对称解密,得到第一类数据的明文。对于第三方设备来说,由于第三方设备的本端私钥无法对解密第一对称密钥的密文,也就无法获取第一对称密钥,进而也就无法访问第一类数据。
可选地,买家侧设备70a或卖家侧设备70b可将交易另一方的公钥与第一对称密钥的密文组成的第一键值对,并将第一类数据的密文和第一键值对写入区块链系统中。这样,交易另一方的设备便可根据本端公钥获取第一对称密钥的密文,并根据本端私钥对第一对称密钥的密文进行非对称解密,得到第一对称密钥的明文进而交易另一方的设备可根据第一对称密钥对第一类数据的密文进行对称解密,得到第一类数据。而对于区块链系统中除买卖双方之外的其它参与方,由于无法得知交易另一方的私钥,因此也就无法对第一对称密钥的密文进行解密,进而也就无法访问第一类数据。
进一步,对于买家侧设备70a或卖家侧设备70b,还可将交易数据中的第一类数据替换为第一类数据的密文,得到中间数据。根据第二对称密钥对中间数据进行对称加密,得到中间数据的密文。可选地,买家侧设备70a或卖家侧设备70b还可随机生成第二对称密钥。进一步,买家侧设备70a或卖家侧设备70b还可根据贸易区块链系统中的直接参与方(交易的另一方和第三方)的公钥对第二对称密钥分别进行非对称加密,得到第二对称密钥的密文。进一步,买家侧设备70a或卖家侧设备70b还可将中间数据的密文和第二对称密钥的密文写入贸易区块链,以供交易的另一方和第三方分别根据其私钥访问第二类数据。
相应地,交易的另一方的设备(买家侧设备或卖家侧设备)或第三方设备可从贸易区块链中获取中间数据的密文和第二对称密钥的密文;并根据本端私钥对第二对称密钥的密文的密文进行非对称解密,得到第二对称密钥的明文;并根据第二对称密钥对所述中间数据的密文进行对称解密,得到第二类数据的明文和第一类数据的密文。
可选地,买家侧设备70a或卖家侧设备70b可根据贸易区块链系统中的直接参与方(交易的另一方和第三方)的公钥分别对第二对称密钥进行非对称加密,得到多个第二对称密钥的密文。进一步,买家侧设备70a或卖家侧设备70b可将直接参与方的公钥与多个第二对称密钥的密文组成多个第二键值对,并将中间数据的密文和多个第二键值对写入区块链中。这样,对于直接参与方中的任一方的节点设备来说,均可根据其公钥在多个第二键值对中匹配到该公钥对于的第二对称密钥的密文。进一步,对于直接参与方侧的设备来说,可根据本端私钥对第二对称密钥的密文进行非对称解密,得到第二对称密钥的明文,之后,根据第二对称密钥对中间数据的密文进行对称解密,得到第二类数据的明文。
进一步,在买卖双方进行货物运输的过程中,还可根据区块链系统进行物流轨迹跟踪,期间环节可能涉及到陆运物流公司、船运物流公司、海关、税局等参与方。对于每个运输环节涉及到的参与方来说,敏感信息可能不同。例如,对于陆运物流公司来说,可能货运司机的个人信息(驾驶证号码、身份证号码、联系方式等等)属于敏感信息,所以只能陆运物流公司知道。因此,陆运物流公司在写入交易数据时,便可将货运司机的个人信息作为第一类数据等等。对于每个运输环节涉及的参与方进行数据处理的过程均可参见上述实施例的相关内容,在此不再赘述。
图8为本申请实施例提供的一种计算机设备的结构示意图。如图8所示,该计算机设备包括:存储器80a和处理器80b。其中,存储器80a用于存储计算机程序。
在本实施例中,处理器80b耦合至存储器80a,用于执行计算机程序以用于:获取待处理数据和对称密钥;其中,待处理数据是由第一用户提供的;根据对称密钥对待处理数据进行对称加密,以得到待处理数据的密文;根据第二用户的公钥对对称密钥进行非对称加密,以得到对称密钥的密文;以及将待处理数据的密文和对称密钥的密文写入区块链,以供第二用户根据其私钥访问待处理数据。
在一些实施例中,处理器80b在获取对称密钥时,具体用于:在获取待处理数据的过程中,为待处理数据随机生成对称密钥。
在本申请实施例中,待处理数据均具有指定属性;或者,待处理数据均不具有指定属性;或者,待处理数据部分具有指定属性。
可选地,若待处理数据部分具有指定属性,则处理器80b在为待处理数据随机生成对称密钥时,具体用于:从待处理数据中识别出具有指定属性的第一类数据和不具有指定属性的第二类数据;并为第一类数据和第二类数据分别生成第一随机密钥和第二随机密钥,其中,第一随机密钥和第二随机密钥为对称密钥。
相应地,处理器80b在根据对称密钥对待处理数据进行加密处理时,具体用于:根据第一随机密钥对第一类数据进行对称加密,以得到第一类数据的密文;将待处理数据中的第一类数据替换为第一类数据的密文,以得到中间数据;并根据第二随机密钥对中间数据进行对称加密,以得到待处理数据的密文。
相应地,处理器80b在根据第二用户的公钥对对称密钥进行非对称加密时,具体用于:根据具有访问第一类数据的权限的第一类用户的公钥对第一随机密钥进行加密处理,以得到第一随机密钥的密文;并根据具有访问第二类数据的权限的第二类用户的公钥对第二随机密钥进行加密处理,以得到第二随机密钥的密文。
相应地,处理器80b在将待处理数据的密文和对称密钥的密文写入区块链时,具体用于:将第一类用户的公钥和第一随机密钥的密文形成的第一键值对以及第一类数据的密文存储至区块链的世界状态变量中;并将第一键值对和第一类数据的密文对应的日志存储至区块链的区块账本中;以及将第二类用户的公钥和第二随机密钥的密文形成的第二键值对以及待处理数据的密文存储至区块链的世界状态变量中;并将第二键值对和待处理数据的密文对应的日志存储至区块链的区块账本中。
在一些可选实施方式中,如图8所示,该节点设备还可以包括:通信组件80c、电源组件80d、显示屏80e和音频组件80f等可选组件。图8中仅示意性给出部分组件,并不意味着计算机设备必须包含图8所示全部组件,也不意味着计算机设备只能包括图8所示组件。
本实施例提供的计算机设备,可在区块链上根据对称密钥对待处理数据进行对称加密,对于对称密钥进行非对称加密,并将待处理数据的密文和对称密钥的密文写入区块链。这种采用对称加密和非对称加密相结合的加密方式,一方面可提高对数据加密处理的效率,另一方面还有利于保障数据的安全性。
图9为本申请实施例提供的另一种计算机设备的结构示意图。如图9所示,该计算机设备包括:存储器90a和处理器90b。其中,存储器90a用于存储计算机程序。
在本实施例中,处理器90b耦合至存储器90a,用于执行计算机程序以用于:从可访问的区块链中获取数据密文和数据密文对应的密钥密文;根据本端私钥对密钥密文进行非对称解密,得到对称密钥;其中,其中,密钥密文是根据本端私钥对应的公钥加密的;根据对称密钥对数据密文进行对称解密,得到数据明文。
在一些实施例中,处理器90b在从可访问的区块链中获取数据密文和数据密文对应的密钥密文时,具体用于:根据用户下发的访问指令中的待访问数据的标识,从区块链中获取数据密文以及数据密文对应的公钥与密钥密文之间的对应关系;并将本端私钥对应的公钥在数据密文对应的公钥与密钥密文之间的对应关系中匹配,以得到数据密文对应的密钥密文。
在另一些实施例中,待访问数据均具有指定属性;或者,待访问数据均不具有指定属性;或者,待访问数据部分具有指定属性。
可选地,若待访问数据部分具有指定属性,处理器90b在从区块链中获取数据密文以及数据密文对应的公钥与密钥密文之间的对应关系时,具体用于:从待访问数据的标识中识别出具有指定属性的第一类数据的标识和不具有指定属性的第二类数据的标识;并根据第一类数据的标识和第二类数据的标识,从区块链的世界状态变量中分别获取第一类数据和第二类数据分别对应的公钥与密钥密文之间的对应关系。
进一步,处理器90b在将本端私钥对应的公钥与从待处理数据对应的公钥与密钥密文之间的对应关系中匹配时,具体用于:将本端私钥对应的公钥分别在第一类数据和第二类数据分别对应的公钥与密钥密文之间的对应关系进行匹配,以得到第一类数据对应的第一密钥密文和第二类数据对应的第二密钥密文。
相应地,处理器90b在根据本端私钥对密钥密文进行非对称解密时,具体用于:根据本端私钥对分别对第一密钥密文和第二密钥密文进行非对称解密,以得到第一对称密钥和第二对称密钥。
进一步,处理器90b在用对称密钥对数据密文进行对称解密时,具体用于:根据第二对称密钥对数据密文进行解密,以得到第二类数据的明文和第一类数据的密文;并根据第一对称密钥对第一类数据的密文进行解密,以得到第一类数据的明文。
在一些可选实施方式中,如图9所示,该节点设备还可以包括:通信组件90c、电源组件90d、显示屏90e和音频组件90f等可选组件。图9中仅示意性给出部分组件,并不意味着计算机设备必须包含图9所示全部组件,也不意味着计算机设备只能包括图9所示组件。
本实施例提供的计算机设备,对于采用对称加密和非对称加密相结合的加密方式进行加密的数据,可采用非对称解密方式密钥密文,并采用对称解密方式解密数据密文,有助于提高对数据解密的效率。
图10为本申请实施例提供的又一种计算机设备的结构示意图。如图10所示,计算机设备包括:存储器100a和处理器100b。其中,存储器100a用于存储计算机程序。
在本实施例中,处理器100b耦合至存储器100a,用于执行计算机程序以用于:获取第一用户提供的待处理数据,待处理数据包含具有指定属性的第一类数据和不具有指定属性的第二类数据;根据第一对称密钥对第一类数据进行对称加密,并根据第二用户的公钥对第一对称密钥进行非对称加密,以得到第一类数据的密文和第一对称密钥的密文;将第一类数据的密文和第一对称密钥的密文写入区块链,以供第二用户根据其私钥访问第一类数据;将待处理数据中的第一类数据替换为第一类数据的密文,得到中间数据;根据第二对称密钥对中间数据进行对称加密,并根据第三用户的公钥对第二对称密钥进行非对称加密,以得到中间数据的密文和第二对称密钥的密文;将中间数据的密文和第二对称密钥的密文写入区块链,以供第三用户根据其私钥访问第二类数据。
可选地,第二用户与第三用户为同一用户。
在一些可选实施方式中,如图10所示,该节点设备还可以包括:通信组件100c、电源组件100d、显示屏100e和音频组件100f等可选组件。图10中仅示意性给出部分组件,并不意味着计算机设备必须包含图10所示全部组件,也不意味着计算机设备只能包括图10所示组件。
本实施例提供的计算机设备,可对第一类数据采用双重加密,有利于进一步提高第一类数据的安全性和隐私性。此外,对待处理数据中的第一类数据和第二类数据分别进行加密,有助于实现字段粒度的数据隐私保护。另一方面,采用对称加密和非对称加密相结合的加密方式,不仅可提高对数据加密处理的效率,还有利于保障数据的安全性。
图11为本申请实施例提供的又一种计算机设备的结构示意图。如图11所示,计算机设备包括:存储器110a和处理器110b。其中,存储器110a用于存储计算机程序。
在本实施例中,处理器110b耦合至存储器110a,用于执行计算机程序以用于:从可访问的区块链中获取待共享数据的第一密文和待共享数据对应的密钥密文;根据本端私钥对密钥密文进行非对称解密,以得到第一对称密钥;密钥密文是根据本端私钥对应的公钥对第一对称密钥加密形成的;根据第一对称密钥对第一密文进行解密处理,以得到待共享数据;获取第二对称密钥,并根据第二对称密钥对待共享数据进行对称加密,以得到待共享数据的第二密文;根据第二用户的公钥对第二对称密钥进行加密,以得到第二对称密钥的密文;将第二密文和第二对称密钥的密文写入区块链,以与第二用户共享待共享数据。
在一些可选实施方式中,如图11所示,该节点设备还可以包括:通信组件110c、电源组件110d、显示屏110e和音频组件110f等可选组件。图11中仅示意性给出部分组件,并不意味着计算机设备必须包含图11所示全部组件,也不意味着计算机设备只能包括图11所示组件。
本实施例提供的计算机设备,可在区块链上采用对称加密和非对称加密相结合的加密方式对待共享数据进行加密处理,一方面可提高对数据加密处理的效率,另一方面还有利于保障共享数据的安全性。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在节点设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,通信组件被配置为便于节点设备和其他设备之间有线或无线方式的通信。节点设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,显示屏可以包括液晶显示屏(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在本申请实施例中,电源组件被配置为节点设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本申请实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的计算机设备,可通过音频组件实现与用户的语音交互等。
应注意到:在本申请不同的实施例中,第二用户都是相对第一用户而言的其他用户,第二对称密钥都是相对第一对称密钥而言的其它对称密钥;“第一”、“第二”、“第三”仅仅用于区分两个不同用户或不同的密钥,并不够成其他限制。
还需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (37)

1.一种数据加密方法,其特征在于,包括:
获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;
根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;
将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;
根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;
将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,包括:
将所述第二用户的公钥和所述第一对称密钥的密文形成的第一键值对以及所述第一类数据的密文存储至所述区块链的世界状态变量中;并将所述第一键值对和所述第一类数据的密文对应的日志存储至所述区块链的区块账本中。
3.根据权利要求1所述的方法,其特征在于,所述将所述中间数据的密文和所述第二对称密钥的密文写入区块链,包括:
将所述第三用户的公钥和所述第二对称密钥的密文形成的第二键值对以及所述中间数据的密文存储至所述区块链的世界状态变量中;并将所述第二键值对和所述中间数据的密文对应的日志存储至所述区块链的区块账本中。
4.一种数据解密方法,其特征在于,包括:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
5.根据权利要求4所述的方法,其特征在于,所述从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文,包括:
根据用户下发的访问指令中的待访问数据的标识,从所述区块链中获取所述数据密文以及所述数据密文对应的公钥与密钥密文之间的对应关系;
将所述本端私钥对应的公钥在所述数据密文对应的公钥与密钥密文之间的对应关系中匹配,以得到所述数据密文对应的密钥密文。
6.根据权利要求4所述的方法,其特征在于,所述待访问数据均具有指定属性;或者,所述待访问数据均不具有所述指定属性;或者,所述待访问数据部分具有指定属性。
7.根据权利要求5所述的方法,其特征在于,若所述待访问数据部分具有指定属性,则所述根据用户下发的访问指令中的待访问数据的标识,从所述区块链中获取所述数据密文以及所述待处理数据对应的公钥与密钥密文之间的对应关系,包括:
从所述待访问数据的标识中识别出具有所述指定属性的第一类数据的标识和不具有所述指定属性的第二类数据的标识;
根据所述第一类数据的标识和所述第二类数据的标识,从所述区块链的世界状态变量中分别获取所述第一类数据和所述第二类数据分别对应的公钥与密钥密文之间的对应关系。
8.根据权利要求7所述的方法,其特征在于,所述将所述本端私钥对应的公钥在所述数据密文对应的公钥与密钥密文之间的对应关系中匹配,以得到所述数据密文对应的密钥密文,包括:
将所述本端私钥对应的公钥分别在所述第一类数据和所述第二类数据分别对应的公钥与密钥密文之间的对应关系进行匹配,以得到所述第一类数据对应的第一密钥密文和所述第二类数据对应的第二密钥密文。
9.根据权利要求8所述的方法,其特征在于,所述根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥,包括:
根据所述本端私钥对分别对第一密钥密文和所述第二密钥密文进行非对称解密,以得到第一对称密钥和第二对称密钥。
10.根据权利要求9所述的方法,其特征在于,所述根据所述对称密钥对所述数据密文进行对称解密,得到数据明文,包括:
根据所述第二对称密钥对所述数据密文进行解密,以得到所述第二类数据的明文和所述第一类数据的密文;
根据所述第一对称密钥对所述第一类数据的密文进行解密,以得到所述第一类数据的明文。
11.一种数据加密方法,其特征在于,包括:
获取待处理数据和对称密钥,所述待处理数据是由第一用户提供的;
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
12.根据权利要求11所述的方法,其特征在于,所述获取对称密钥,包括:
在获取所述待处理数据的过程中,为所述待处理数据随机生成所述对称密钥。
13.根据权利要求11所述的方法,其特征在于,所述待处理数据均具有指定属性;或者,所述待处理数据均不具有所述指定属性;或者,所述待处理数据部分具有指定属性。
14.根据权利要求12所述的方法,其特征在于,若所述待处理数据部分具有指定属性,则所述为所述待处理数据随机生成所述对称密钥,包括:
从所述待处理数据中识别出具有所述指定属性的第一类数据和不具有所述指定属性的第二类数据;
为所述第一类数据和所述第二类数据分别生成第一随机密钥和第二随机密钥,其中,所述第一随机密钥和所述第二随机密钥为对称密钥。
15.根据权利要求14所述的方法,其特征在于,所述根据所述对称密钥对所述待处理数据进行加密处理,以得到所述待处理数据的密文,包括:
根据所述第一随机密钥对所述第一类数据进行对称加密,以得到所述第一类数据的密文;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,以得到中间数据;
根据所述第二随机密钥对所述中间数据进行对称加密,以得到所述中间数据的密文,作为所述待处理数据的密文。
16.根据权利要求15所述的方法,其特征在于,所述根据第二用户的公钥对所述对称密钥进行非对称加密,包括:
根据具有访问所述第一类数据的权限的第一类用户的公钥对所述第一随机密钥进行非对称加密,以得到所述第一随机密钥的密文;
根据具有访问所述第二类数据的权限的第二类用户的公钥对所述第二随机密钥进行非对称加密,以得到所述第二随机密钥的密文。
17.根据权利要求16所述的方法,其特征在于,所述将所述待处理数据的密文和所述对称密钥的密文写入区块链,包括:
将所述第一类用户的公钥和所述第一随机密钥的密文形成的第一键值对以及所述第一类数据的密文存储至所述区块链的世界状态变量中;并将所述第一键值对和所述第一类数据的密文对应的日志存储至所述区块链的区块账本中;
将所述第二类用户的公钥和所述第二随机密钥的密文形成的第二键值对以及所述待处理数据的密文存储至所述区块链的世界状态变量中;并将所述第二键值对和所述待处理数据的密文对应的日志存储至所述区块链的区块账本中。
18.一种数据共享方法,其特征在于,包括:
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;
根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;
将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
19.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取待处理数据和对称密钥;所述待处理数据是由第一用户提供的;
根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;
根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;
将所述待处理数据的密文和所述对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
20.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
从可访问的区块链中获取数据密文和所述数据密文对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;
根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
21.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
从可访问的区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;
根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;
根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;
获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;
根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;
将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
22.一种计算机设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;
根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;
将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;
将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;
根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;
将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
23.一种区块链系统,其特征在于,包括:多台节点设备,其中,所述节点设备,用于:获取第一用户提供的待处理数据和第一对称密钥;根据所述第一对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;根据所述区块链系统中的第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一对称密钥的密文;以及将所述待处理数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述待处理数据。
24.根据权利要求23所述的系统,其特征在于,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第二对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第二对称密钥对所述数据密文进行对称解密,得到数据明文。
25.一种区块链系统,其特征在于,包括:多台节点设备,其中,所述节点设备,用于:从区块链中获取待共享数据的第一密文和所述待共享数据对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据所述区块链系统中的第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;以及将所述第二密文和所述第二对称密钥的密文写入所述区块链,以与所述第二用户共享所述待共享数据。
26.根据权利要求25所述的系统,其特征在于,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第三对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第三对称密钥对所述数据密文进行对称解密,得到数据明文。
27.一种区块链系统,其特征在于,包括:多台节点设备,其中,所述节点设备,用于:获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据所述区块链系统中的第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入区块链,以供所述第二用户根据其私钥访问所述第一类数据;将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据所述区块链系统中的第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入区块链,以供所述第三用户根据其私钥访问所述第二类数据。
28.根据权利要求27所述的系统,其特征在于,所述节点设备,还用于:从所述区块链中获取数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到第三对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;根据所述第三对称密钥对所述数据密文进行对称解密,得到数据明文。
29.一种数据加密系统,其特征在于,包括:智能合约层和区块链存储层;
其中,所述智能合约层,用于获取待处理数据和对称密钥;其中,所述待处理系统由第一用户提供;根据所述对称密钥对所述待处理数据进行对称加密,以得到所述待处理数据的密文;以及根据第二用户的公钥对所述对称密钥进行非对称加密,以得到所述对称密钥的密文;并将所述待处理数据的密文和所述对称密钥的密文写入所述区块链存储层,以供所述第二用户根据其私钥访问所述待处理数据。
30.一种数据解密系统,其特征在于,包括:智能合约层和区块链存储层;所述区块链存储层,存储有数据密文和所述数据密文对应的密钥密文;
所述智能合约层,用于从所述区块链存储层中获取所述数据密文和所述数据密文对应的密钥密文;根据本端私钥对所述密钥密文进行非对称解密,得到对称密钥;其中,所述密钥密文是根据所述本端私钥对应的公钥加密的;以及根据所述对称密钥对所述数据密文进行对称解密,得到数据明文。
31.一种数据共享系统,其特征在于,包括:智能合约层和区块链存储层;其中,所述区块链存储层,存储有待共享数据的第一密文和所述待共享数据对应的密钥密文;
所述智能合约层,用于从所述区块链存储层中获取所述第一密文和所述密钥密文;根据本端私钥对所述密钥密文进行非对称解密,以得到第一对称密钥;所述密钥密文是根据所述本端私钥对应的公钥对所述第一对称密钥加密形成的;根据所述第一对称密钥对所述第一密文进行解密处理,以得到所述待共享数据;获取第二对称密钥,并根据所述第二对称密钥对所述待共享数据进行对称加密,以得到所述待共享数据的第二密文;根据第二用户的公钥对所述第二对称密钥进行加密,以得到所述第二对称密钥的密文;以及将所述第二密文和所述第二对称密钥的密文写入所述区块链存储层,以与所述第二用户共享所述待共享数据。
32.一种数据加密系统,其特征在于,包括:智能合约层和区块链存储层;
其中,所述智能合约层,用于获取第一用户提供的待处理数据,所述待处理数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据第二用户的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;将所述第一类数据的密文和所述第一对称密钥的密文写入所述区块链存储层,以供所述第二用户根据其私钥访问所述第一类数据;以及将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据第三用户的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;并将所述中间数据的密文和所述第二对称密钥的密文写入所述区块链存储层,以供所述第三用户根据其私钥访问所述第二类数据。
33.一种贸易区块链系统,其特征在于,包括:买家侧设备、卖家侧设备以及第三方设备;
所述买家侧设备或所述卖家侧设备,用于:获取待处理的交易数据;所述交易数据包含具有指定属性的第一类数据和不具有所述指定属性的第二类数据;根据第一对称密钥对所述第一类数据进行对称加密,并根据交易的另一方的公钥对所述第一对称密钥进行非对称加密,以得到所述第一类数据的密文和所述第一对称密钥的密文;以及将所述第一类数据的密文和所述第一对称密钥的密文写入贸易区块链,以供所述交易的另一方根据其私钥访问所述第一类数据;并将所述待处理数据中的第一类数据替换为所述第一类数据的密文,得到中间数据;根据第二对称密钥对所述中间数据进行对称加密,并根据所述交易的另一方和所述第三方设备对应的第三方的公钥对所述第二对称密钥进行非对称加密,以得到所述中间数据的密文和所述第二对称密钥的密文;将所述中间数据的密文和所述第二对称密钥的密文写入所述贸易区块链,以供所述交易的另一方和所述第三方分别根据其私钥访问所述第二类数据。
34.根据权利要求33所述的系统,其特征在于,所述第三方设备包括:货运侧设备和/或监管侧设备。
35.根据权利要求33所述的系统,其特征在于,所述买家侧设备、所述卖家侧设备或所述第三方设备用于:从所述贸易区块链中获取所述中间数据的密文和所述第二对称密钥的密文;根据本端私钥对所述第二对称密钥的密文的密文进行非对称解密,得到所述第二对称密钥的明文;并根据所述第二对称密钥对所述中间数据的密文进行对称解密,得到所述第二类数据的明文和所述第一类数据的密文。
36.根据权利要求33所述的系统,其特征在于,所述买家侧设备或所述卖家侧设备还用于:从所述贸易区块链中获取所述第一类数据的密文和所述第一对称密钥的密文;根据本端私钥对所述第一对称密钥的密文的密文进行非对称解密,得到所述第一对称密钥的明文;并根据所述第一对称密钥对所述第一类数据的密文进行对称解密,得到所述第一类数据的明文。
37.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-18任一项所述方法中的步骤。
CN201911077124.9A 2019-11-06 2019-11-06 数据加密、解密和共享方法、设备、系统及存储介质 Active CN112787976B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911077124.9A CN112787976B (zh) 2019-11-06 2019-11-06 数据加密、解密和共享方法、设备、系统及存储介质
PCT/CN2020/125226 WO2021088728A1 (zh) 2019-11-06 2020-10-30 数据加密、解密和共享方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911077124.9A CN112787976B (zh) 2019-11-06 2019-11-06 数据加密、解密和共享方法、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN112787976A true CN112787976A (zh) 2021-05-11
CN112787976B CN112787976B (zh) 2023-04-07

Family

ID=75747600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911077124.9A Active CN112787976B (zh) 2019-11-06 2019-11-06 数据加密、解密和共享方法、设备、系统及存储介质

Country Status (2)

Country Link
CN (1) CN112787976B (zh)
WO (1) WO2021088728A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507468A (zh) * 2021-07-08 2021-10-15 上海欧冶金融信息服务股份有限公司 一种基于区块链技术的加密方法、解密方法及授权方法
CN113949552A (zh) * 2021-10-13 2022-01-18 广州广电运通金融电子股份有限公司 一种大文件加解密系统、方法、存储介质和设备
CN114254365A (zh) * 2021-12-26 2022-03-29 迅鳐成都科技有限公司 基于区块链技术的键值数据定向分享方法、装置、系统及存储介质
CN114285555A (zh) * 2021-12-15 2022-04-05 支付宝(杭州)信息技术有限公司 基于区块链的组播方法及装置
CN114331480A (zh) * 2022-03-15 2022-04-12 北京市农林科学院信息技术研究中心 农产品溯源数据处理方法和系统
CN115374462A (zh) * 2022-10-20 2022-11-22 武汉耳东信息科技有限公司 一种基于金融服务数据的存储管理系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572618B (zh) * 2021-08-10 2022-11-18 东北大学 结合Fabric和IPFS的去中心化存储系统及其数据存储方法
CN113783847B (zh) * 2021-08-24 2023-06-30 上海浦东发展银行股份有限公司 消息交互方法、装置、计算机设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579952A (zh) * 2017-07-17 2018-01-12 招商银行股份有限公司 报文发送方法、报文处理方法和系统及存储介质
US20180183768A1 (en) * 2016-04-01 2018-06-28 Jpmorgan Chase Bank, N.A. Systems and methods for privacy in distributed ledger transactions
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统
US20180343114A1 (en) * 2015-11-24 2018-11-29 Adi BEN-ARI A system and method for blockchain smart contract data privacy
CN109033855A (zh) * 2018-07-18 2018-12-18 腾讯科技(深圳)有限公司 一种基于区块链的数据传输方法、装置及存储介质
CN109120639A (zh) * 2018-09-26 2019-01-01 众安信息技术服务有限公司 一种基于区块链的数据云存储加密方法及系统
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和系统
WO2019127265A1 (zh) * 2017-12-28 2019-07-04 深圳前海达闼云端智能科技有限公司 基于区块链智能合约的数据写入方法、装置及存储介质
CN110061845A (zh) * 2019-03-14 2019-07-26 深圳壹账通智能科技有限公司 区块链数据加密方法、装置、计算机设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294709A (zh) * 2017-06-27 2017-10-24 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置及系统
CN110084068B (zh) * 2018-01-26 2023-09-29 阿里巴巴集团控股有限公司 区块链系统及用于区块链系统的数据处理方法
CN110290094B (zh) * 2018-03-19 2022-03-11 华为技术有限公司 一种数据访问权限的控制方法和装置
CN109450910B (zh) * 2018-11-26 2021-03-30 远光软件股份有限公司 基于区块链的数据共享方法、数据共享网络及电子设备
CN109587132B (zh) * 2018-11-29 2021-03-26 南京苏宁软件技术有限公司 一种基于联盟链的数据传递方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180343114A1 (en) * 2015-11-24 2018-11-29 Adi BEN-ARI A system and method for blockchain smart contract data privacy
US20180183768A1 (en) * 2016-04-01 2018-06-28 Jpmorgan Chase Bank, N.A. Systems and methods for privacy in distributed ledger transactions
CN107579952A (zh) * 2017-07-17 2018-01-12 招商银行股份有限公司 报文发送方法、报文处理方法和系统及存储介质
CN109462472A (zh) * 2017-09-06 2019-03-12 阿里巴巴集团控股有限公司 数据加密和解密的方法、装置和系统
WO2019127265A1 (zh) * 2017-12-28 2019-07-04 深圳前海达闼云端智能科技有限公司 基于区块链智能合约的数据写入方法、装置及存储介质
CN108259169A (zh) * 2018-01-09 2018-07-06 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统
CN109033855A (zh) * 2018-07-18 2018-12-18 腾讯科技(深圳)有限公司 一种基于区块链的数据传输方法、装置及存储介质
CN109120639A (zh) * 2018-09-26 2019-01-01 众安信息技术服务有限公司 一种基于区块链的数据云存储加密方法及系统
CN110061845A (zh) * 2019-03-14 2019-07-26 深圳壹账通智能科技有限公司 区块链数据加密方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柯钢: ""适用于云存储的并行无证书代理重加密方案"", 《西南师范大学学报(自然科学版)》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507468A (zh) * 2021-07-08 2021-10-15 上海欧冶金融信息服务股份有限公司 一种基于区块链技术的加密方法、解密方法及授权方法
CN113949552A (zh) * 2021-10-13 2022-01-18 广州广电运通金融电子股份有限公司 一种大文件加解密系统、方法、存储介质和设备
WO2023061455A1 (zh) * 2021-10-13 2023-04-20 广州广电运通金融电子股份有限公司 一种大文件加解密系统、方法、存储介质和设备
CN114285555A (zh) * 2021-12-15 2022-04-05 支付宝(杭州)信息技术有限公司 基于区块链的组播方法及装置
CN114254365A (zh) * 2021-12-26 2022-03-29 迅鳐成都科技有限公司 基于区块链技术的键值数据定向分享方法、装置、系统及存储介质
CN114331480A (zh) * 2022-03-15 2022-04-12 北京市农林科学院信息技术研究中心 农产品溯源数据处理方法和系统
CN115374462A (zh) * 2022-10-20 2022-11-22 武汉耳东信息科技有限公司 一种基于金融服务数据的存储管理系统
CN115374462B (zh) * 2022-10-20 2023-01-24 武汉耳东信息科技有限公司 一种基于金融服务数据的存储管理系统

Also Published As

Publication number Publication date
CN112787976B (zh) 2023-04-07
WO2021088728A1 (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN112787976B (zh) 数据加密、解密和共享方法、设备、系统及存储介质
CN108932297B (zh) 一种数据查询、数据共享的方法、装置及设备
EP3520319B1 (en) Distributed electronic record and transaction history
US9413735B1 (en) Managing distribution and retrieval of security key fragments among proxy storage devices
KR20190085106A (ko) 데이터 액세스를 위한 방법, 시스템 및 장치
CN111047313B (zh) 扫码支付、信息发送和密钥管理方法、装置和设备
US11748791B2 (en) Method and system for secure order management system data encryption, decryption, and segmentation
CN112215608A (zh) 数据处理方法和装置
US10958421B2 (en) User access control in blockchain
EP3809629B1 (en) Authorization method and device for joint account, and authentication method and device for joint account
CN111415170A (zh) 一种基于区块链的食品溯源的方法、设备及相关存储介质
US20240078551A1 (en) Blockchain-based user element authorization methods and apparatuses
CN115296794A (zh) 基于区块链的密钥管理方法及装置
US10438003B2 (en) Secure document repository
CN114896633A (zh) 敏感数据的处理方法、装置及计算机可读存储介质
CN111383008B (zh) 基于账户模型的区块链转账方法及装置
CN116567008A (zh) 业务隐私数据传输方法、装置、计算机设备及存储介质
CN113761543A (zh) 基于联盟链的数据处理方法、装置、设备和机器可读介质
CN112199695A (zh) 应收账款融资的处理方法、装置、电子装置和存储介质
CN111314057A (zh) 一种依赖用户输入的私钥使用方法及装置
US9779255B2 (en) Split storage and communication of documents
US20230091700A1 (en) A privacy preserving data storing method and a privacy preserving data storing system for analyzing a travel behavior of one or more users of mobility-as-a-service (maas) transportation services
ALRUWAILI et al. Software Defined Networking and Network Function Virtualization for improved data privacy using the emergent blockchain in banking systems
CN115865327A (zh) 一种基于认证应用的信息处理方法、系统及装置
CN112866254A (zh) 一种共同客户的获取方法、终端及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240301

Address after: # 04-08, Lai Zanda Building 1, 51 Belarusian Road, Singapore

Patentee after: Alibaba Singapore Holdings Ltd.

Country or region after: Singapore

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Cayman Islands