CN116668030A - 基于区块链的数据处理方法及装置、电子设备、存储介质 - Google Patents

基于区块链的数据处理方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN116668030A
CN116668030A CN202210149095.8A CN202210149095A CN116668030A CN 116668030 A CN116668030 A CN 116668030A CN 202210149095 A CN202210149095 A CN 202210149095A CN 116668030 A CN116668030 A CN 116668030A
Authority
CN
China
Prior art keywords
data
blockchain
ciphertext
execution environment
trusted execution
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.)
Pending
Application number
CN202210149095.8A
Other languages
English (en)
Inventor
张慧
王宗友
蓝虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210149095.8A priority Critical patent/CN116668030A/zh
Publication of CN116668030A publication Critical patent/CN116668030A/zh
Pending legal-status Critical Current

Links

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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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

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)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请的实施例揭示了一种基于区块链的数据处理方法及装置、电子设备、存储介质、程序产品,该方法包括:获取来自数据提供方的密文数据,其中,密文数据是数据提供方对待上链数据进行加密得到的;在第一区块链可信执行环境中对密文数据进行解密处理,得到密文数据对应的明文数据;根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果;对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果。本申请实施例的技术方案能够在保障数据安全的基础上,提升处理效率和通用性。

Description

基于区块链的数据处理方法及装置、电子设备、存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于区块链的数据处理方法及装置、电子设备、存储介质、程序产品。
背景技术
数据安全性是数据的拥有者和使用者都十分关注的问题。目前,为了提升数据的安全性,通常是直接对数据密文进行逻辑运算,但是,直接对数据密文进行逻辑运算效率较低,且只能实现简单的计算逻辑,无法适用于复杂的计算逻辑,通用性低。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于区块链的数据处理方法及装置、电子设备、存储介质、程序产品,可以在保障数据安全的基础上,提升处理效率和通用性。
根据本申请实施例的一个方面,提供了一种基于区块链的数据处理方法,所述方法包括:
获取来自数据提供方的密文数据,所述密文数据是所述数据提供方对待上链数据进行加密得到的;
在第一区块链可信执行环境中对所述密文数据进行解密处理,得到所述密文数据对应的明文数据;
根据区块链智能合约在所述第一区块链可信执行环境中对所述明文数据进行处理,得到第一处理结果;
对所述第一处理结果进行上链处理,以使数据使用方从区块链中获取所述第一处理结果。
根据本申请实施例的一个方面,提供了一种基于区块链的数据处理装置,所述装置包括:
获取模块,配置为获取来自数据提供方的密文数据,所述密文数据是所述数据提供方对待上链数据进行加密得到的;
解密模块,配置为在第一区块链可信执行环境中对所述密文数据进行解密处理,得到所述密文数据对应的明文数据;
处理模块,配置为根据区块链智能合约在所述第一区块链可信执行环境中对所述明文数据进行处理,得到第一处理结果;
上链模块,配置为对所述第一处理结果进行上链处理,以使数据使用方从区块链中获取所述第一处理结果。
在本申请的一实施例中,所述上链模块包括:
第一加密模块,配置为在所述第一区块链可信执行环境中对所述第一处理结果进行加密,以得到第一密文;
第一存储模块,配置为将所述第一密文存储至区块链。
在本申请的一实施例中,所述装置还包括:
接收模块,配置为接收来自所述数据使用方的数据获取请求,并根据所述数据获取请求从区块链中获取所述第一密文;
结果解密模块,配置为在所述第一区块链可信执行环境中对获取到的第一密文进行解密,得到所述第一处理结果的明文;
第一传输模块,配置为根据所述数据使用方对应的密钥对所述第一处理结果的明文进行加密,得到第二密文,并将所述第二密文传输至所述数据使用方。
在本申请的一实施例中,所述装置还包括:
第二传输模块,配置为将所述密文数据传输至其它区块链节点,以使所述其它区块链节点在接收到所述密文数据后,在自身的第二区块链可信执行环境中执行与所述第一区块链可信执行环境中相同的操作以得到所述密文数据对应的第二处理结果。
在本申请的一实施例中,所述上链模块包括:
第一发送模块,配置为向所述其它区块链节点发送包含所述第一处理结果的共识请求,以使所述其它区块链节点将自身得到的第二处理结果与所述共识请求中含有的第一处理结果进行比对,得到比对结果;
结果获取模块,配置为获取所述其它区块链节点的比对结果;
第二存储模块,配置为若根据获取到的比对结果确定区块链节点对所述第一处理结果达成共识,则将所述第一处理结果存储至区块链。
在本申请的一实施例中,所述装置还包括:
请求获取模块,配置为获取来自所述数据提供方的密钥注册请求;
生成模块,配置为在所述第一区块链可信执行环境中根据所述密钥注册请求生成密钥对;
第二发送模块,配置为将所述密钥对中包含的公钥发送至所述数据提供方,以使所述数据提供方根据所述公钥对所述待上链数据进行加密得到所述密文数据。
在本申请的一实施例中,所述装置还包括:
第三发送模块,配置为通过安全传输通道将所述密钥对中包含的私钥传输至其它区块链节点中部署的第二区块链可信执行环境,以使所述其它区块链节点在获取到所述密文数据后,在所述第二区块链可信执行环境中根据所述私钥对所述密文数据进行解密;其中,所述安全传输通道用于提供所述第一区块链可信执行环境与所述第二区块链可信执行环境之间的直达通道。
在本申请的一实施例中,所述装置还包括:
第二加密模块,配置为在所述第一区块链可信执行环境中对所述密钥对中包含的私钥进行加密,得到密钥密文;
第四发送模块,配置为将所述密钥密文发送至其它区块链节点,以使所述其它区块链节点在自身的第二区块链可信执行环境中对所述密钥密文进行解密得到所述私钥,并在获取到所述密文数据后,在所述第二区块链可信执行环境中根据所述私钥对所述密文数据进行解密。
在本申请的一实施例中,所述获取模块包括:
收发模块,配置为接收数据提供方发送的验证指令,并根据所述验证指令向所述数据提供方发送待验证数据;
数据接收模块,配置为接收所述数据提供方在根据所述待验证数据确定区块链节点包括所述第一区块链可信执行环境之后发送的所述密文数据。
在本申请的一实施例中,在待验证数据包括用于指示第一区块链可信执行环境对应的数据是否被篡改的信息的条件下,所述数据接收模块包括:
密文接收模块,配置为接收所述数据提供方在根据所述待验证数据确定所述区块链节点包括所述第一区块链可信执行环境、且所述第一区块链可信执行环境对应的数据未被篡改之后发送的所述密文数据。
在本申请的一实施例中,所述装置还包括:
第一销毁模块,配置为在所述第一区块链可信执行环境中销毁所述密文数据对应的解密密钥。
在本申请的一实施例中,所述装置还包括:
第二销毁模块,配置为在所述第一区块链可信执行环境中销毁所述明文数据。
根据本申请实施例的一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的基于区块链的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如前所述的基于区块链的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如前所述的基于区块链的数据处理方法。
在本申请的实施例所提供的技术方案中,获取来自数据提供方的密文数据,其中,密文数据是数据提供方对待上链数据进行加密得到的;在第一区块链可信执行环境中对密文数据进行解密处理,得到密文数据对应的明文数据;根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果;对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果,这样,一方面,待上链数据的明文只在区块链可信执行环境中可见,数据使用方无法获取到待上链数据的明文,从而保证了待上链数据的安全性;另一方面,根据区块链智能合约在区块链可信执行环境中对待上链数据的明文进行处理,从而提升了处理效率和通用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请涉及的一种实施环境的示意图;
图2是本申请的一示例性实施例示出的基于区块链的数据处理方法的流程图;
图3是图2所示实施例中的步骤S210在一示例性实施例中的示意图;
图4是本申请的一示例性实施例示出的一种基于区块链的数据处理方法的流程图;
图5是图2所示实施例中的步骤S240在一示例性实施例中的示意图;
图6是本申请的一示例性实施例示出的一种基于区块链的数据处理方法的流程图;
图7是图2所示实施例中的步骤S240在一示例性实施例中的示意图;
图8是本申请的一示例性实施例示出的一种区块链节点的结构示意图;
图9是本申请的一示例性实施例示出的一种区块链节点的底层架构示意图;
图10是本申请的一示例性实施例示出的基于区块链的数据处理装置的结构示意图;
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例的技术方案之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
平台产品服务层提供典型应用的基本能力和实现框架,开发者以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参加方进行使用。
数据安全性是数据的拥有者和使用者都十分关注的问题。在一些场景下,为了提升数据的安全性,通常是直接对数据密文进行逻辑运算,但是,直接对数据密文进行逻辑运算效率较低,且只能实现简单的计算逻辑,无法适用于复杂的计算逻辑,通用性低。例如,在需要数据开放使用,但是不公开或直接交互数据的场景下,可以通过安全多方计算(MPC,Secure Multi-Party Computation)、同态加密、零知识证明等方式直接对数据进行逻辑运算,从而得到运算结果,但是,这些处理方式都是直接对数据密文进行逻辑运算,直接对数据密文进行逻辑运算会导致运算效率较低,复杂计算逻辑难以实现等问题。基于此,本申请的实施例提供了一种基于区块链的数据处理方法及装置、电子设备、存储介质、程序产品,可以在保证安全性的同时,提升数据处理效率和通用性。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。该实施环境包括数据提供方、数据使用方以及区块链系统,区块链系统包括多个区块链节点。
数据提供方、数据使用方以及区块链节点之间通过有线或者无线网络进行通信。应该理解,图1中的数据提供方、数据使用方以及区块链节点的数目仅仅是是示意性的。根据实际需要,可以具有任意数目的数据提供方、数据使用方以及区块链节点。
数据提供方可以包括但不限于终端设备和服务器,数据使用方可以包括但不限于终端设备和服务器。其中,终端设备可以包括但不限于智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、车载终端等等。服务器可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和智能平台等基础云计算服务的云服务器,本处不对此进行限制。
在一示例性实施例中,本申请实施例提供的基于区块链的数据处理方法可以由配置有区块链可信执行环境的区块链节点执行,相应地,基于区块链的数据处理装置可以置于区块链节点中。其中,为便于区别,将区块链系统中执行基于区块链的数据处理方法的区块链节点记为目标区块链节点,目标区块链节点中配置的区块链可信执行环境记为第一区块链可信执行环境,目标区块链节点可以是任意配置有区块链可信执行环境的区块链节点。相应的,目标区块链节点可以先获取来自数据提供方的密文数据,密文数据是数据提供方对待上链数据进行加密得到的;然后,在第一区块链可信执行环境中对密文数据进行解密处理,得到密文数据对应的明文数据,并根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果;最后,对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果。一方面,待上链数据的明文只在区块链可信执行环境中可见,从而提升了数据的安全性;另一方面,根据区块链智能合约对待上链数据的明文进行处理,降低了处理复杂度,提升了处理效率,支持对复杂计算逻辑,提升了通用性。
需要说明的是,本申请中,涉及到待上链数据等与服务对象相关的数据,在本申请的方法应用于具体产品或技术中时,其均为获得服务对象许可或者同意,且相关的数据的提取、使用和处理均遵守当地安全标准和当地法律法规的规定。
参见图2,图2是本申请的一示例性实施例示出的一种基于区块链的数据处理方法的流程图。该方法可以应用于图1所示的实施环境,其可以由图1所示的实施环境中的目标区块链节点执行。
如图2所示,在一示例性实施例中,该基于区块链的数据处理方法可以包括步骤S210至步骤S240,详细介绍如下:
步骤S210,获取来自数据提供方的密文数据,密文数据是数据提供方对待上链数据进行加密得到的。
需要说明的是,数据提供方为待上链数据的拥有者,在一些应用场景下,数据提供方包括但不限于服务对象对应的设备;待上链数据包括但不限于私密程度较高的数据,例如,纳税数据等。
数据提供方在产生待上链数据后,可以对待上链数据进行加密,从而得到待上链数据对应的密文数据。目标区块链节点可以获取待上链数据对应的密文数据。
其中,对待上链数据进行加密的方式包括但不限于对称加密或非对称加密。其中,对称加密是加密密钥和解密密钥一致的加密方法;非对称加密是加密密钥和解密密钥有所不同的加密方法。
步骤S220,在第一区块链可信执行环境中对密文数据进行解密处理,得到密文数据对应的明文数据。
目标区块链节点中设置有区块链可信执行环境,记为第一区块链可信执行环境。可信执行环境是基于硬件保护数据和算法的一项技术,又称为TEE(Trusted ExecutionEnvironments),是一个处理器和内存的隔离环境,只有CPU(central processing unit,中央处理器)可以访问运行在TEE里的应用程序,其它层(硬件、内核、其它应用程序)对TEE的访问,都被CPU阻拦。
本实施例中,为了提升数据安全性,目标区块链节点在获取到待上链数据的密文数据后,在第一区块链可信执行环境中对密文数据进行解密处理,从而得到待上链数据的明文数据。
步骤S230,根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果。
其中,区块链智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可查询且不可逆转。
本实施例中,在第一区块链可信执行环境中得到待上链数据的明文数据之后,在第一区块链可信执行环境中,根据区块链智能合约对该明文数据进行处理,得到第一处理结果。
步骤S240,对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果。
数据使用方为需要使用数据的一方,在一些应用场景下,例如,在企业需要使用相关数据进行相应的逻辑运算得到对应的结果的场景下,数据提供方可以是相关数据的持有者,数据使用方则为企业对应的设备。
在得到第一处理结果后,对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果。
本实施例中,一方面,待上链数据的明文只在区块链可信执行环境中可见,数据使用方无法获取到待上链数据的明文,只能获取到待上链数据的处理结果,从而保证了数据可用不可见,提升了数据的安全性;另一方面,根据区块链智能合约对待上链数据的明文进行处理,降低了数据处理量和复杂度,提升了处理效率,并且,基于区块链智能合约的图灵完备性,支持复杂计算逻辑,可以适用于不同的业务场景,提升了通用性。
在一示例性实施例中,参见图3,图3为图2所示实施例中的步骤S210在一示例性实施例中的示意图。如图3所示,获取来自数据提供方的密文数据的过程可以包括步骤S310-步骤S320,详细介绍如下:
步骤S310,接收数据提供方发送的验证指令,并根据验证指令向数据提供方发送待验证数据。
验证指令用于指示目标区块链节点验证自身是否包含第一区块链可信执行环境,待验证数据中包括用于指示目标区块链节点是否包含第一区块链可信执行环境的信息。
本实施例中,为了进一步提升安全性,数据提供方在向目标区块链节点发送待上链数据对应的密文数据之前,可以先向目标区块链节点发送验证指令。目标区块链节点在接收到验证指令后,验证自身是否包含第一区块链可信执行环境,并根据验证结果得到待验证数据,将待验证数据发送给数据提供方。
步骤S320,接收数据提供方在根据待验证数据确定区块链节点包括第一区块链可信执行环境之后发送的密文数据。
需要说明的是,此处的区块链节点为执行基于区块链的数据处理方法的区块链节点,即目标区块链节点。
数据提供方在接收到待验证数据后,根据待验证数据确定目标区块链节点是否包括第一区块链可信执行环境,若是,则向目标区块链节点发送待上链数据的密文,从而保证待上链数据的安全性。
在一些实施方式中,为了进一步提升数据的安全性,验证指令还可以指示目标区块链节点验证第一区块链可信执行环境对应的数据是否被篡改,待验证数据还包括用于执行第一区块链可信执行环境对应的数据是否被篡改的信息。在此条件下,数据提供方在接收到待验证数据后,还可以根据待验证数据确定第一区块链可信执行环境是否被篡改,并在确定区块链节点包括第一区块链可信执行环境、且第一区块链可信执行环境对应的数据未被篡改后,向目标区块链节点发送待上链数据对应的密文数据。相应的,步骤S320包括:接收数据提供方在根据待验证数据确定目标区块链节点包括第一区块链可信执行环境、且第一区块链可信执行环境对应的数据未被篡改之后发送的密文数据。这样,可以保证第一区块链可信执行环境的安全性,从而提升数据处理的安全性。
其中,数据提供方可以先根据待验证数据确定目标区块链节点包括第一区块链可信执行环境之后,再根据待验证数据判断第一区块链可信执行环境对应的数据是否被篡改。
本实施例中,接收数据提供方发送的验证指令,并根据验证指令向数据提供方发送待验证数据,接收数据提供方在根据待验证数据确定区块链节点包括第一区块链可信执行环境之后发送的密文数据,即,数据提供方在向区块链节点发送密文数据之前,需要远程验证区块链节点是否包括区块链可信执行环境,从而提升数据安全性,降低数据被泄露的概率。
在一示例性实施例中,参见图4,图4是本申请的一示例性实施例示出的一种基于区块链的数据处理方法的流程图。如图4所示,在图2所示实施例中的步骤S210之前,基于区块链的数据处理方法还可以包括步骤S410-步骤S430,详细介绍如下:
步骤S410,获取来自数据提供方的密钥注册请求。
本实施例中,在获取来自数据提供方的待上链数据对应的密文数据之前,还可以获取来自数据提供方的密钥注册请求。
步骤S420,在第一区块链可信执行环境中根据密钥注册请求生成密钥对。
在获取来自数据提供方的密钥注册请求之后,在第一区块链可信执行环境中根据密钥注册请求生成密钥对,该密钥对包括公钥和私钥,其中,为了提升安全性,公钥用于对待上链数据进行加密,私钥用于对待上链数据进行解密。当然,在其他实施例中,也可以是私钥用于对待上链数据进行加密,公钥用于对待上链数据进行解密。
步骤S430,将密钥对中包含的公钥发送至数据提供方,以使数据提供方根据公钥对待上链数据进行加密得到密文数据。
在生成密钥对后,将密钥对中包含的公钥发送至数据提供方,以使数据提供方根据公钥对待上链数据进行加密得到密文数据。
在一些实施方式中,同一数据提供方的多份待上链数据对应的加密密钥可以相同;例如,数据使用方在获取到密钥对中包含的公钥后,在一定时间段内,可以使用该公钥对不同的待上链数据进行加密,即,在一定时间段内,同一数据使用方的多份待上链数据可以共用密钥对中的公钥进行加密。或者,为了进一步提升安全性,同一数据提供方的多份待上链数据对应的加密密钥可以不同,即,数据使用方在获取到密钥对中包含的公钥后,可以基于该公钥对一份待上链数据进行加密,对于下一份待上链数据,则重新向数据提供方发送密钥注册请求,以获取下一份待上链数据对应的加密密钥。
需要说明的是,本实施例中,采用非对称加密的方式对待上链数据进行加密,在其他实施例中,还可以采用对称加密的方式对待上链数据进行加密,相应的,目标区块链节点在获取来自数据提供方的密钥注册请求后,可以在第一区块链可信执行环境中根据密钥注册请求生成密钥,将该密钥发送至数据提供方,以使数据提供方根据该密钥对待上链数据进行加密,然后,在第一区块链可信执行环境中根据该密钥对待上链数据对应的密文数据进行解密。
本实施例中,获取来自数据提供方的密钥注册请求,在第一区块链可信执行环境中根据密钥注册请求生成密钥对,将密钥对中包含的公钥发送至数据提供方,以使数据提供方根据公钥对待上链数据进行加密得到密文数据,这样,通过在区块链可信执行环境中生成密钥对,公钥用于进行加密,私钥用于进行解密,从而保障了私钥的安全性,降低了数据被泄露的概率,提升了数据安全性。
在一示例性实施例中,在图4所示实施例中的步骤S420之后,即在第一区块链可信执行环境中根据密钥注册请求生成密钥对之后,基于区块链的数据处理方法还可以包括:将密钥对中包含的私钥传输至其他区块链节点中部署的第二区块链可信执行环境中。
需要说明的是,区块链系统中,除了目标区块链节点外,还存在其它区块链节点,将其它区块链节点中部署的区块链可信执行环境记为第二区块链可信执行环境。为了使其它区块链节点可以在第二区块链可信执行环境中对待上链数据对应的密文数据进行解密,本实施例中,目标区块链节点在第一区块链可信执行环境中根据密钥注册请求生成密钥对之后,可以将密钥对中的私钥发送至第二区块链可信执行环境,从而使得其他区块链节点均能够在区块链可信执行环境中对待上链数据对应的密文数据进行解密。
其中,将密钥对中包含的私钥传输至其他区块链节点中部署的第二区块链可信执行环境中的具体方式可以根据实际需要灵活设置。
例如,在一实施方式中,可以通过安全传输通道将密钥对中包含的私钥传输至其它区块链节点中部署的第二区块链可信执行环境,以使其它区块链节点在获取到待上链数据对应的密文数据后,在第二区块链可信执行环境中根据密钥对中的私钥对待上链数据对应的密文数据进行解密。其中,安全传输通道用于提供第一区块链可信执行环境与第二区块链可信执行环境之间的直达通道。这样,通过区块链可信执行环境之间的直达通道传输用于待上链数据的密文数据进行解密的私钥,使得私钥只在区块链可信执行环境中可见,从而避免私钥泄露的问题,提升数据安全性。
或者,在另一实施方式中,可以在第一区块链可信执行环境中对密钥对中包含的私钥进行加密,得到密钥密文;将密钥密文发送至其它区块链节点,以使其它区块链节点在自身的第二区块链可信执行环境中对该密钥密文进行解密得到私钥,并在获取到待上链数据对应的密文数据后,在第二区块链可信执行环境中根据私钥对该密文数据进行解密。这样,私钥对应的明文只在区块链可信执行环境中可见,从而可以避免私钥泄露的问题,提升数据安全性。
在一些实施方式中,在将密钥对中包含的私钥传输至其他区块链节点中部署的第二区块链可信执行环境中之前,还可以对其他区块链节点进行远程验证,以验证其他区块链节点中是否包含第二区块链可信执行环境,若是,则将密钥对中包含的私钥传输至其他区块链节点中部署的第二区块链可信执行环境中;或者,可以验证其他区块链节点中是否包含第二区块链可信执行环境、且第二区块链可信执行环境对应的数据是否被篡改,若其他区块链节点中包含第二区块链可信执行环境、且第二区块链可信执行环境对应的数据未被篡改,则将密钥对中包含的私钥传输至其他区块链节点中部署的第二区块链可信执行环境中。其中,验证方式可以参见前述数据提供方验证目标区块链节点是否包含第一区块链可信执行环境、第一区块链可信执行环境对应的数据是否为篡改的方式,此处不再赘述。
在一示例性实施例中,在图2所示实施例中的步骤S220之后,即在得到密文数据对应的明文数据之后,基于区块链的数据处理方法还可以包括:在第一区块链可信执行环境中销毁密文数据对应的解密密钥。从而提升数据安全性。
在一示例性实施例中,在图2所示实施例中的步骤S230之后,即在根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果之后,基于区块链的数据处理方法还可以包括:在第一区块链可信执行环境中销毁明文数据。在得到待上链数据对应的处理结果之后,销毁待上链数据对应的明文数据,从而达到“阅后即焚”的效果,进一步提升数据安全性。
在一示例性实施例中,参见图5,图5是图2所示实施例中的步骤S240在一示例性实施例中的示意图。如图5所示,对第一处理结果进行上链处理可以包括步骤S510-步骤S520,详细介绍如下:
步骤S510,在第一区块链可信执行环境中对第一处理结果进行加密,以得到第一密文。
本实施例中,在得到第一处理结果之后,可以在第一区块链可信执行环境中对第一处理结果进行加密,得到第一密文,加密方式可以采用对称加密或者非对称加密。
步骤S520,将第一密文存储至区块链。
在得到第一密文后,将第一密文存储至区块链,从而提升第一处理结果的安全性。
需要说明的是,本实施例中,第一处理结果进行加密后再存储至区块链,在其他实施例中,也可以直接将第一处理结果存储至区块链。其中,可以根据待上链数据的安全程度、第一处理结果的安全程度等条件中的至少一种确定是否对第一处理结果进行加密后上链。
本实施例中,在第一区块链可信执行环境中对第一处理结果进行加密,以得到第一密文,将第一密文存储至区块链,使得第一处理结果对应的明文在区块链可信执行环境中可见,进一步保障数据的安全性。
在一示例性实施例中,在步骤S240包括步骤S510-步骤S520的条件下,参见图6,图6是本申请的一示例性实施例示出的一种基于区块链的数据处理方法的流程图。如图6所示,在图2所示实施例中的步骤S240之后,基于区块链的数据处理方法还可以包括步骤S610-步骤S630,详细介绍如下:
步骤S610,接收来自数据使用方的数据获取请求,并根据数据获取请求从区块链中获取第一密文。
数据使用方在需要获取第一处理结果时,可以向目标区块链节点发送数据获取请求,目标区块链节点在接收到数据获取请求后,可以根据数据获取请求从区块链中获取第一密文。
在一些实施方式中,目标区块链节点姐接收到来自数据使用方的数据获取请求后,可以对数据请求方进行鉴权,在鉴权通过之后,再根据数据获取请求从区块链中获取第一密文。
步骤S620,在第一区块链可信执行环境中对获取到的第一密文进行解密,得到第一处理结果的明文。
在获取到第一密文后,目标区块链节点可以在第一区块链可信执行环境中对第一密文进行解密,从而得到第一处理结果的明文。
步骤S630,根据数据使用方对应的密钥对第一处理结果的明文进行加密,得到第二密文,并将第二密文传输至数据使用方。
在得到第一处理结果的明文后,在第一区块链可信执行环境中,根据数据使用方对应的密钥对第一处理结果的明文进行加密,得到第二密文,并将第二密文传输至数据使用方,数据使用方即可根据自身对应的密钥对第二密文进行解密处理,得到第一处理结果。其中,加密方式可以采用对称加密或非对称加密。若采用非对称加密,可以通过公钥对第一处理结果的明文进行加密,得到第二密文;当然,也可以通过私钥对第一处理结果的明文进行加密,得到第二密文。
在一些实施方式中,数据使用方在接收到第二密文后,可以对第二密文进行解密,从而得到对处理结果的明文。
需要说明的是,本实施例中,由目标区块链节点接收来自数据使用方的数据获取请求,在其它实施例中,数据使用方还可以根据实际需求向其它区块链节点发送数据获取请求,其它区块链节点可执行前述步骤S610-步骤S630,以将第一处理结果发送至数据使用方。例如,数据使用方可以向与自身物理距离最近的区块链节点发送数据获取请求,或者,向连接数最少的区块链节点发送数据获取请求。
本实施例中,接收来自数据使用方的数据获取请求,并根据数据获取请求从区块链中获取第一密文,在第一区块链可信执行环境中对获取到的第一密文进行解密,得到第一处理结果的明文,根据数据使用方对应的密钥对第一处理结果的明文进行加密,得到第二密文,并将第二密文传输至数据使用方,从而使得第一处理结果对应的明文在区块链可信执行环境中可见,第一处理结果的传输均采用加密传输,提升了数据安全性。
在一示例性实施例中,在图2所示实施例中的步骤S210之后,即在获取来自数据提供方的密文数据之后,基于区块链的数据处理方法还可以包括:将密文数据传输至其他区块链节点,以使其他区块链节点在接收到该密文数据后,在自身的第二区块链可信执行环境中执行与第一区块链可信执行环境中相同的操作以得到该密文数据对应的第二处理结果,从而便于后续对第一处理结果进行共识。也就是说,其他区块链节点在接收到待上链数据对应的密文数据后,在第二区块链可信执行环境中对密文数据进行解密处理,得到对应的明文数据,并根据区块链智能合约在第二区块链可信执行环境中对该明文数据进行处理,得到第二处理结果。
在此条件下,参见图7,图7是图2所示实施例中的步骤S240在一示例性实施例中的示意图。如图7所示,对第一处理结果进行上链处理可以包括步骤S710-步骤S730,详细介绍如下:
步骤S710,向其它区块链节点发送包含第一处理结果的共识请求,以使其它区块链节点将自身得到的第二处理结果与共识请求中含有的第一处理结果进行比对,得到比对结果。
本实施例中,在得到第一处理结果之后,可以向其他区块链节点发送包含第一处理结果的共识请求,其他区块链节点在接收到共识请求后,可以将自身得到的第二处理结果与共识请求中含有的第一处理结果进行比对,从而得到比对结果。其中,可以在第二区块链可信执行环境中将第二处理结果与第一处理结果进行比对。
在一些实施方式中,可以对第一处理结果进行加密后,再打包至共识请求中,其它区块链节点在接收到共识请求后,在第二区块链可信执行环境中对共识请求中第一处理结果的密文进行解密,得到明文状态的第一处理结果,再在第二区块链可信执行环境中将第一处理结果和第二处理结果进行比对,从而提升处理结果的安全性。
步骤S720,获取其它区块链节点的比对结果。
在发送共识请求后,目标区块链节点可以获取其他区块链节点的比对结果。其中,其他区块链节点在得到比对结果后,可以将比对结果发送至目标区块链节点。
步骤S730,若根据获取到的比对结果确定区块链节点对第一处理结果达成共识,则将第一处理结果存储至区块链。
在获取其他区块链节点的比对结果后,可以根据比对结果确定区块链系统中的区块链节点对第一处理结果是否达成共识,若是,则将第一处理结果存储至区块链。
其中,根据比对结果确定区块链节点对第一处理结果是否达成共识的具体方式可以根据实际需要灵活设置,例如,在一实施方式中,若其它区块链节点的数量为多个,可以根据比对结果确定多个其它区块链节点对应的第二处理结果与第一处理结果均相同时,确定区块链节点对第一处理结果达成共识;或者,可以根据比对结果确定多个其它区块链节点中对应第二处理结果与第一处理结果相同的区块链节点的数量大于预设阈值时,确定区块链节点对第一处理结果达成共识。
本实施例中,向其它区块链节点发送包含第一处理结果的共识请求,以使其它区块链节点将自身得到的第二处理结果与共识请求中含有的第一处理结果进行比对,得到比对结果;获取其它区块链节点的比对结果,若根据获取到的比对结果确定区块链节点对第一处理结果达成共识,则将第一处理结果存储至区块链,这样,处理结果经过多方共识,区块链智能合约代码公开透明,从而实现处理结果的可见证性,提升处理结果的准确性。
以下以本申请的基于区块链的数据处理方法的具体示例进行说明。参见图8,图8为本申请的一示例性实施例示出的一种区块链节点的结构示意图,本实施例的基于区块链的数据处理方法可以应用于图8所示的区块链节点。如图8所示,区块链节点800可以包括节点应用程序810以及区块链可信执行环境820,区块链可信执行环境820中包括虚拟机821,虚拟机821中存储有区块链智能合约,其可以包括不同的区块链智能合约以实现不同的计算逻辑。节点应用程序810中可以包括数据打包模块811,数据共识模块812,P2P(peer topeer lending,个体对个体)模块813、密钥计算模块814。密钥计算模块814可以调用虚拟机821生成密钥对,并将密钥对中的公钥发送至数据提供方,数据提供方根据接收到的公钥对待上链数据进行加密,得到密文数据,然后,将密文数据传输给区块链节点。区块链节点的P2P模块813在获取到来自数据提供方的密文数据后,调用虚拟机821,以使虚拟机821对密文数据进行解密处理,得到密文数据对应的明文数据,然后,虚拟机821根据区块链智能合约对明文数据进行处理,得到第一处理结果。数据打包模块811可以将密文数据和第一处理结果进行打包,得到待上链区块,然后,数据共识模块812向其它区块链节点发送针对待上链区块的共识请求。需要说明的是,其它区块链节点的结构与图8所示区块链节点的结构可以相同,其它区块链节点也可以调用自身中部署的虚拟机对密文数据进行解密,得到明文数据,并根据区块链智能合约对该明文数据进行处理,得到第二处理结果。然后,其它区块链节点在接收到共识请求之后,可以将第一处理结果与第二处理结果进行比对,并得到比对结果。区块链节点可以获取其它区块链节点的比对结果,以根据比对结果确定是否对待上链区块达成共识,若是,则对待上链区块进行上链处理。
其中,可以基于LibOS(Library Operating System,库操作系统)来构建区块链可信执行环境,这样,在区块链可信执行环境中部署虚拟机时,可不改动区块链节点中虚拟机的代码,只需要重新编译虚拟机,将虚拟机在区块链可信执行环境中执行,从而降低实现难度,提升部署效率。参见图9,图9为本申请的一示例性实施例示出的一种区块链节点的底层架构示意图,其包括LibOS/底层sdk(Software Development Kit,软件开发工具包)以及可信硬件层,其中,LibOS/底层sdk可以包括Graphene和sgx sdk,可信硬件层可以包括intelsgx以及arm trustzone。其中,Graphene是一个轻量化的模块化框架,sgx sdk是一种可信执行环境的软件开发工具包;intel sgx是一种可信执行环境的硬件套件;arm trustzone是一种基于硬件的安全功能。通过图9所示的底层架构,可以实现区块链可信执行环境。
在一些实施方式中,区块链节点还可以支持数据使用方以及数据提供方的账号、上链地址的注册。
需要说明的是,本实施例所提供的基于区块链的数据处理方法可以应用于不同应用场景。例如,可以应用于税务场景,其中,需要根据纳税者的纳税数据确定纳税者的征信,从而根据征信确定是否授权贷款给纳税者,由于纳税数据是安全程度较高的数据,不能直接提供给企业,因此,数据提供方可以在获得纳税者许可或同意之后,对纳税数据进行加密处理,得到密文数据,并将密文数据上传至区块链节点。区块链节点在自身的区块链可信执行环境中对密文数据进行解密处理,得到明文形式的纳税数据,并根据区块链智能合约对明文形式的纳税数据进行处理,得到处理结果,并将该处理结果进行共识后上链,其中,该处理结果可以为根据纳税数据计算出的征信分数,也可以为根据纳税数据确定出的是否授权贷款给纳税者的结果。数据使用方,例如银行等企业,则可从区块链中获取处理结果,并根据处理结果确定是否可授权贷款给纳税者。这样,一方面,企业可以获取到是否可授权贷款给纳税者的结果,但是,无法获取到纳税数据,从而结合区块、区块链智能合约以及可信执行环境实现了数据“可用不可见”的情况,保证了数据安全性,提升了数据安全性;另一方面,由于是根据明文数据得到处理结果,可以降低数据处理量,提升数据处理效率,降低系统性能损耗,支持负载计算逻辑,具备图灵完备性,提升了通用性,且工程实现难度低。
参见图10,图10是本申请的一示例性实施例示出的基于区块链的数据处理装置的框图。如图10所示,该装置包括:
获取模块1001,配置为获取来自数据提供方的密文数据,密文数据是数据提供方对待上链数据进行加密得到的。
解密模块1002,配置为在第一区块链可信执行环境中对密文数据进行解密处理,得到密文数据对应的明文数据。
处理模块1003,配置为根据区块链智能合约在第一区块链可信执行环境中对明文数据进行处理,得到第一处理结果。
上链模块1004,配置为对第一处理结果进行上链处理,以使数据使用方从区块链中获取第一处理结果。
在另一示例性实施例中,上链模块1004包括:
第一加密模块,配置为在第一区块链可信执行环境中对第一处理结果进行加密,以得到第一密文。
第一存储模块,配置为将第一密文存储至区块链。
在另一示例性实施例中,该装置还包括:
接收模块,配置为接收来自数据使用方的数据获取请求,并根据数据获取请求从区块链中获取第一密文。
结果解密模块,配置为在第一区块链可信执行环境中对获取到的第一密文进行解密,得到第一处理结果的明文。
第一传输模块,配置为根据数据使用方对应的密钥对第一处理结果的明文进行加密,得到第二密文,并将第二密文传输至数据使用方。
在另一示例性实施例中,该装置还包括:
第二传输模块,配置为将密文数据传输至其它区块链节点,以使其它区块链节点在接收到密文数据后,在自身的第二区块链可信执行环境中执行与第一区块链可信执行环境中相同的操作以得到密文数据对应的第二处理结果。
在另一示例性实施例中,上链模块1004包括:
第一发送模块,配置为向其它区块链节点发送包含第一处理结果的共识请求,以使其它区块链节点将自身得到的第二处理结果与共识请求中含有的第一处理结果进行比对,得到比对结果。
结果获取模块,配置为获取其它区块链节点的比对结果。
第二存储模块,配置为若根据获取到的比对结果确定区块链节点对第一处理结果达成共识,则将第一处理结果存储至区块链。
在另一示例性实施例中,该装置还包括:
请求获取模块,配置为获取来自数据提供方的密钥注册请求。
生成模块,配置为在第一区块链可信执行环境中根据密钥注册请求生成密钥对。
第二发送模块,配置为将密钥对中包含的公钥发送至数据提供方,以使数据提供方根据公钥对待上链数据进行加密得到密文数据。
在另一示例性实施例中,该装置还包括:
第三发送模块,配置为通过安全传输通道将密钥对中包含的私钥传输至其它区块链节点中部署的第二区块链可信执行环境,以使其它区块链节点在获取到密文数据后,在第二区块链可信执行环境中根据私钥对密文数据进行解密;其中,安全传输通道用于提供第一区块链可信执行环境与第二区块链可信执行环境之间的直达通道。
在另一示例性实施例中,该装置还包括:
第二加密模块,配置为在第一区块链可信执行环境中对密钥对中包含的私钥进行加密,得到密钥密文。
第四发送模块,配置为将密钥密文发送至其它区块链节点,以使其它区块链节点在自身的第二区块链可信执行环境中对密钥密文进行解密得到私钥,并在获取到密文数据后,在第二区块链可信执行环境中根据私钥对密文数据进行解密。
在另一示例性实施例中,获取模块1001包括:
收发模块,配置为接收数据提供方发送的验证指令,并根据验证指令向数据提供方发送待验证数据。
数据接收模块,配置为接收数据提供方在根据待验证数据确定区块链节点包括第一区块链可信执行环境之后发送的密文数据。
在另一示例性实施例中,在待验证数据包括用于指示第一区块链可信执行环境对应的数据是否被篡改的信息的条件下,数据接收模块包括:
密文接收模块,配置为接收数据提供方在根据待验证数据确定区块链节点包括第一区块链可信执行环境、且第一区块链可信执行环境对应的数据未被篡改之后发送的密文数据。
在另一示例性实施例中,该装置还包括:
第一销毁模块,配置为在第一区块链可信执行环境中销毁密文数据对应的解密密钥。
在另一示例性实施例中,该装置还包括:
第二销毁模块,配置为在第一区块链可信执行环境中销毁明文数据。
需要说明的是,上述实施例所提供的基于区块链的数据处理装置与上述实施例所提供的基于区块链的数据处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的基于区块链的数据处理方法。
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从储存部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的储存部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入储存部分1108。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被计算机的处理器执行时,使计算机实现如前所述的基于区块链的数据处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,计算机指令被处理器执行时实现上述各个实施例中提供的基于区块链的数据处理方法。其中,该计算机指令可以存储在计算机可读存储介质中;电子设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各个实施例中提供的方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术工作者根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (16)

1.一种基于区块链的数据处理方法,其特征在于,所述方法包括:
获取来自数据提供方的密文数据,所述密文数据是所述数据提供方对待上链数据进行加密得到的;
在第一区块链可信执行环境中对所述密文数据进行解密处理,得到所述密文数据对应的明文数据;
根据区块链智能合约在所述第一区块链可信执行环境中对所述明文数据进行处理,得到第一处理结果;
对所述第一处理结果进行上链处理,以使数据使用方从区块链中获取所述第一处理结果。
2.如权利要求1所述的方法,其特征在于,所述对所述第一处理结果进行上链处理,包括:
在所述第一区块链可信执行环境中对所述第一处理结果进行加密,以得到第一密文;
将所述第一密文存储至区块链。
3.如权利要求2所述的方法,其特征在于,在所述对所述第一处理结果进行上链处理之后,所述方法还包括:
接收来自所述数据使用方的数据获取请求,并根据所述数据获取请求从区块链中获取所述第一密文;
在所述第一区块链可信执行环境中对获取到的第一密文进行解密,得到所述第一处理结果的明文;
根据所述数据使用方对应的密钥对所述第一处理结果的明文进行加密,得到第二密文,并将所述第二密文传输至所述数据使用方。
4.如权利要求1所述的方法,其特征在于,在所述获取来自数据提供方的密文数据之后,所述方法还包括:
将所述密文数据传输至其它区块链节点,以使所述其它区块链节点在接收到所述密文数据后,在自身的第二区块链可信执行环境中执行与所述第一区块链可信执行环境中相同的操作以得到所述密文数据对应的第二处理结果。
5.如权利要求4所述的方法,其特征在于,所述对所述第一处理结果进行上链处理,包括:
向所述其它区块链节点发送包含所述第一处理结果的共识请求,以使所述其它区块链节点将自身得到的第二处理结果与所述共识请求中含有的第一处理结果进行比对,得到比对结果;
获取所述其它区块链节点的比对结果;
若根据获取到的比对结果确定区块链节点对所述第一处理结果达成共识,则将所述第一处理结果存储至区块链。
6.如权利要求1所述的方法,其特征在于,在所述获取来自数据提供方的密文数据之前,所述方法还包括:
获取来自所述数据提供方的密钥注册请求;
在所述第一区块链可信执行环境中根据所述密钥注册请求生成密钥对;
将所述密钥对中包含的公钥发送至所述数据提供方,以使所述数据提供方根据所述公钥对所述待上链数据进行加密得到所述密文数据。
7.如权利要求6所述的方法,其特征在于,在所述第一区块链可信执行环境中根据所述密钥注册请求生成密钥对之后,所述方法还包括:
通过安全传输通道将所述密钥对中包含的私钥传输至其它区块链节点中部署的第二区块链可信执行环境,以使所述其它区块链节点在获取到所述密文数据后,在所述第二区块链可信执行环境中根据所述私钥对所述密文数据进行解密;其中,所述安全传输通道用于提供所述第一区块链可信执行环境与所述第二区块链可信执行环境之间的直达通道。
8.如权利要求6所述的方法,其特征在于,在所述第一区块链可信执行环境中根据所述密钥注册请求生成密钥对之后,所述方法还包括:
在所述第一区块链可信执行环境中对所述密钥对中包含的私钥进行加密,得到密钥密文;
将所述密钥密文发送至其它区块链节点,以使所述其它区块链节点在自身的第二区块链可信执行环境中对所述密钥密文进行解密得到所述私钥,并在获取到所述密文数据后,在所述第二区块链可信执行环境中根据所述私钥对所述密文数据进行解密。
9.如权利要求1所述的方法,其特征在于,所述获取来自数据提供方的密文数据,包括:
接收数据提供方发送的验证指令,并根据所述验证指令向所述数据提供方发送待验证数据;
接收所述数据提供方在根据所述待验证数据确定区块链节点包括所述第一区块链可信执行环境之后发送的所述密文数据。
10.如权利要求9所述的方法,其特征在于,所述待验证数据包括用于指示第一区块链可信执行环境对应的数据是否被篡改的信息;所述接收所述数据提供方在根据所述待验证数据确定区块链节点包括所述第一区块链可信执行环境之后发送的所述密文数据,包括:
接收所述数据提供方在根据所述待验证数据确定所述区块链节点包括所述第一区块链可信执行环境、且所述第一区块链可信执行环境对应的数据未被篡改之后发送的所述密文数据。
11.如权利要求1至10中任一项所述的方法,其特征在于,在所述得到所述密文数据对应的明文数据之后,所述方法还包括:
在所述第一区块链可信执行环境中销毁所述密文数据对应的解密密钥。
12.如权利要求1至10中任一项所述的方法,其特征在于,在所述根据区块链智能合约在所述第一区块链可信执行环境中对所述明文数据进行处理,得到第一处理结果之后,所述方法还包括:
在所述第一区块链可信执行环境中销毁所述明文数据。
13.一种基于区块链的数据处理装置,其特征在于,所述装置包括:
获取模块,配置为获取来自数据提供方的密文数据,所述密文数据是所述数据提供方对待上链数据进行加密得到的;
解密模块,配置为在第一区块链可信执行环境中对所述密文数据进行解密处理,得到所述密文数据对应的明文数据;
处理模块,配置为根据区块链智能合约在所述第一区块链可信执行环境中对所述明文数据进行处理,得到第一处理结果;
上链模块,配置为对所述第一处理结果进行上链处理,以使数据使用方从区块链中获取所述第一处理结果。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1-12中的任一项所述的基于区块链的数据处理方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-12中的任一项所述的基于区块链的数据处理方法。
16.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-12中的任一项所述的基于区块链的数据处理方法。
CN202210149095.8A 2022-02-17 2022-02-17 基于区块链的数据处理方法及装置、电子设备、存储介质 Pending CN116668030A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210149095.8A CN116668030A (zh) 2022-02-17 2022-02-17 基于区块链的数据处理方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210149095.8A CN116668030A (zh) 2022-02-17 2022-02-17 基于区块链的数据处理方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN116668030A true CN116668030A (zh) 2023-08-29

Family

ID=87724791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210149095.8A Pending CN116668030A (zh) 2022-02-17 2022-02-17 基于区块链的数据处理方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116668030A (zh)

Similar Documents

Publication Publication Date Title
US11356285B2 (en) Distributed key management for trusted execution environments
CA3061808C (en) Securely executing smart contract operations in a trusted execution environment
CN108681853B (zh) 基于区块链的物流信息传输方法、系统和装置
EP4191430A1 (en) Data processing method and apparatus applied to blockchain system
EP4318286A1 (en) Secure multi-party computation
US8260721B2 (en) Network resource access control methods and systems using transactional artifacts
CN114553590B (zh) 数据传输方法及相关设备
CN114584307A (zh) 一种可信密钥管理方法、装置、电子设备和存储介质
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及系统
CN115296807B (zh) 用于预防工控网络病毒的密钥生成方法、装置、设备
CN115022012B (zh) 一种数据传输方法、装置、系统、设备及存储介质
CN114095165B (zh) 密钥更新方法、服务端设备、客户端设备及存储介质
CN116781292A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN111125734B (zh) 一种数据处理方法及系统
CN114584347A (zh) 验证短信收发方法、服务器、终端及存储介质
CN116668030A (zh) 基于区块链的数据处理方法及装置、电子设备、存储介质
CN111861489A (zh) 基于区块链的金融产品交易份额确定方法及装置
CN114095254B (zh) 报文加密方法、服务端设备、客户端设备及存储介质
CN114826616B (zh) 数据处理方法、装置、电子设备和介质
CN115361168B (zh) 一种数据加密方法、装置、设备及介质
US11201856B2 (en) Message security
CN116226932A (zh) 业务数据校验方法、装置、计算机介质及电子设备
CN117874830A (zh) 基于应用服务的许可证处理方法、装置及电子设备
CN117978469A (zh) 通信方法、设备、介质和程序产品
CN117971241A (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