数据的查询与写入方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:30693792 阅读:11 留言:0更新日期:2021-11-06 09:28
本公开提供了一种数据的查询与写入方法、装置、电子设备及可读存储介质,涉及计算机技术领域,尤其涉及区块链领域。具体实现方案为:通过接收对区块链中加密存储的目标数据的查询请求,在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,并返回解密后的目标数据。基于本方案,能够实现对区块链上存储的加密数据的查询,从而实现通过区块链智能合约对隐私数据的逻辑操作,提升了区块链智能合约的可用性。可用性。可用性。

【技术实现步骤摘要】
数据的查询与写入方法、装置、电子设备及可读存储介质


[0001]本公开涉及计算机
,尤其涉及区块链
,具体而言,本公开涉及一种数据的查询与写入方法、装置、电子设备及可读存储介质。

技术介绍

[0002]随着区块链技术的发展,区块链在各个场景中得到了越来越广泛的运用。其中,智能合约由于其去中心化运行、难以篡改、可编程性高等特性,成为区块链解决方案的重要组成部分,广泛用于解决业务方的实际问题。
[0003]智能合约中所涉及到的数据都是以明文形式存储于账本中,区块链中节点均能够查看智能合约所涉及的数据,这会导致一些隐私数据无法通过智能合约进行处理,影响区块链智能合约的可用性。

技术实现思路

[0004]本公开为了解决上述缺陷中的至少一项,提供了一种数据的查询与写入方法、装置、电子设备及可读存储介质。
[0005]根据本公开的第一方面,提供了一种数据的查询方法,该方法包括:
[0006]接收对区块链存储的目标数据的查询请求,目标数据在TEE中被通过加密密钥加密;
[0007]在可信执行环境(Trusted Execution Environment,TEE)中通过与加密密钥对应的解密密钥对目标数据进行解密,并返回解密后的目标数据。
[0008]根据本公开的第二方面,提供了一种数据的写入方法,该方法包括:
[0009]接收向区块链中写入目标数据的写入请求;
[0010]在TEE中通过加密密钥对目标数据进行加密,并返回加密后的目标数据。
[0011]根据本公开的第三方面,提供了一种数据的查询装置,该装置包括:
[0012]查询请求接收模块,用于接收对区块链存储的目标数据的查询请求,目标数据在TEE中被通过加密密钥加密;
[0013]解密模块,用于在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,并返回解密后的目标数据。
[0014]根据本公开的第四方面,提供了一种数据的写入装置,该装置包括:
[0015]写入请求接收模块,用于接收向区块链中写入目标数据的写入请求;
[0016]加密模块,用于在TEE中通过加密密钥对目标数据进行加密,并返回加密后的目标数据。
[0017]根据本公开的第五方面,提供了一种电子设备,该电子设备包括:
[0018]至少一个处理器;以及
[0019]与上述至少一个处理器通信连接的存储器;其中,
[0020]存储器存储有可被上述至少一个处理器执行的指令,指令被上述至少一个处理器
执行,以使上述至少一个处理器能够执行上述方法。
[0021]根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行上述方法。
[0022]根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述方法。
[0023]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0024]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0025]图1是本公开实施例提供的一种数据的查询方法的流程示意图;
[0026]图2是本公开实施例提供的一种数据的写入方法的流程示意图;
[0027]图3是根据本公开实施例提供的一种具体实施方式的流程示意图;
[0028]图4是根据本公开提供的一种数据的查询装置的结构示意图;
[0029]图5是根据本公开提供的一种数据的写入装置的结构示意图;
[0030]图6是用来实现本公开实施例的方法的电子设备的框图。
具体实施方式
[0031]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0032]图1示出了本公开实施例提供的一种数据的查询方法的流程示意图,如图1中所示,该方法主要可以包括:
[0033]步骤S110:接收对区块链存储的目标数据的查询请求,目标数据在TEE中被通过加密密钥加密。
[0034]其中,目标数据可以为用户的隐私数据或者敏感数据,为保证目标数据的隐私性,可以将其在区块链账本中进行加密存储。作为一个示例,目标数据可以采用键值对(Key

Value,K

V)形式存储。
[0035]本公开实施例中,可以部署加密智能合约,以实现对敏感数据的存储以及逻辑处理。
[0036]本公开实施例提供的方法可以由背书节点执行,背书节点可以预执行智能合约,获得目标数据的被加密的读写集合。
[0037]本公开实施例中,背书节点中可以部署有TEE,TEE可以起到黑箱作用,在TEE中被处理的数据不会被外部获知,目标数据被在TEE中进行加密,能够保证数据的隐私性。用于对目标数据进行加密的加密密钥在TEE中生成并维护,从而保证加密密钥的安全性,避免因密钥的泄露影响数据安全。
[0038]本公开实施例中,用户可以通过区块链中的轻节点发起对目标数据的查询请求,与轻节点建立通信连接的全节点将查询请求在区块链内广播,使得背书节点接收到查询请
求。
[0039]步骤S120:在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,并返回解密后的目标数据。
[0040]本公开实施例中,在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,得到解密后的目标数据,而后可以将解密后的目标数据返回给请求方,从而实现对加密数据的查询操作。
[0041]用于对目标数据进行加密的解密密钥在TEE中生成并维护,从而保证解密密钥的安全性,避免因密钥的泄露影响数据安全。
[0042]本公开实施例提供的方法,通过接收对区块链中加密存储的目标数据的查询请求,在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,并返回解密后的目标数据。基于本方案,能够实现对区块链上存储的加密数据的查询,从而实现通过区块链智能合约对隐私数据的逻辑操作,提升了区块链智能合约的可用性。
[0043]本公开的一种可选方式中,加密密钥是基于TEE中存储的根密钥以及目标数据的数据标识生成的,在TEE中通过与加密密钥对应的解密密钥对目标数据进行解密,包括:
[0044]通过TEE中部署的虚拟机基于根密钥以及目标数据的数据标识生成与加密密钥对应的解密密钥,并基于解密密钥对目标数据进行解密。
[0045]本公开实施例中,用于生成加密密钥与解密密钥的根密钥可以被存储于TEE中的存储空间内,以保证根密钥的安全。
[0046]在对目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据的查询方法,包括:接收对区块链存储的目标数据的查询请求,所述目标数据在可信执行环境TEE中被通过加密密钥加密;在TEE中通过与所述加密密钥对应的解密密钥对所述目标数据进行解密,并返回解密后的所述目标数据。2.根据权利要求1所述的方法,其中,所述加密密钥是基于所述TEE中存储的根密钥以及所述目标数据的数据标识生成的,所述在TEE中通过与所述加密密钥对应的解密密钥对所述目标数据进行解密,包括:通过TEE中部署的虚拟机基于所述根密钥以及所述目标数据的数据标识生成与所述加密密钥对应的解密密钥,并基于所述解密密钥对所述目标数据进行解密。3.根据权利要求2所述的方法,其中,所述数据标识包括:所述目标数据所属智能合约的第一标识,以及所述加密密钥的第二标识。4.根据权利要求1

3中任一项所述的方法,其中,所述在TEE中通过与所述加密密钥对应的解密密钥对所述目标数据进行解密,包括:确定所述查询请求是否满足预设的访问条件;若满足,则在TEE中通过与所述加密密钥对应的解密密钥对所述目标数据进行解密。5.根据权利要求4所述的方法,其中,所述访问条件包括以下至少一项:发起所述查询请求的节点已被授权;所述查询请求携带的签名被验证通过。6.一种数据的写入方法,包括:接收向区块链中写入目标数据的写入请求;在TEE中通过加密密钥对所述目标数据进行加密,并返回加密后的所述目标数据。7.根据权利要求6所述的方法,其中,在TEE中通过加密密钥对所述目标数据进行加密,包括:通过TEE中部署的虚拟机基于TEE中存储的根密钥以及所述目标数据的数据标识生成加密密钥,并基于所述加密密钥对所述目标数据进行加密。8.根据权利要求7所述的方法,其中,所述...

【专利技术属性】
技术研发人员:荆博
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1