CN117997520A - 一种基于区块链的数据处理方法、设备以及可读存储介质 - Google Patents

一种基于区块链的数据处理方法、设备以及可读存储介质 Download PDF

Info

Publication number
CN117997520A
CN117997520A CN202211370694.9A CN202211370694A CN117997520A CN 117997520 A CN117997520 A CN 117997520A CN 202211370694 A CN202211370694 A CN 202211370694A CN 117997520 A CN117997520 A CN 117997520A
Authority
CN
China
Prior art keywords
private key
verification
global
key
envelope
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
CN202211370694.9A
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 CN202211370694.9A priority Critical patent/CN117997520A/zh
Publication of CN117997520A publication Critical patent/CN117997520A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例公开了一种基于区块链的数据处理方法、设备以及可读存储介质,该方法由具有可信执行环境的区块链节点执行,该方法包括:若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局公钥;获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的;若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。采用本申请,不仅可以提高数据的安全性,还可以提高明文交易数据被验证的安全性。

Description

一种基于区块链的数据处理方法、设备以及可读存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、设备以及可读存储介质。
背景技术
随着互联网的发展,许多业务在网络上开展,例如业务数据验证(核实)。为了提升安全性,业务数据的发送方会对待验证数据进行加密处理。
在现有技术中,发送方先获取验证方的公钥,通过公钥,发送方对待验证数据进行加密处理,得到加密数据,然后将加密数据传输至验证方。在验证数据前,验证方先通过自己的私钥,对加密数据进行解密处理,得到待验证数据,然后对待验证数据进行验证处理。由于发送方用于加密待验证数据的公钥,仅与验证方的私钥相关,且私钥仅与验证方相关,故不法分子可以较容易地利用验证方的信息获取到其对应的私钥,故在拦截到发送方发送的加密数据时,非法分子可以对加密数据进行解密处理,得到待验证数据,进一步,非法分子可以对待验证数据进行修改,生成错误的数据,以使验证方对错误的数据进行验证处理,得到错误的验证结果。明显地,在现有技术中,私钥的安全性不高,且由于私钥安全性不高,还降低了加密数据的安全性,致使待验证数据被验证的安全性不高。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、设备以及可读存储介质,不仅可以提高数据的安全性,还可以提高明文交易数据被验证的安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,该方法由具有可信执行环境的区块链节点执行,该方法包括:
若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;
获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的;
若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封;
将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
本申请实施例一方面提供了一种基于区块链的数据处理方法,该方法由验证设备执行,该方法包括:
发送私钥片段至具有可信执行环境的区块链节点,以使区块链节点在确定私钥片段满足公钥生成条件时,在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;全局公钥用于指示业务设备根据全局公钥以及明文交易参数生成数字信封;数字信封用于由业务设备发送至区块链节点;接收到数字信封的区块链节点用于对数字信封进行上链处理;
发送用于请求解密数字信封的信封解密请求至区块链节点,以使区块链节点在确定信封解密请求满足信封解密条件时,在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;
获取区块链节点返回的明文交易参数,对明文交易参数进行验证处理。
本申请实施例一方面提供了一种基于区块链的数据处理装置,该装置运行于具有可信执行环境的区块链节点,该装置包括:
第一生成模块,用于若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;
第一获取模块,用于获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的;
第二生成模块,用于若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封;
明文返回模块,用于将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
其中,基于区块链的数据处理装置,还包括:
第二获取模块,用于在可信执行环境中,获取验证设备发起的用于请求构建可信信道的信道构建请求;
第三生成模块,用于根据信道构建请求,生成远程认证响应,将远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,根据私钥片段生成加密私钥片段;
第三获取模块,用于获取验证设备发送的加密私钥片段,根据加密私钥片段,生成私钥片段。
其中,第三生成模块,包括:
第一生成单元,用于根据信道构建请求,生成针对验证设备的中间密钥对a;中间密钥对a包括中间公钥b;
第二生成单元,用于将中间公钥b作为认证挑战值,生成包括认证挑战值的远程认证响应;
第二生成单元,还用于将携带中间公钥b的远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,生成中间密钥对c;中间密钥对c包括中间私钥d;中间私钥d用于指示验证设备根据中间公钥b以及中间私钥d,生成协商密钥;协商密钥用于对私钥片段进行加密处理,得到加密私钥片段。
其中,第三生成模块,还包括:
第一获取单元,用于获取信道构建请求中用于表征验证设备的设备标识,获取中间密钥对a中的中间私钥e;
第一存储单元,用于将设备标识以及中间私钥e进行关联存储;
则第三获取模块,包括:
第二获取单元,用于获取验证设备发送的携带设备标识的私钥存储请求;私钥存储请求包括加密私钥片段以及中间公钥f;中间公钥f属于中间密钥对c;
第三获取单元,用于根据设备标识获取中间私钥e,根据中间私钥e以及中间公钥f,生成协商密钥;
第一处理单元,用于通过协商密钥,对加密私钥片段进行解密处理,得到私钥片段。
其中,基于区块链的数据处理装置,还包括:
第一添加模块,用于将私钥片段作为待聚合私钥Gh添加至待聚合私钥集合;h为正整数,且h小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;
第一统计模块,用于统计待聚合私钥集合中的待聚合私钥的私钥总数量;待聚合私钥集合中的待聚合私钥包括待聚合私钥Gh
第一确定模块,用于若私钥总数量等于设备总数量,则确定私钥片段满足公钥生成条件;
则第一生成模块,包括:
第二处理单元,用于在可信执行环境中,对私钥总数量等于设备总数量的待聚合私钥集合中的待聚合私钥进行聚合处理,得到针对验证设备的全局私钥;
第二生成单元,用于生成全局私钥对应的全局公钥。
其中,第一获取模块,包括:
第四获取单元,用于获取业务设备发送的包括数字信封的密文业务交易;
第三生成单元,用于在可信执行环境中,根据全局私钥,执行密文业务交易,得到密文业务交易对应的交易执行结果;
第三处理单元,用于对交易执行结果以及密文业务交易均进行共识处理,得到共识结果;
第四生成单元,用于若共识结果为共识通过结果,则在交易执行结果中获取待加密状态值,根据全局私钥生成针对待加密状态值的可信对称密钥;
第二存储单元,用于通过可信对称密钥对待加密状态值进行加密处理,得到密文状态值,存储密文状态值。
其中,基于区块链的数据处理装置,还包括:
密文发送模块,用于将密文业务交易发送至验证设备,以使验证设备生成包括密文业务交易的信封解密请求;
第四获取模块,用于在可信执行环境中,获取验证设备发起的信封解密请求,对信封解密请求进行合法性验证,得到验证结果;
第二添加模块,用于若验证结果指示信封解密请求通过合法性验证,则将信封解密请求作为待处理请求Ij添加至待处理请求集合;j为正整数,且j小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;
第二统计模块,用于统计待处理请求集合中的待处理请求的请求总数量;待处理请求集合中的待处理请求包括待处理请求Ij
第二确定模块,用于若请求总数量等于设备总数量,则确定信封解密请求满足信封解密条件。
其中,第四获取模块,包括:
第五获取单元,用于获取信封解密请求中用于表征验证设备的设备标识,通过设备标识获取私钥片段;
第四处理单元,用于生成私钥片段对应的公钥片段,通过公钥片段,对信封解密请求中的验证签名消息进行验签处理,得到验签结果;验证签名消息是验证设备通过私钥片段对密文业务交易进行签名处理所得到的;
第四处理单元,还用于若验签结果指示验证签名消息通过验签,则确定验证结果为信封解密请求通过合法性验证。
其中,第二生成模块,包括:
第六获取单元,用于获取数字信封中的第一密文参数以及第二密文参数;第一密文参数是业务设备通过业务随机密钥,对明文交易参数进行加密处理所得到的;第二密文参数是业务设备通过全局公钥,对业务随机密钥进行加密处理所得到的;
第五处理单元,用于通过全局私钥,对第二密文参数进行解密处理,得到业务随机密钥;
第六处理单元,用于通过业务随机密钥,对第一密文参数进行解密处理,得到明文交易参数。
本申请实施例一方面提供了一种基于区块链的数据处理装置,该装置运行于验证设备,该装置包括:
第一发送模块,用于发送私钥片段至具有可信执行环境的区块链节点,以使区块链节点在确定私钥片段满足公钥生成条件时,在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;全局公钥用于指示业务设备根据全局公钥以及明文交易参数生成数字信封;数字信封用于由业务设备发送至区块链节点;接收到数字信封的区块链节点用于对数字信封进行上链处理;
第二发送模块,用于发送用于请求解密数字信封的信封解密请求至区块链节点,以使区块链节点在确定信封解密请求满足信封解密条件时,在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;
明文获取模块,用于获取区块链节点返回的明文交易参数,对明文交易参数进行验证处理。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,区块链节点可以根据私钥片段,分别生成全局私钥以及全局私钥对应的全局公钥,明显地,全局私钥与私钥片段相关联,但全局私钥不等同于私钥片段,故验证设备根据自己的私钥片段,不能生成全局私钥,故可以提高全局私钥的安全性;进一步,区块链节点获取业务设备发送的数字信封,对数字信封进行上链处理,其中,数字信封是业务设备根据全局公钥以及明文交易参数所生成的,由于数字信封是明文交易参数的加密数据,故非法设备无法对数字信封进行解密处理,即无法获取明文交易参数,因此可以提高明文交易参数的安全性;进一步,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,区块链节点根据全局私钥以及数字信封,可以生成明文交易参数;信封解密请求用于请求解密数字信封;由于全局私钥是在可信执行环境中生成的,故外界无法获取全局私钥,即区块链节点仅能在可信执行环境中根据全局私钥,获取数字信封对应的明文交易参数;进一步,区块链节点将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种***架构示意图;
图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图一;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一;
图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图二;
图5a是本申请实施例提供的一种基于区块链的数据处理的场景示意图三;
图5b是本申请实施例提供的一种基于区块链的数据处理的场景示意图四;
图5c是本申请实施例提供的一种基于区块链的数据处理的场景示意图五;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图二;
图7是本申请实施例提供的一种基于区块链的数据处理方法的交互示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图三;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一;
图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块链节点:区块链网络将节点区分为共识节点(也可以称作核心节点)以及同步节点(可以包括数据节点以及轻节点)。其中,共识节点负责区块链全网的共识业务;同步节点负责同步共识节点的账本信息,即同步最新的区块数据。无论是共识节点还是同步节点,其内部构造都包括网络通信组件,因为区块链网络本质是一个点对点(Peer to Peer,P2P)网络,需通过P2P组件与区块链网络中的其他节点进行通信。区块链网络中的资源和服务都分散在各个节点上,信息的传输和服务的实现都直接在节点之间进行,无需中间环节或中心化的服务器(第三方)介入。
3、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
4、非对称签名:签名算法包括两个密钥,公开密钥(简称公钥,public key)和私有密钥(简称私钥,private key)。公钥与私钥是一对,如果用私钥对数据进行签名,只有用对应的公钥才能验签。因为签名过程和验签过程分别使用两个不同的密钥,所以这种算法称作非对称签名。非对称签名实现机密信息交换的基本过程可以是:甲方生成一对密钥并将公钥公开,甲方需要向其他角色(乙方)发送消息时,使用自己的私钥对机密消息进行签名后再发送给乙方;乙方再用甲方的公钥对签名后的消息进行验签。
5、可信执行环境(Trusted Execution Environment,简称TEE):可信执行环境是一种基于硬件的隐私计算方案。通过软硬件方法在中央处理器(Central ProcessingUnit,简称CPU)中构建了一个安全区域,保证其内部加载的程序和数据在机密性与完整性上得到保护。TEE将***的硬件资源与软件资源划分成两个执行环境——可信部分与不可信部分(普通部分)。这两个环境是隔离的,不可信部分无法访问可信部分的存储、内存。
6、数字信封:数字信封是将对称密钥通过非对称密钥对加密的结果分发对称密钥的方法。数字信封是实现信息保密性验证的技术。
请参见图1,图1是本申请实施例提供的一种***架构示意图。如图1所示,该***架构可以包括业务设备100a、验证设备100b以及区块链网络。
其中,区块链网络可以包括具有可信执行环境的区块链节点集群10,区块链节点集群10可以包括一个或多个区块链节点,本申请实施例不对区块链节点集群10中的区块链节点的数量进行限制。如图1所示,区块链节点集群10可以包括区块链节点10a、区块链节点10b、区块链节点10c以及区块链节点10d。可以理解的是,每个区块链节点在进行正常工作时,可以接收到链外设备(例如本申请实施例中的业务设备100a以及验证设备100b),发送的交易(例如本申请实施例中的密文业务交易)以及请求(例如本申请实施例中的信封解密请求),并基于接收到的交易或请求生成区块,然后对区块进行上链处理。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息(例如私钥片段以及密文业务交易)等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为了保证各个区块链节点之间的数据互通,每个区块链节点之间可以存在数据连接,例如区块链节点10a与区块链节点10c之间存在数据连接,区块链节点10a与区块链节点10d之间存在数据连接,区块链节点10b与区块链节点10c之间存在数据连接等等。可以理解的是,区块链节点之间可以通过上述数据连接进行数据或者区块传输。上述区块链节点之间的数据连接可以基于节点标识,对于区块链网络中的每个区块链节点,均具有与其对应的节点标识,而且上述每个区块链节点均可以存储与自身有相连关系的其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将获取到的数据或生成的区块广播至其他区块链节点,例如区块链节点10a可以维护一个节点标识列表,该节点标识列表保存着其他区块链节点的节点名称和节点标识,如表1所示。
表1
节点名称 节点标识
区块链节点10b AAAAA
区块链节点10c BBBBB
区块链节点10d CCCCC
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址,以及其他任意一种能够用于标识区块链网络中节点的信息,表1中仅以IP地址为例进行说明。
假设区块链节点10a的节点标识为FFFFFF,则区块链节点10a可以通过节点标识CCCCC,向区块链节点10d发送私钥片段,且区块链节点10d通过节点标识FFFFFF,可以确定该私钥片段是区块链节点10a所发送的;同理,区块链节点10d可以通过节点标识BBBBBB,向区块链节点10c发送信封解密请求,且区块链节点10c通过节点标识CCCCCC,可以确定该信封解密请求是区块链节点10d所发送的,其他节点之间的数据传输亦如此,故不再一一进行赘述。
可以理解的是,上述的数据连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他连接方式,本申请在此不做限制。
应当理解,区块链节点集群10中的每个区块链节点(例如,区块链节点10a、区块链节点10b、区块链节点10c、区块链节点10d),均可以用于维护同一区块链网络,本申请实施例不对区块链网络的类型进行限定,可以为私有链、公有链或包括私有链以及公有链的联盟链。该区块链节点集群10中的任意两个区块链节点之间可以形成点对点(P2P,Peer ToPeer)网络,该点对点网络可以采用P2P协议。在分布式***中,任何设备如服务器、终端等都可以加入而成为区块链节点。
可以理解的是,上述***可以包括一个或多个业务设备100a,本申请实施例不对业务设备100a的数量进行限制。业务设备100a可以提供业务服务,且通过业务服务可以生成相关的业务数据(例如本申请实施例中的明文交易参数),该业务数据需要被验证。其中,业务服务可以由业务应用提供,业务应用可以为短视频应用、直播应用、社交应用、即时通信应用、游戏应用、音乐应用、购物应用、小说应用、浏览器等具有提供业务数据功能的应用。其中,业务应用对应的应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
可以理解的是,上述***可以包括一个或多个验证设备100b,本申请实施例不对验证设备100b的数量进行限制。验证设备100b具有验证业务设备100a所生成的业务数据的功能,其中,该功能交易由验证应用提供,验证应用可以为短视频应用、直播应用、社交应用、即时通信应用、游戏应用、音乐应用、购物应用、小说应用、浏览器等具有验证业务数据功能的应用。其中,验证应用对应的应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
其中,业务设备100a与验证设备100b之间存在通信连接;业务设备100a可以与区块链节点集群10中的任一区块链节点存在通信连接,例如业务设备100a与区块链节点10a之间存在通信连接。验证设备100b可以与区块链节点集群10中的任一区块链节点存在通信连接,例如验证设备100b与区块链节点10b之间存在通信连接。上述的通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
其中,图1中的任意设备(包括业务设备100a以及验证设备100b)包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,简称CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
可以理解的是,图1中的区块链节点包括但不限于移动终端或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述移动终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。其中,移动终端和服务器可以通过有线或无线方式进行直接或间接地连接,本申请实施例对此不做限制。
进一步地,请参见图2,图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图一。其中,该数据处理场景的实现过程可以由具有可信执行环境的区块链节点执行,也可以由验证设备执行,也可以由业务设备执行,还可以由验证设备、业务设备以及区块链节点中的至少两个主体交互执行,此处不做限制。为了便于叙述以及理解,本申请实施例以在区块链节点中进行为例进行叙述,其中,区块链节点可以为上述图1所对应实施例的区块链节点集群10中的任意一个区块链节点,图2以区块链节点10a为例进行叙述。
如图2所示,若验证设备100b对应的私钥片段20a满足公钥生成条件,则区块链节点10a在可信执行环境20d中,根据私钥片段20a分别生成全局私钥201b以及全局私钥201b对应的全局公钥202b;本申请实施例将一个验证设备(例如图2中的验证设备100b)所生成的私钥称为私钥片段,对应地,将针对验证设备集群的私钥称为全局私钥,其中,全局公钥与全局私钥是一对非对称密钥对。可以理解的是,验证设备集群包括一个验证设备或多个验证设备,本申请实施例不对验证设备的总数量进行限定,可以根据实际应用场景进行设定。其中,验证设备100b生成私钥片段20a的具体过程,以及区块链节点10a得到私钥片段20a的具体过程,本申请实施例暂不展开描述,请参见下文图6所对应的实施例中步骤S201-S203的描述。
区块链节点10a将全局私钥201b存储在可信执行环境20d中,将全局公钥202b对外广播,故业务设备100a可以获取全局公钥202b。进一步,业务设备100a生成或获取明文交易参数20f,图2将明文交易参数20f示例为转移交易中进行资源转移的两方参数,即地址201e转出50资源(图2缩写为-50),地址202e转入50资源(图2缩写为+50)。需要强调的是,本申请实施例所述的明文交易参数是指原始的交易参数,即没有被加密的交易参数,且明文交易参数是明文业务交易中的局部信息,具体请参见下文图3所对应的实施例中步骤S102的描述。
业务设备100a根据全局公钥202b,可以对明文交易参数20f进行相关的加密处理,得到明文交易参数20f对应的数字信封20c,此时,明文交易参数20f转变为密文交易参数。业务设备100a将数字信封20c发送至区块链节点10a,区块链节点10a在获取业务设备100a发送的数字信封20c时,对数字信封20c进行上链处理。
进一步,若想要对明文交易参数20f进行验证处理,则验证设备100b可以向区块链节点10a发送用于请求解密数字信封20c的信封解密请求。区块链节点10a获取到验证设备100b发送的信封解密请求时,先对信封解密请求进行验证,在确定信封解密请求满足信封解密条件时,在可信执行环境20d中,区块链节点10a根据全局私钥201b对数字信封20c进行相关的解密处理,得到明文交易参数20f。其中,区块链节点10a确定信封解密请求满足信封解密条件的具体过程,以及得到明文交易参数20f的具体过程,此处暂不展开描述,请参见下文图3所对应的实施例中步骤S102以及S103的描述。
如图2所示,区块链节点10a将明文交易参数20f返回至验证设备100b,故验证设备100b可以对明文交易参数20f进行验证处理。
在本申请实施例中,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,区块链节点可以根据私钥片段,分别生成全局私钥以及全局私钥对应的全局公钥,明显地,全局私钥与私钥片段相关联,但全局私钥不等同于私钥片段,故验证设备根据自己的私钥片段,不能生成全局私钥,故可以提高全局私钥的安全性;进一步,区块链节点获取业务设备发送的数字信封,对数字信封进行上链处理,其中,数字信封是业务设备根据全局公钥以及明文交易参数所生成的,由于数字信封是明文交易参数的加密数据,故非法设备无法对数字信封进行解密处理,即无法获取明文交易参数,因此可以提高明文交易参数的安全性;进一步,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,区块链节点根据全局私钥以及数字信封,可以生成明文交易参数;信封解密请求用于请求解密数字信封;由于全局私钥是在可信执行环境中生成的,故外界无法获取全局私钥,即区块链节点仅能在可信执行环境中根据全局私钥,获取数字信封对应的明文交易参数;进一步,区块链节点将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图一。该基于区块链的数据处理方法可以由具有可信执行环境的区块链节点执行,也可以由验证设备执行,也可以由业务设备执行,还可以由验证设备、业务设备以及区块链节点中的至少两个主体交互执行,此处不做限制。为了便于叙述以及理解,本申请实施例以在区块链节点中进行为例进行叙述,其中,区块链节点可以为上述图1所对应实施例的区块链节点集群10中的任意一个区块链节点。如图3所示,该基于区块链的数据处理方法至少可以包括以下步骤S101-步骤S104。
步骤S101,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥。
具体的,将私钥片段作为待聚合私钥Gh添加至待聚合私钥集合;h为正整数,且h小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;统计待聚合私钥集合中的待聚合私钥的私钥总数量;待聚合私钥集合中的待聚合私钥包括待聚合私钥Gh;若私钥总数量等于设备总数量,则确定私钥片段满足公钥生成条件。
具体的,在可信执行环境中,对私钥总数量等于设备总数量的待聚合私钥集合中的待聚合私钥进行聚合处理,得到针对验证设备的全局私钥;生成全局私钥对应的全局公钥。
本申请实施例不对验证设备集群的总数量(等同于下文提及的设备总数量)进行限定,可以为一个或多个,具体数值可以根据实际应用场景进行设定。为了提高验证安全性,本申请实施例根据每个验证设备分别对应的私钥片段,生成针对验证设备集群的全局私钥。请一并参见图4,图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图二。在图4中,将设备总数量示例为3,即验证设备集群包括3个验证设备,分别为验证设备100b、验证设备101b以及验证设备102b。可以理解的是,区块链节点10a对验证设备100b对应的私钥片段(例如图4中的私钥片段1)的处理过程,与对验证设备101b对应的私钥片段(例如图4中的私钥片段2)的处理过程相同,同样地,区块链节点10a对验证设备102b对应的私钥片段(例如图4中的私钥片段3)的处理过程,也与对私钥片段1的处理过程相同。
区块链节点10a在可信执行环境中,获取验证设备100b对应的私钥片段1,将私钥片段1添加至待聚合私钥集合40a,若待聚合私钥集合40a中所包括的待聚合私钥的总数量(简称为私钥总数量)小于设备总数量,则确定验证设备集群中存在部分验证设备未上传其对应的私钥片段,或可以生成其对应的私钥片段的数据,进而确定私钥片段1不满足公钥生成条件。其中,公钥生成条件用于表明私钥总数量等于设备总数量。
图4示例待聚合私钥集合40a包括3个验证设备分别对应的私钥片段,故私钥片段1、私钥片段2以及私钥片段3均满足公钥生成条件,此时,区块链节点10a在可信执行环境中,对3个私钥片段进行聚合处理,得到针对验证设备集群的全局私钥,进一步,生成全局私钥对应的全局公钥,同理,该全局公钥是针对验证设备集群的公钥。其中,私钥片段的聚合处理可以通过如下公式(1)表示,全局公钥的生成可以通过如下公式(2)表示。
sk全局=sk1*sk2*…*ski (1)
pk全局=sk1*sk2*…*ski*G (2)
其中,公式(1)中的ski表示第i个私钥片段,sk全局表示全局私钥,pk全局表示全局公钥,G表示椭圆曲线上的基点,符号“*”表示有限域上的乘法。
步骤S102,获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的。
具体的,获取业务设备发送的包括数字信封的密文业务交易;在可信执行环境中,根据全局私钥,执行密文业务交易,得到密文业务交易对应的交易执行结果;对交易执行结果以及密文业务交易均进行共识处理,得到共识结果;若共识结果为共识通过结果,则在交易执行结果中获取待加密状态值,根据全局私钥生成针对待加密状态值的可信对称密钥;通过可信对称密钥对待加密状态值进行加密处理,得到密文状态值,存储密文状态值。
在本申请实施例中,业务对象(即与业务设备具有绑定关系的对象,例如用户或公司)可以选择要加密的交易参数,即业务对象可以自定义待加密的交易参数,故业务对象通过业务设备提交业务交易时,所输入的明文交易参数仅业务对象可见。请一并参见图5a,图5a是本申请实施例提供的一种基于区块链的数据处理的场景示意图三。如图5a所示,业务设备100a生成一个明文业务交易50b(即不包括加密数据的业务交易),明文业务交易50b可以包括业务方、执行该明文业务交易的合约名、方法名(即函数名)、参数(图5a用计算参数示例)、交易哈希、交易签名等。本申请实施例将业务方示例为地址50a,将合约名示例为计算合约,将方法名示例为计算方法,将参数示例为a=1,b=2,c=5。其中,交易哈希可以是业务设备100a对地址50a、计算合约、计算方法,以及计算参数(即a=1,b=2,c=5)进行哈希计算所生成的。交易签名可以是业务设备100a通过自己的业务私钥,对地址50a、计算合约、计算方法,以及计算参数(即a=1,b=2,c=5)进行签名处理所生成的。
通常情况下,业务对象希望隐藏的信息为业务交易的原始信息,例如图5a中的业务方、计算参数,而不是业务交易的衍生信息,例如图5a中的交易哈希以及交易签名,故本申请实施例支持业务对象自定义待加密的业务参数,即明文交易参数。在图5a中,明文交易参数示例为计算参数。需要强调的是,本申请实施例不对明文交易参数进行限定,不包括业务交易的衍生信息即可,可以根据实际应用场景进行限定。例如在转账资源场景中,明文交易参数可以包括转账资源的数量、资源转出地址、资源转入地址等。
业务设备100a可以按照如下步骤1-5,对明文业务交易50b进行加密处理,得到密文业务交易50e。步骤1,通过json序列化的方法,业务设备100a将明文交易参数(如图5a中的a=1,b=2,c=5)转化成字符串{“a”:1,“b”:2,“c”:5},并进一步转化成二进制串msg。
步骤2,如图5a所示,业务设备100a本地生成业务随机密钥50e,该业务随机密钥50e是一个对称密钥;通过业务随机密钥50e,业务设备100a对步骤1中的二进制串msg进行加密处理,得到第一密文参数,该过程可以采用如下公式(3)表示。
cipher_msg=Enc(key,msg) (3)
其中,公式(3)中的key表示业务随机密钥50e,Enc表示通过业务随机密钥50e(即key)对二进制串msg进行加密处理,cipher_msg表示二进制串msg对应的密文值,即第一密文参数。
步骤3,如图5a所示,通过全局公钥50d,业务设备100a对业务随机密钥50e进行加密处理,得到第二密文参数,该过程可以采用如下公式(4)表示。
cipher_key=Enc(pk,key) (4)
其中,公式(4)中的pk表示全局公钥,cipher_key表示业务随机密钥50e(即key)对应的密文值,即第二密文参数,剩余符号的含义同公式(3)中的解释。
步骤4,如图5a所示,业务设备100a将第一密文参数以及第二密文参数组合成明文交易参数对应的数字信封,即新的交易参数(等同于图5a中新的计算参数)为cipher_msg=Enc(key,msg),cipher_key=Enc(pk,key)。
步骤5,根据新的交易参数,业务设备计算新的交易哈希与新的交易签名。可以理解的是,由于明文交易参数更新为数字信封,故会重新进行哈希计算,以及签名处理。
如图5a所示,根据上述步骤1-步骤5,业务设备100a可以得到密文业务交易50e,进一步,将密文业务交易50e发送至区块链节点10a。请一并参见图5b,图5b是本申请实施例提供的一种基于区块链的数据处理的场景示意图四。如图5b所示,区块链节点10a在可信执行环境50g中执行密文业务交易,具体过程如下。在可信执行环境50g中,区块链节点10a获取密文业务交易中的数字信封,根据全局私钥50f,对数字信封进行相关的解密处理,得到明文交易参数,如图5b所示例的“a=1,b=2,c=5”。该过程的具体实现,请参见下文步骤S103中的描述,此处暂不展开叙述。
在获取到明文交易参数后,区块链节点10a可以在可信执行环境50g中,将明文交易参数输入至智能合约的业务方法中,如图5a所示例的计算合约的技术方法,执行业务方法,得到明文交易参数对应的交易执行结果。进一步,区块链节点10a对交易执行结果以及密文业务交易均进行共识处理(即广播至区块链),得到共识结果;若共识结果为共识通过结果,则表明上链成功。
本申请实施例在智能合约层面,智能合约的开发者可以在智能合约中指定哪一部分状态值需要被加密,然后将加密之后的状态值存储在链上。请再参见图5b,区块链节点10a在交易执行结果中获取待加密状态值,例如写集合等,具体可以根据智能合约的开发者的设计来确定。进一步,区块链节点10a根据全局私钥50f,生成针对待加密状态值的可信对称密钥50h;通过可信对称密钥50h,对待加密状态值进行加密处理,得到密文状态值,进一步,区块链节点10a在可信执行环境50g中存储密文状态值。
区块链的虚拟机一般有SaveObject、GetObject两个接口(不同的区块链对这两个接口的命名会有一些差异,但功能一致),这两个接口分别实现了在链上存储对象、从链上读取对象的功能。Tee合约虚拟机除了上述两个接口,需要额外生成SaveConfidentialObject、GetConfidentialObject两个接口,额外的两个接口用于在链上存储加密的对象、读取加密的对象,例如本申请实施例中的密文状态值。可以理解的是,读取密文状态值时,区块链节点10a首先在可信执行环境50g中,通过可信对称密钥50h对密文状态值进行解密处理,得到待加密状态值。
上述过程全部都是在tee内执行,在tee外部只能观测到加密后存储的数据。此外,若其他合约错误地使用GetObject接口读取加密后的数据,只能读到加密后无意义的密文。
步骤S103,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封。
具体的,将密文业务交易发送至验证设备,以使验证设备生成包括密文业务交易的信封解密请求;在可信执行环境中,获取验证设备发起的信封解密请求,对信封解密请求进行合法性验证,得到验证结果;若验证结果指示信封解密请求通过合法性验证,则将信封解密请求作为待处理请求Ij添加至待处理请求集合;j为正整数,且j小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;统计待处理请求集合中的待处理请求的请求总数量;待处理请求集合中的待处理请求包括待处理请求Ij;若请求总数量等于设备总数量,则确定信封解密请求满足信封解密条件。
其中,对信封解密请求进行合法性验证,得到验证结果的具体过程可以包括:获取信封解密请求中用于表征验证设备的设备标识,通过设备标识获取私钥片段;生成私钥片段对应的公钥片段,通过公钥片段,对信封解密请求中的验证签名消息进行验签处理,得到验签结果;验证签名消息是验证设备通过私钥片段对密文业务交易进行签名处理所得到的;若验签结果指示验证签名消息通过验签,则确定验证结果为信封解密请求通过合法性验证。
具体的,获取数字信封中的第一密文参数以及第二密文参数;第一密文参数是业务设备通过业务随机密钥,对明文交易参数进行加密处理所得到的;第二密文参数是业务设备通过全局公钥,对业务随机密钥进行加密处理所得到的;通过全局私钥,对第二密文参数进行解密处理,得到业务随机密钥;通过业务随机密钥,对第一密文参数进行解密处理,得到明文交易参数。
本申请引入了验证者的角色,并设计了在tee环境中存储验证者密钥的机制、在tee环境中利用验证者密钥派生新密钥的机制、业务对象使用验证者密钥的方法等,从而实现了在所有验证者同意的情况下,区块链节点可以解密密文业务交易。请再参见图5b,区块链节点10a将密文业务交易发送至验证设备100b,需要强调的是,验证设备集群中的每个验证设备均会获取到密文业务交易,且每个验证设备的后续处理过程,与图5b中的验证设备100b的后续处理过程相同,故本申请实施例仅描述验证设备100b生成信封解密请求的过程。
如图5b所示,验证设备100b使用自己的私钥片段50i,对密文业务交易进行验签处理,得到验证签名消息50j,将验证签名消息50j、密文业务交易以及用于表征验证设备100b的设备标识,组合成信封解密请求1,然后将信封解密请求1发送至区块链节点10a。
可以理解的是,获取到验证设备集群中的每个验证设备分别对应的信封解密请求后,区块链节点的后续处理过程是相同的,故本申请实施例以针对验证设备100b对应的信封解密请求(如图5b中的信封解密请求1)为例,进行叙述。
请一并参见图5c,图5c是本申请实施例提供的一种基于区块链的数据处理的场景示意图五。区块链节点10a获取信封解密请求1后,获取信封解密请求1中用于表征验证设备100b的设备标识,通过设备标识,区块链节点10a在可信执行环境中可以获取验证设备100b所生成的私钥片段50i。进一步,区块链节点10a可以在可信执行环境中生成私钥片段50i对应的公钥片段501i,通过公钥片段501i,对信封解密请求中的验证签名消息50j进行验签处理,得到验签结果;若验签结果指示验证签名消息50j通过验签,则确定验证结果为信封解密请求1通过合法性验证。若验证结果指示信封解密请求1通过合法性验证,则区块链节点10a将信封解密请求1添加至待处理请求集合50k。进一步,区块链节点10a在可信执行环境中,统计待处理请求集合50k中的待处理请求的请求总数量,如图5c所示例,待处理请求集合50k包括信封解密请求1、信封解密请求2以及信封解密请求3,若验证设备集群包括3个验证设备,如图4中所示例的验证设备100b、验证设备101b以及验证设备102b,则可以确定请求总数量等于设备总数量,此时,区块链节点10a可以确定信封解密请求1满足信封解密条件。其中,信封解密条件用于表征请求总数量等于设备总数量。
请再参见图5c,若信封解密请求1满足信封解密条件,则区块链节点10a在可信执行环境中,获取数字信封中的第一密文参数以及第二密文参数。进一步,通过全局私钥50m,对第二密文参数进行解密处理,得到业务随机密钥50c;通过业务随机密钥50c,对第一密文参数进行解密处理,得到明文交易参数,如图5c中所示例的“a=1,b=2,c=5”。
明显地,本申请实施例设计了区块链上密文交易参数的核实、验证方案,当且仅当链上所有的验证方同意验证密文交易参数时,区块链节点才可以解密密文交易参数,明文交易参数的数字信封。
步骤S104,将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
具体的,区块链的一个常见业务是存证业务,业务对象希望通过存证业务在链上永久存储一批数据。本申请实施例不对区块链所存储的存证数据的类型进行限定,包括但不限于一份证书、一段证明、或者是一系列的操作记录。
出于数据安全的考虑,业务对象不会直接将明文交易参数存证在链上,而是制作明文交易参数对应的数字信封,并将数字信封发送到链上。随着存证业务的发展,存证的数据也有了使用价值。若采用本申请,例如,A业务在链上存了一系列的操作记录,这些数据由上述的全局公钥进行加密;B业务需要在链上审核A业务的操作记录,并在审计完成后出具证书。此时,就需要B业务在链上解密A业务存证的数据,并在智能合约中按一定的逻辑进行验证。于此同时,区块链中还需要设计完备的验证体系,以避免业务方将不合法的数据加密后上传到链上。
在本申请实施例中,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,区块链节点可以根据私钥片段,分别生成全局私钥以及全局私钥对应的全局公钥,明显地,全局私钥与私钥片段相关联,但全局私钥不等同于私钥片段,故验证设备根据自己的私钥片段,不能生成全局私钥,故可以提高全局私钥的安全性;进一步,区块链节点获取业务设备发送的数字信封,对数字信封进行上链处理,其中,数字信封是业务设备根据全局公钥以及明文交易参数所生成的,由于数字信封是明文交易参数的加密数据,故非法设备无法对数字信封进行解密处理,即无法获取明文交易参数,因此可以提高明文交易参数的安全性;进一步,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,区块链节点根据全局私钥以及数字信封,可以生成明文交易参数;信封解密请求用于请求解密数字信封;由于全局私钥是在可信执行环境中生成的,故外界无法获取全局私钥,即区块链节点仅能在可信执行环境中根据全局私钥,获取数字信封对应的明文交易参数;进一步,区块链节点将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图6,图6是本申请实施例提供的一种数据处理方法的流程示意图二。该基于区块链的数据处理方法可以由具有可信执行环境的区块链节点执行,也可以由验证设备执行,也可以由业务设备执行,还可以由验证设备、业务设备以及区块链节点中的至少两个主体交互执行,此处不做限制。为了便于叙述以及理解,本申请实施例以在区块链节点中进行为例进行叙述,其中,区块链节点可以为上述图1所对应实施例的区块链节点集群10中的任意一个区块链节点。如图6所示,该基于区块链的数据处理方法至少可以包括以下步骤S201-步骤S207。
步骤S201,在可信执行环境中,获取验证设备发起的用于请求构建可信信道的信道构建请求。
具体的,请一并参见图7,图7是本申请实施例提供的一种基于区块链的数据处理方法的交互示意图。可以理解的是,验证设备集群中的每个验证设备均按照图7,与区块链节点进行交互,即每个验证设备与区块链节点的交互过程相同,故本申请实施例仅描述一个验证设备,剩余验证设备的处理过程,可以参照下述描述。
如图7所示,步骤A,验证设备发送信道构建请求至区块链节点。该信道构建请求用于请求与区块链节点的可信执行环境构建一条安全的可信信道,以安全地传输后续过程所涉及的数据。
步骤S202,根据信道构建请求,生成远程认证响应,将远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,根据私钥片段生成加密私钥片段。
具体的,根据信道构建请求,生成针对验证设备的中间密钥对a;中间密钥对a包括中间公钥b;将中间公钥b作为认证挑战值,生成包括认证挑战值的远程认证响应;将携带中间公钥b的远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,生成中间密钥对c;中间密钥对c包括中间私钥d;中间私钥d用于指示验证设备根据中间公钥b以及中间私钥d,生成协商密钥;协商密钥用于对私钥片段进行加密处理,得到加密私钥片段。
具体的,获取信道构建请求中用于表征验证设备的设备标识,获取中间密钥对a中的中间私钥e;将设备标识以及中间私钥e进行关联存储。
如图7所示,步骤B,区块链节点生成中间密钥对a;该步骤-步骤D均发生在可信执行环境,中间密钥对a是一对非对称密钥对,其包括中间私钥e以及中间公钥b,其中,中间私钥e以及中间公钥b之间的关系可以通过如下公式(5)表示。
b=G*e (5)
其中,公式(5)中的基点G等同于上述公式(2)中的基点G。中间私钥e以及中间公钥b均为有限域上的两个随机标量。
步骤C,区块链节点关联存储(设备标识,中间私钥e)。步骤D,区块链节点生成远程认证响应;区块链节点在可信执行环境中,将中间公钥b作为认证挑战值,生成包括认证挑战值的远程认证响应。步骤E,区块链节点向验证设备发送携带中间公钥b的远程认证响应;步骤D-步骤E的目的是为了让验证设备确定中间公钥b确实是在区块链节点的可信执行环境中生成的。
步骤F,验证设备对远程认证响应进行验证处理;通过验证处理,验证设备可以确定远程认证响应的真实性。步骤G,验证设备生成中间密钥对c;在通过远程认证响应的验证时,验证设备生成中间密钥对c,中间密钥对c是一对非对称密钥对,其包括中间私钥d以及中间公钥f,其中,中间私钥d以及中间公钥f之间的关系可以通过如下公式(6)表示。
f=G*d (6)
其中,中间私钥d以及中间公钥f均为有限域上的两个随机标量。
步骤H,验证设备生成协商密钥;具体地,验证设备可以根据中间公钥b以及中间私钥d,生成协商密钥,该过程可以通过如下公式(7)表示。
σ=b*d=G*e*d (7)
其中,公式(7)中的σ表示协商密钥。
步骤I,验证设备生成加密私钥片段;本申请实施例不对验证设备生成自身的私钥片段的方式进行限定,可以根据实际应用场景进行设定。通过协商密钥,验证设备对私钥片段进行加密处理,得到加密私钥片段。进一步,验证设备根据中间公钥f、设备标识以及加密私钥片段,生成私钥存储请求。
步骤S203,获取验证设备发送的加密私钥片段,根据加密私钥片段,生成私钥片段。
具体的,获取验证设备发送的携带设备标识的私钥存储请求;私钥存储请求包括加密私钥片段以及中间公钥f;中间公钥f属于中间密钥对c;根据设备标识获取中间私钥e,根据中间私钥e以及中间公钥f,生成协商密钥;通过协商密钥,对加密私钥片段进行解密处理,得到私钥片段。
请再参见图7,步骤J,验证设备发送私钥存储请求至区块链节点。步骤K,区块链节点解密加密私钥片段,存储私钥视频。该步骤发生在区块链节点的可信执行环境中,区块链节点首先根据私钥存储请求中的设备标识,获取在步骤C中所关联存储的中间私钥e,然后根据中间私钥e以及中间公钥f,生成协商密钥,该过程可以通过如下公式(8)表示。
σ=e*f=e*G*d (8)
明显地,公式(8)所得到的协商密钥等同于公式(7)中的协商密钥。
进一步,区块链节点通过协商密钥,对加密私钥片段进行解密处理,得到私钥片段,后续将私钥片段与设备标识进行关联存储。
步骤S204,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥。
步骤S205,获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的。
步骤S206,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封。
步骤S207,将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
其中,步骤S204-步骤S207的具体实现过程,请参见上文图3所对应的实施例中的步骤S101-步骤S104,此处不进行赘述。
在本申请实施例中,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,区块链节点可以根据私钥片段,分别生成全局私钥以及全局私钥对应的全局公钥,明显地,全局私钥与私钥片段相关联,但全局私钥不等同于私钥片段,故验证设备根据自己的私钥片段,不能生成全局私钥,故可以提高全局私钥的安全性;进一步,区块链节点获取业务设备发送的数字信封,对数字信封进行上链处理,其中,数字信封是业务设备根据全局公钥以及明文交易参数所生成的,由于数字信封是明文交易参数的加密数据,故非法设备无法对数字信封进行解密处理,即无法获取明文交易参数,因此可以提高明文交易参数的安全性;进一步,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,区块链节点根据全局私钥以及数字信封,可以生成明文交易参数;信封解密请求用于请求解密数字信封;由于全局私钥是在可信执行环境中生成的,故外界无法获取全局私钥,即区块链节点仅能在可信执行环境中根据全局私钥,获取数字信封对应的明文交易参数;进一步,区块链节点将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图三。该基于区块链的数据处理方法可以由具有可信执行环境的区块链节点执行,也可以由验证设备执行,也可以由业务设备执行,还可以由验证设备、业务设备以及区块链节点中的至少两个主体交互执行,此处不做限制。为了便于叙述以及理解,本申请实施例以在验证设备中进行为例进行叙述,其中,验证设备可以为上述图1所对应实施例的验证设备100b。如图8所示,该基于区块链的数据处理方法至少可以包括以下步骤S301-步骤S303。
步骤S301,发送私钥片段至具有可信执行环境的区块链节点,以使区块链节点在确定私钥片段满足公钥生成条件时,在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;全局公钥用于指示业务设备根据全局公钥以及明文交易参数生成数字信封;数字信封用于由业务设备发送至区块链节点;接收到数字信封的区块链节点用于对数字信封进行上链处理。
步骤S302,发送用于请求解密数字信封的信封解密请求至区块链节点,以使区块链节点在确定信封解密请求满足信封解密条件时,在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数。
步骤S303,获取区块链节点返回的明文交易参数,对明文交易参数进行验证处理。
其中,步骤S301-步骤S303的具体实现过程,请参见上文图3所对应的实施例中的步骤S101-步骤S104,以及上文图6所对应的实施例中的步骤S201-步骤S207,此处不进行赘述。
上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图一。该基于区块链的数据处理装置可以运行于具有可信执行环境的区块链节点,上述基于区块链的数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该基于区块链的数据处理装置1可以包括:第一生成模块11、第一获取模块12、第二生成模块13以及明文返回模块14。
第一生成模块11,用于若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;
第一获取模块12,用于获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的;
第二生成模块13,用于若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封;
明文返回模块14,用于将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
其中,第一生成模块11、第一获取模块12、第二生成模块13以及明文返回模块14的具体功能实现方式,可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
再请参见图9,基于区块链的数据处理装置1还可以包括:第二获取模块15、第三生成模块16以及第三获取模块17。
第二获取模块15,用于在可信执行环境中,获取验证设备发起的用于请求构建可信信道的信道构建请求;
第三生成模块16,用于根据信道构建请求,生成远程认证响应,将远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,根据私钥片段生成加密私钥片段;
第三获取模块17,用于获取验证设备发送的加密私钥片段,根据加密私钥片段,生成私钥片段。
其中,第二获取模块15、第三生成模块16以及第三获取模块17的具体功能实现方式,可以参见上述图6对应实施例中的步骤S201-步骤S203,这里不再进行赘述。
再请参见图9,第三生成模块16可以包括:第一生成单元161以及第二生成单元162。
第一生成单元161,用于根据信道构建请求,生成针对验证设备的中间密钥对a;中间密钥对a包括中间公钥b;
第二生成单元162,用于将中间公钥b作为认证挑战值,生成包括认证挑战值的远程认证响应;
第二生成单元162,还用于将携带中间公钥b的远程认证响应发送至验证设备,以使验证设备在通过远程认证响应的验证时,生成中间密钥对c;中间密钥对c包括中间私钥d;中间私钥d用于指示验证设备根据中间公钥b以及中间私钥d,生成协商密钥;协商密钥用于对私钥片段进行加密处理,得到加密私钥片段。
其中,第一生成单元161以及第二生成单元162的具体功能实现方式,可以参见上述图6对应实施例中的步骤S202,这里不再进行赘述。
再请参见图9,第三生成模块16还可以包括:第一获取单元163以及第一存储单元164。
第一获取单元163,用于获取信道构建请求中用于表征验证设备的设备标识,获取中间密钥对a中的中间私钥e;
第一存储单元164,用于将设备标识以及中间私钥e进行关联存储;
则第三获取模块17可以包括:第二获取单元171、第三获取单元172以及第一处理单元173。
第二获取单元171,用于获取验证设备发送的携带设备标识的私钥存储请求;私钥存储请求包括加密私钥片段以及中间公钥f;中间公钥f属于中间密钥对c;
第三获取单元172,用于根据设备标识获取中间私钥e,根据中间私钥e以及中间公钥f,生成协商密钥;
第一处理单元173,用于通过协商密钥,对加密私钥片段进行解密处理,得到私钥片段。
其中,第二获取单元171、第三获取单元172以及第一处理单元173的具体功能实现方式,可以参见上述图6对应实施例中的步骤S202-步骤S203,这里不再进行赘述。
再请参见图9,基于区块链的数据处理装置1还可以包括:第一添加模块18、第一统计模块19以及第一确定模块30。
第一添加模块18,用于将私钥片段作为待聚合私钥Gh添加至待聚合私钥集合;h为正整数,且h小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;
第一统计模块19,用于统计待聚合私钥集合中的待聚合私钥的私钥总数量;待聚合私钥集合中的待聚合私钥包括待聚合私钥Gh
第一确定模块30,用于若私钥总数量等于设备总数量,则确定私钥片段满足公钥生成条件;
则第一生成模块11可以包括:第二处理单元111以及第二生成单元112。
第二处理单元111,用于在可信执行环境中,对私钥总数量等于设备总数量的待聚合私钥集合中的待聚合私钥进行聚合处理,得到针对验证设备的全局私钥;
第二生成单元112,用于生成全局私钥对应的全局公钥。
其中,第一添加模块18、第一统计模块19、第一确定模块30、第二处理单元111以及第二生成单元112的具体功能实现方式,可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
再请参见图9,第一获取模块12可以包括:第四获取单元121、第三生成单元122、第三处理单元123、第四生成单元124以及第二存储单元125。
第四获取单元121,用于获取业务设备发送的包括数字信封的密文业务交易;
第三生成单元122,用于在可信执行环境中,根据全局私钥,执行密文业务交易,得到密文业务交易对应的交易执行结果;
第三处理单元123,用于对交易执行结果以及密文业务交易均进行共识处理,得到共识结果;
第四生成单元124,用于若共识结果为共识通过结果,则在交易执行结果中获取待加密状态值,根据全局私钥生成针对待加密状态值的可信对称密钥;
第二存储单元125,用于通过可信对称密钥对待加密状态值进行加密处理,得到密文状态值,存储密文状态值。
其中,第四获取单元121、第三生成单元122、第三处理单元123、第四生成单元124以及第二存储单元125的具体功能实现方式,可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图9,基于区块链的数据处理装置1还可以包括:密文发送模块31、第四获取模块32、第二添加模块33、第二统计模块34以及第二确定模块35。
密文发送模块31,用于将密文业务交易发送至验证设备,以使验证设备生成包括密文业务交易的信封解密请求;
第四获取模块32,用于在可信执行环境中,获取验证设备发起的信封解密请求,对信封解密请求进行合法性验证,得到验证结果;
第二添加模块33,用于若验证结果指示信封解密请求通过合法性验证,则将信封解密请求作为待处理请求Ij添加至待处理请求集合;j为正整数,且j小于或等于验证设备集群的设备总数量;验证设备集群包括验证设备;
第二统计模块34,用于统计待处理请求集合中的待处理请求的请求总数量;待处理请求集合中的待处理请求包括待处理请求Ij
第二确定模块35,用于若请求总数量等于设备总数量,则确定信封解密请求满足信封解密条件。
其中,密文发送模块31、第四获取模块32、第二添加模块33、第二统计模块34以及第二确定模块35的具体功能实现方式,可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图9,第四获取模块32可以包括:第五获取单元321以及第四处理单元322。
第五获取单元321,用于获取信封解密请求中用于表征验证设备的设备标识,通过设备标识获取私钥片段;
第四处理单元322,用于生成私钥片段对应的公钥片段,通过公钥片段,对信封解密请求中的验证签名消息进行验签处理,得到验签结果;验证签名消息是验证设备通过私钥片段对密文业务交易进行签名处理所得到的;
第四处理单元322,还用于若验签结果指示验证签名消息通过验签,则确定验证结果为信封解密请求通过合法性验证。
其中,第五获取单元321以及第四处理单元322的具体功能实现方式,可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图9,第二生成模块13可以包括:第六获取单元131、第五处理单元132以及第六处理单元133。
第六获取单元131,用于获取数字信封中的第一密文参数以及第二密文参数;第一密文参数是业务设备通过业务随机密钥,对明文交易参数进行加密处理所得到的;第二密文参数是业务设备通过全局公钥,对业务随机密钥进行加密处理所得到的;
第五处理单元132,用于通过全局私钥,对第二密文参数进行解密处理,得到业务随机密钥;
第六处理单元133,用于通过业务随机密钥,对第一密文参数进行解密处理,得到明文交易参数。
其中,第六获取单元131、第五处理单元132以及第六处理单元133的具体功能实现方式,可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图10,图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图二。该基于区块链的数据处理装置可以运行于验证设备,上述基于区块链的数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该基于区块链的数据处理装置2可以包括:第一发送模块21、第二发送模块22以及明文获取模块23。
第一发送模块21,用于发送私钥片段至具有可信执行环境的区块链节点,以使区块链节点在确定私钥片段满足公钥生成条件时,在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;全局公钥用于指示业务设备根据全局公钥以及明文交易参数生成数字信封;数字信封用于由业务设备发送至区块链节点;接收到数字信封的区块链节点用于对数字信封进行上链处理;
第二发送模块22,用于发送用于请求解密数字信封的信封解密请求至区块链节点,以使区块链节点在确定信封解密请求满足信封解密条件时,在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;
明文获取模块23,用于获取区块链节点返回的明文交易参数,对明文交易参数进行验证处理。
其中,第一发送模块21、第二发送模块22以及明文获取模块23的具体功能实现方式,可以参见上述图8对应实施例中的步骤S301-步骤S303,这里不再进行赘述。
在本申请实施例中,若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,区块链节点可以根据私钥片段,分别生成全局私钥以及全局私钥对应的全局公钥,明显地,全局私钥与私钥片段相关联,但全局私钥不等同于私钥片段,故验证设备根据自己的私钥片段,不能生成全局私钥,故可以提高全局私钥的安全性;进一步,区块链节点获取业务设备发送的数字信封,对数字信封进行上链处理,其中,数字信封是业务设备根据全局公钥以及明文交易参数所生成的,由于数字信封是明文交易参数的加密数据,故非法设备无法对数字信封进行解密处理,即无法获取明文交易参数,因此可以提高明文交易参数的安全性;进一步,若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,区块链节点根据全局私钥以及数字信封,可以生成明文交易参数;信封解密请求用于请求解密数字信封;由于全局私钥是在可信执行环境中生成的,故外界无法获取全局私钥,即区块链节点仅能在可信执行环境中根据全局私钥,获取数字信封对应的明文交易参数;进一步,区块链节点将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。上述可知,本申请实施例是在可信执行环境中,根据验证设备的私钥片段,生成针对验证设备的全局私钥,故可以提高全局私钥的安全性;此外,通过针对验证设备的全局公钥,生成明文交易参数对应的数字信封,不仅可以提高明文交易参数的安全性,还可以保证仅能通过针对验证设备的全局私钥,获取数字信封对应的明文交易参数;故采用本申请,不仅可以提高数据(包括全局私钥以及明文交易参数)的安全性,还可以提高明文交易数据被验证的安全性。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
若验证设备对应的私钥片段满足公钥生成条件,则在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;
获取业务设备发送的数字信封,对数字信封进行上链处理;数字信封是业务设备根据全局公钥以及明文交易参数所生成的;
若验证设备发送的信封解密请求满足信封解密条件,则在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;信封解密请求用于请求解密数字信封;
将明文交易参数返回至验证设备,以使验证设备对明文交易参数进行验证处理。
或者,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
发送私钥片段至具有可信执行环境的区块链节点,以使区块链节点在确定私钥片段满足公钥生成条件时,在可信执行环境中,根据私钥片段分别生成全局私钥以及全局私钥对应的全局公钥;全局公钥用于指示业务设备根据全局公钥以及明文交易参数生成数字信封;数字信封用于由业务设备发送至区块链节点;接收到数字信封的区块链节点用于对数字信封进行上链处理;
发送用于请求解密数字信封的信封解密请求至区块链节点,以使区块链节点在确定信封解密请求满足信封解密条件时,在可信执行环境中,根据全局私钥以及数字信封,生成明文交易参数;
获取区块链节点返回的明文交易参数,对明文交易参数进行验证处理。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文各实施例中对基于区块链的数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现前文各实施例中对基于区块链的数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可执行前文各实施例中对基于区块链的数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种基于区块链的数据处理方法,其特征在于,所述方法由具有可信执行环境的区块链节点执行,所述方法包括:
若验证设备对应的私钥片段满足公钥生成条件,则在所述可信执行环境中,根据所述私钥片段分别生成全局私钥以及所述全局私钥对应的全局公钥;
获取业务设备发送的数字信封,对所述数字信封进行上链处理;所述数字信封是所述业务设备根据所述全局公钥以及明文交易参数所生成的;
若所述验证设备发送的信封解密请求满足信封解密条件,则在所述可信执行环境中,根据所述全局私钥以及所述数字信封,生成所述明文交易参数;所述信封解密请求用于请求解密所述数字信封;
将所述明文交易参数返回至所述验证设备,以使所述验证设备对所述明文交易参数进行验证处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述可信执行环境中,获取所述验证设备发起的用于请求构建可信信道的信道构建请求;
根据所述信道构建请求,生成远程认证响应,将所述远程认证响应发送至所述验证设备,以使所述验证设备在通过所述远程认证响应的验证时,根据所述私钥片段生成加密私钥片段;
获取所述验证设备发送的所述加密私钥片段,根据所述加密私钥片段,生成所述私钥片段。
3.根据权利要求2所述的方法,其特征在于,所述根据所述信道构建请求,生成远程认证响应,将所述远程认证响应发送至所述验证设备,以使所述验证设备在通过所述远程认证响应的验证时,根据所述私钥片段生成加密私钥片段,包括:
根据所述信道构建请求,生成针对所述验证设备的中间密钥对a;所述中间密钥对a包括中间公钥b;
将所述中间公钥b作为认证挑战值,生成包括所述认证挑战值的远程认证响应;
将携带所述中间公钥b的所述远程认证响应发送至所述验证设备,以使所述验证设备在通过所述远程认证响应的验证时,生成中间密钥对c;所述中间密钥对c包括中间私钥d;所述中间私钥d用于指示所述验证设备根据所述中间公钥b以及所述中间私钥d,生成协商密钥;所述协商密钥用于对所述私钥片段进行加密处理,得到加密私钥片段。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述信道构建请求中用于表征所述验证设备的设备标识,获取所述中间密钥对a中的中间私钥e;
将所述设备标识以及所述中间私钥e进行关联存储;
则所述获取所述验证设备发送的所述加密私钥片段,根据所述加密私钥片段,生成所述私钥片段,包括:
获取所述验证设备发送的携带所述设备标识的私钥存储请求;所述私钥存储请求包括所述加密私钥片段以及中间公钥f;所述中间公钥f属于所述中间密钥对c;
根据所述设备标识获取所述中间私钥e,根据所述中间私钥e以及所述中间公钥f,生成所述协商密钥;
通过所述协商密钥,对所述加密私钥片段进行解密处理,得到所述私钥片段。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述私钥片段作为待聚合私钥Gh添加至待聚合私钥集合;h为正整数,且h小于或等于验证设备集群的设备总数量;所述验证设备集群包括所述验证设备;
统计所述待聚合私钥集合中的待聚合私钥的私钥总数量;所述待聚合私钥集合中的待聚合私钥包括所述待聚合私钥Gh
若所述私钥总数量等于所述设备总数量,则确定所述私钥片段满足所述公钥生成条件;
则所述在所述可信执行环境中,根据所述私钥片段分别生成全局私钥以及所述全局私钥对应的全局公钥,包括:
在所述可信执行环境中,对所述私钥总数量等于所述设备总数量的所述待聚合私钥集合中的待聚合私钥进行聚合处理,得到针对所述验证设备的全局私钥;
生成所述全局私钥对应的全局公钥。
6.根据权利要求1所述的方法,其特征在于,所述获取业务设备发送的数字信封,对所述数字信封进行上链处理,包括:
获取业务设备发送的包括数字信封的密文业务交易;
在所述可信执行环境中,根据所述全局私钥,执行所述密文业务交易,得到所述密文业务交易对应的交易执行结果;
对所述交易执行结果以及所述密文业务交易均进行共识处理,得到共识结果;
若所述共识结果为共识通过结果,则在所述交易执行结果中获取待加密状态值,根据所述全局私钥生成针对所述待加密状态值的可信对称密钥;
通过所述可信对称密钥对所述待加密状态值进行加密处理,得到密文状态值,存储所述密文状态值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述密文业务交易发送至所述验证设备,以使所述验证设备生成包括所述密文业务交易的所述信封解密请求;
在所述可信执行环境中,获取所述验证设备发起的所述信封解密请求,对所述信封解密请求进行合法性验证,得到验证结果;
若所述验证结果指示所述信封解密请求通过合法性验证,则将所述信封解密请求作为待处理请求Ij添加至待处理请求集合;j为正整数,且j小于或等于验证设备集群的设备总数量;所述验证设备集群包括所述验证设备;
统计所述待处理请求集合中的待处理请求的请求总数量;所述待处理请求集合中的待处理请求包括所述待处理请求Ij
若所述请求总数量等于所述设备总数量,则确定所述信封解密请求满足所述信封解密条件。
8.根据权利要求7所述的方法,其特征在于,所述对所述信封解密请求进行合法性验证,得到验证结果,包括:
获取所述信封解密请求中用于表征所述验证设备的设备标识,通过所述设备标识获取所述私钥片段;
生成所述私钥片段对应的公钥片段,通过所述公钥片段,对所述信封解密请求中的验证签名消息进行验签处理,得到验签结果;所述验证签名消息是所述验证设备通过所述私钥片段对所述密文业务交易进行签名处理所得到的;
若所述验签结果指示所述验证签名消息通过验签,则确定验证结果为所述信封解密请求通过合法性验证。
9.根据权利要求1所述的方法,其特征在于,所述根据所述全局私钥以及所述数字信封,生成所述明文交易参数,包括:
获取所述数字信封中的第一密文参数以及第二密文参数;所述第一密文参数是所述业务设备通过业务随机密钥,对所述明文交易参数进行加密处理所得到的;所述第二密文参数是所述业务设备通过所述全局公钥,对所述业务随机密钥进行加密处理所得到的;
通过所述全局私钥,对所述第二密文参数进行解密处理,得到所述业务随机密钥;
通过所述业务随机密钥,对所述第一密文参数进行解密处理,得到所述明文交易参数。
10.一种基于区块链的数据处理方法,其特征在于,所述方法由验证设备执行,所述方法包括:
发送私钥片段至具有可信执行环境的区块链节点,以使所述区块链节点在确定所述私钥片段满足公钥生成条件时,在所述可信执行环境中,根据所述私钥片段分别生成全局私钥以及所述全局私钥对应的全局公钥;所述全局公钥用于指示业务设备根据所述全局公钥以及明文交易参数生成数字信封;所述数字信封用于由所述业务设备发送至所述区块链节点;接收到所述数字信封的所述区块链节点用于对所述数字信封进行上链处理;
发送用于请求解密所述数字信封的信封解密请求至所述区块链节点,以使所述区块链节点在确定所述信封解密请求满足信封解密条件时,在所述可信执行环境中,根据所述全局私钥以及所述数字信封,生成所述明文交易参数;
获取所述区块链节点返回的所述明文交易参数,对所述明文交易参数进行验证处理。
11.一种基于区块链的数据处理装置,其特征在于,所述装置运行于具有可信执行环境的区块链节点,所述装置包括:
第一生成模块,用于若验证设备对应的私钥片段满足公钥生成条件,则在所述可信执行环境中,根据所述私钥片段分别生成全局私钥以及所述全局私钥对应的全局公钥;
第一获取模块,用于获取业务设备发送的数字信封,对所述数字信封进行上链处理;所述数字信封是所述业务设备根据所述全局公钥以及明文交易参数所生成的;
第二生成模块,用于若所述验证设备发送的信封解密请求满足信封解密条件,则在所述可信执行环境中,根据所述全局私钥以及所述数字信封,生成所述明文交易参数;所述信封解密请求用于请求解密所述数字信封;
第一返回模块,用于将所述明文交易参数返回至所述验证设备,以使所述验证设备对所述明文交易参数进行验证处理。
12.一种基于区块链的数据处理装置,其特征在于,所述装置运行于验证设备,所述装置包括:
第一发送模块,用于发送私钥片段至具有可信执行环境的区块链节点,以使所述区块链节点在确定所述私钥片段满足公钥生成条件时,在所述可信执行环境中,根据所述私钥片段分别生成全局私钥以及所述全局私钥对应的全局公钥;所述全局公钥用于指示业务设备根据所述全局公钥以及明文交易参数生成数字信封;所述数字信封用于由所述业务设备发送至所述区块链节点;接收到所述数字信封的所述区块链节点用于对所述数字信封进行上链处理;
第二发送模块,用于发送用于请求解密所述数字信封的信封解密请求至所述区块链节点,以使所述区块链节点在确定所述信封解密请求满足信封解密条件时,在所述可信执行环境中,根据所述全局私钥以及所述数字信封,生成所述明文交易参数;
明文获取模块,用于获取所述区块链节点返回的所述明文交易参数,对所述明文交易参数进行验证处理。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至10任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-10任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-10任一项所述的方法。
CN202211370694.9A 2022-11-03 2022-11-03 一种基于区块链的数据处理方法、设备以及可读存储介质 Pending CN117997520A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211370694.9A CN117997520A (zh) 2022-11-03 2022-11-03 一种基于区块链的数据处理方法、设备以及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211370694.9A CN117997520A (zh) 2022-11-03 2022-11-03 一种基于区块链的数据处理方法、设备以及可读存储介质

Publications (1)

Publication Number Publication Date
CN117997520A true CN117997520A (zh) 2024-05-07

Family

ID=90892253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211370694.9A Pending CN117997520A (zh) 2022-11-03 2022-11-03 一种基于区块链的数据处理方法、设备以及可读存储介质

Country Status (1)

Country Link
CN (1) CN117997520A (zh)

Similar Documents

Publication Publication Date Title
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
CN111970129B (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN110602138B (zh) 区块链网络的数据处理方法、装置、电子设备及存储介质
US20200213283A1 (en) Key rotation techniques
CN109922077B (zh) 一种基于区块链的身份认证方法及其***
US9049027B2 (en) Non-PKI digital signatures and information notary public in the cloud
CN110832519A (zh) 提高区块链网络与外部数据源之间的通信的完整性
CN111130770B (zh) 基于区块链的信息存证方法、***、用户终端、电子设备及存储介质
US9300639B1 (en) Device coordination
Wang et al. Data integrity checking with reliable data transfer for secure cloud storage
CN114553590B (zh) 数据传输方法及相关设备
Chang et al. A practical secure and efficient enterprise digital rights management mechanism suitable for mobile environment
CN112734423A (zh) 一种基于区块链的交易方法及终端设备
CN115412568A (zh) 分布式数据传输方法、装置及***
CN115396115A (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
CN111241492A (zh) 一种产品多租户安全授信方法、***及电子设备
CN113746916A (zh) 基于区块链的第三方服务提供方法、***及相关节点
Schulz et al. d 2 Deleting Diaspora: Practical attacks for profile discovery and deletion
Wang et al. Attribute‐Based User Revocable Data Integrity Audit for Internet‐of‐Things Devices in Cloud Storage
CN117997520A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN113328860A (zh) 一种基于区块链的用户隐私数据安全提供方法
JP5432776B2 (ja) Idベース暗号利用方法、暗号化装置、管理装置及びそれらのプログラム
Soler et al. A privacy-preserving key transmission protocol to distribute QRNG keys using zk-SNARKs
US20240163118A1 (en) Blockchain-based data processing method, device, and readable storage medium
Chang et al. A dependable storage service system in cloud environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication