【技术实现步骤摘要】
基于区块链账户的隐私数据查询方法及装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链账户的隐私数据查询方法及装置。
技术介绍
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphicencryption)和零知识证明(Zero-knowledgeproof)等复杂度高,通用性差,而且还可能带来严重的性能损失。可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(TrustedPlatformModule,可信赖平台模块)以及硬件方面的IntelSGX(SoftwareGuardExtensions,软件保 ...
【技术保护点】
1.一种基于区块链账户的隐私数据查询方法,应用于区块链节点;所述方法包括:/n当接收到查询方发起的针对目标隐私数据的查询交易时,读取所述查询交易中包含的与所述目标隐私数据相关的历史交易的交易标识和所述历史交易的发起方的身份信息;/n根据所述发起方的身份信息确定所述发起方的区块链账户,并根据所述区块链账户中记录的查询权限确定所述查询方针对所述目标隐私数据的查询权限;/n当确定出的查询权限为允许查询时,根据所述交易标识获取所述目标隐私数据并将获取到的目标隐私数据读入可信执行环境进行解密,以由所述查询方获取。/n
【技术特征摘要】
1.一种基于区块链账户的隐私数据查询方法,应用于区块链节点;所述方法包括:
当接收到查询方发起的针对目标隐私数据的查询交易时,读取所述查询交易中包含的与所述目标隐私数据相关的历史交易的交易标识和所述历史交易的发起方的身份信息;
根据所述发起方的身份信息确定所述发起方的区块链账户,并根据所述区块链账户中记录的查询权限确定所述查询方针对所述目标隐私数据的查询权限;
当确定出的查询权限为允许查询时,根据所述交易标识获取所述目标隐私数据并将获取到的目标隐私数据读入可信执行环境进行解密,以由所述查询方获取。
2.根据权利要求1所述的方法,还包括:
当接收到的任一交易用于调用指定智能合约时,将所述任一交易作为所述查询交易。
3.根据权利要求1所述的方法,所述目标隐私数据包括以下至少之一:
所述历史交易、对应于所述历史交易的交易收据、所述历史交易的发起方的账户属性信息、所述历史交易调用的业务合约的账户属性信息、所述业务合约的合约代码、所述业务合约的合约状态数据。
4.根据权利要求3所述的方法,所述目标隐私数据包括所述历史交易和/或所述交易收据;所述将获取到的目标隐私数据读入可信执行环境进行解密,包括:
获取所述发起方使用的对称密钥;
在所述可信执行环境内通过所述对称密钥对所述历史交易和/或所述交易收据进行解密。
5.根据权利要求4所述的方法,所述获取所述发起方使用的对称密钥,包括:
获取用于加密所述历史交易的对称密钥,所述对称密钥被所述发起方使用的公钥加密;
在所述可信执行环境内通过与所述发起方使用的公钥对应的私钥,对所述对称密钥进行解密以得到解密后的对称密钥。
6.根据权利要求5所述的方法,所述发起方使用的公钥由密钥管理服务器通过远程证明发送至所述发起方,所述区块链节点的可信执行环境由SGX架构建立,与所述公钥对应的私钥由所述密钥管理服务器通过远程证明发送至所述区块链节点的围圈。
7.根据权利要求3所述的方法,所述目标隐私数据包括所述历史交易的发起方的账户属性信息、所述业务合约的账户属性信息、所述业务合约的合约代码、所述业务合约的合约状态数据中至少之一;所述将获取到的目标隐私数据读入可信执行环境进行解密,包括:
在所述可信执行环境内通过所述区块链节点的特定对称密钥对所述目标隐私数据进行解密。
8.根据权利要求7所述的方法,所述区块链节点的可信执行环境由SGX架构建立,所述特定对称密钥在所述区块链节点的SGX架构通过远程证明后由密钥管理服务器发送,或者由所述区块链节点与其他区块链节点之间进行协商得到。
9.根据权利要求1所述的方法,加密所述查询交易的对称密钥被所述查询方使用的公钥加密;
在接收到所述查询交易后,所述方法还包括:在所述可信执行环境内通过与所述查询方使用的公钥对应的私钥对加密所述查询交易的对称密钥解密,通过解密得到的对称密钥对所述查询交易进行解密,以获取所述查询交易包含的交易内容;
在对目标隐私数据进行解密后,所述方法还包括:通过所述查询方的对称密钥对解密后的目标隐私数据进行加密。
10.根据权利要求1所述的方法,在确定查询权限为允许查询后,所述方法还包括:
根据所述交易标识获取所述历史交易;
根据获取到的历史交易确定出所述历史交易的发起方的身份信息;
当确定出的身份信息与所述查询交易中包含的所述发起方的身份信息不一致时,禁止执行获取所述目标隐私数据的操作。
11.根据权利要求1所述的方法,还包括:
当确定出的查询权限为禁止查询时,生成用于表示所述查询方禁止查询所述目标隐私数据的合约收据以由所述查询方查看。
12.根据权利要求1所述的方法,所述发起方的区块链账户中配置有白名单,所述白名单中记录的用户针对所述发起方的隐私数据的查询权限为允许查询;所述根据所述区块链账户中记录的查询权限确定所述查询方针对所述目标隐私数据的查询权限,包括:
当所述白名单中记录有所述查询方时,确定所述查询方针对所述目标隐私数据的查询权限为允许查询。
13.根据权利要求12所述的方法,还包括:
接收所述发起方发起的针对所述白名单的更新交易;
根据所述更新交易中包含的所述白名单的更新内容对所述白名单进行更新。
14.根据权利要求1所述的方法,所述发起方的区块链账户中记录有针对所述发起方的隐私数据的查询条件;所述根据所述区块链账户中记录的查询权限确定所述查询方针对所述目标隐私数据的查询权限,包括:
当所述查询方的身份信息符合所述查询条件时,确定所述查询方针对所述目标隐私数据的查询权限为允许查询。
15.一种隐私数据的查询方法,应用于区块链节点;所述方法包括:
当接收到查询方发送的针对目标隐私数据的查询交易时,读取所述查询交易中包含的与所述目标隐私数据相关的历史交易的交易标识和所述历史交易的发起方的身份信息;
当所述目标隐私数据为所述历史交易时,根据所述发起方的身份信息确定所述发起方的区块链账户,并根据所述区块链账户中记录的查询权限确定所述查询方针对所述历史交易的查询权限;
当所述目标隐私数据为区别于所述历史交易的其他交易相关数据时,读取所述查询交易中包含的所述历史交易调用的业务合约的合约地址,并根据所述合约地址获取所述业务合约,以及执行所述业务合约中定义的权限控制代码,以确定所述查询方针对所述目标隐私数据的查询权限;
当确定出的查询权限为允许查询时,根据所述交易标识获取所述目标隐私数据并将获取到的目标隐私数据读入可信执行环境进行解密,以由所述查询方获取。
16.根据权利要求15所述的方法,所述其他交易相关数据包括以下至少之一:
对应于所述历史交易的交易收据、所述历史交易的发起方的账户属性信息、所述业务合约的账户属性信息、所述业务合约的合约代码、所述业务合约的合约状态数据。
17.一种基于区块链账户的隐私数据查询装置,应用于区块链节点;所述装置包括:
交易读取单元,当接收到查询方发起的针对目标隐私数据的查询交易时,读取所述查询交易中包含的与所述目标隐私数据相关的历史交易的交易标识和所述历史交易的发起方的身份信息;
权限查询单元,根据所述发起方的身份信息确定所述发起方的区块链账户,并根据所述区块链账户中记录的查询...
【专利技术属性】
技术研发人员:刘琦,闫莺,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。