一种基于同态加密的区块链数据共享方法及系统技术方案

技术编号:37369337 阅读:9 留言:0更新日期:2023-04-27 07:15
本申请实施例公开了一种基于同态加密的区块链数据共享方法及系统。其中,该方法包括:客户端将查询关键词发送给服务提供端;服务提供端对查询关键词进行同态加密,利用加密后的查询关键词确定数据筛选结果,并发送给客户端;客户端根据数据筛选结果确定目标密文共享数据,将生成的数据共享请求和待验证客户信息发送给区块链网络;区块链网络根据待验证客户信息确定是否同意数据共享请求;当区块链网络同意数据共享请求时,利用同态公钥对目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据,将同态加密共享数据发送给客户端;客户端利用同态私钥对同态加密共享数据进行解密,得到明文共享数据,如此能提高共享数据的安全性。共享数据的安全性。共享数据的安全性。

【技术实现步骤摘要】
一种基于同态加密的区块链数据共享方法及系统


[0001]本申请涉及区块链
,更具体的说,涉及一种基于同态加密的区块链数据共享方法及系统。

技术介绍

[0002]随着互联网技术的发展,企业、用户数量不断增多,数据量也随之增大,大量的数据为企业盈利或科研机构研究带来了巨大的效益。但针对大数据的处理需要大量的计算资源,成本较高。为此众多厂商提供了复杂度高、成本相对低廉的计算服务,在企业、研究机构等进行大量数据计算时可以直接使用第三方服务。
[0003]在一些场景下,需要保证数据的保密性,如在疾病资料共享的场景下,需要对患者的信息做到保密;在金融领域进行资产分析时,需要对客户的敏感信息进行隐藏等等。但是,第三方的计算服务提供者并不是完全可信的,如果通过服务提供者对明文数据进行处理时,可能会造成用户信息泄露的问题,无法保证共享数据的安全性。

技术实现思路

[0004]有鉴于此,本申请实施例公开一种基于同态加密的区块链数据共享方法及系统,以提高共享数据的安全性。
[0005]本申请实施例提供的技术方案如下:
[0006]第一方面,本申请实施例提供了一种基于同态加密的区块链数据共享方法,所述方法包括:
[0007]客户端将查询关键词发送给服务提供端;
[0008]所述服务提供端对所述查询关键词进行同态加密,得到加密后的查询关键词,利用所述加密后的查询关键词从同态索引表中确定数据筛选结果;其中,所述同态索引表由区块链网络提供,所述同态索引表包括:同态加密后的关键词、与所述同态加密后的关键词对应的密文共享数据,所述数据筛选结果包括与所述查询关键词对应的密文共享数据;
[0009]所述服务提供端将所述数据筛选结果发送给所述客户端;
[0010]所述客户端根据所述数据筛选结果确定目标密文共享数据,生成数据共享请求;
[0011]所述客户端通过所述服务提供端将所述数据共享请求和待验证客户信息发送给所述区块链网络;
[0012]所述区块链网络根据所述待验证客户信息确定是否同意所述数据共享请求;
[0013]当所述区块链网络确定同意所述数据共享请求时,所述区块链网络利用同态公钥对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据;所述同态公钥由认证中心提供;
[0014]所述区块链网络通过所述服务提供端将所述同态加密共享数据发送给所述客户端;
[0015]所述客户端利用同态私钥对所述同态加密共享数据进行解密,得到明文共享数
据;所述同态私钥由所述认证中心提供。
[0016]在一种可能的实现方式中,所述方法还包括:
[0017]所述客户端利用客户私钥对所述数据共享请求进行签名,得到签名后的数据共享请求;所述客户私钥由所述认证中心提供;
[0018]所述区块链网络根据所述待验证客户信息确定是否同意所述数据共享请求,包括:
[0019]所述区块链网络利用客户公钥对所述签名后的数据共享请求进行验证;所述客户公钥由所述认证中心提供;
[0020]若验证通过,所述区块链网络判断预存的客户信息中是否存在与所述待验证客户信息一致的客户信息;
[0021]若所述预存的客户信息中存在与所述待验证客户信息一致的客户信息,所述区块链网络确定同意所述数据共享请求。
[0022]在一种可能的实现方式中,所述方法还包括:
[0023]当所述区块链网络确定同意所述数据共享请求时,所述区块链网络将共享成功建立的消息发送给所述认证中心;
[0024]所述认证中心设定同态加密的加密参数,生成同态公钥和同态私钥;
[0025]所述认证中心将所述加密参数、所述同态公钥和所述同态私钥发送给所述服务提供端;
[0026]所述服务提供端将所述加密参数和所述同态公钥发送给所述区块链网络;
[0027]所述服务提供端将所述同态私钥发送给所述客户端。
[0028]在一种可能的实现方式中,所述共享成功建立的消息中携带所述待验证客户信息,所述方法还包括:
[0029]所述认证中心根据所述待验证客户信息确定对应的客户公钥,利用所述客户公钥对所述同态私钥进行加密,得到加密后的同态私钥;
[0030]所述客户端利用客户私钥对所述加密后的同态私钥进行解密,得到同态私钥;所述客户私钥由所述认证中心提供。
[0031]在一种可能的实现方式中,所述区块链网络利用同态公钥对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据,包括:
[0032]所述区块链网络利用所述同态公钥和所述加密参数对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据;
[0033]所述方法还包括:
[0034]所述服务提供端根据所述加密参数对所述同态加密共享数据进行计算,得到计算后的同态加密共享数据;
[0035]所述服务端将所述计算后的同态加密共享数据发送给所述客户端;
[0036]所述客户端利用同态私钥对所述同态加密共享数据进行解密,得到明文共享数据,包括:
[0037]所述客户端利用同态私钥对所述计算后的同态加密共享数据进行解密,得到明文共享数据。
[0038]在一种可能的实现方式中,所述方法还包括:
[0039]所述区块链网络对所述同态加密共享数据进行哈希计算,得到第一哈希值,将所述第一哈希值发送给所述服务提供端;
[0040]所述服务提供端对所述同态加密共享数据进行哈希计算,得到第二哈希值;
[0041]所述服务提供端判断所述第一哈希值和所述第二哈希值是否一致;
[0042]若所述第一哈希值和所述第二哈希值一致,则所述服务提供端根据所述加密参数对所述同态加密共享数据进行计算,得到计算后的同态加密共享数据;
[0043]若所述第一哈希值和所述第二哈希值不一致,则所述服务提供端发送重传数据的消息给所述区块链网络。
[0044]在一种可能的实现方式中,所述方法还包括:
[0045]所述服务提供端对所述计算后的同态加密共享数据进行哈希计算,得到第三哈希值,将所述第三哈希值发送给所述客户端;
[0046]所述客户端对所述计算后的同态加密共享数据进行哈希计算,得到第四哈希值;
[0047]所述客户端判断所述第三哈希值和所述第四哈希值是否一致;
[0048]若所述第三哈希值和所述第四哈希值一致,则所述客户端利用同态私钥对所述计算后的同态加密共享数据进行解密,得到明文共享数据;
[0049]若所述第三哈希值和所述第四哈希值不一致,则所述客户端发送重传数据的消息给所述服务提供端。
[0050]在一种可能的实现方式中,所述方法还包括:
[0051]数据提供端在产生新的明文共享数据时,从所述新的明文共享数据中提取关键词,对所述关键词进行同态加密,得到同态加密后的关键词;
[0052]所述数据提供端对所述新的明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于同态加密的区块链数据共享方法,其特征在于,所述方法包括:客户端将查询关键词发送给服务提供端;所述服务提供端对所述查询关键词进行同态加密,得到加密后的查询关键词,利用所述加密后的查询关键词从同态索引表中确定数据筛选结果;其中,所述同态索引表由区块链网络提供,所述同态索引表包括:同态加密后的关键词、与所述同态加密后的关键词对应的密文共享数据,所述数据筛选结果包括与所述查询关键词对应的密文共享数据;所述服务提供端将所述数据筛选结果发送给所述客户端;所述客户端根据所述数据筛选结果确定目标密文共享数据,生成数据共享请求;所述客户端通过所述服务提供端将所述数据共享请求和待验证客户信息发送给所述区块链网络;所述区块链网络根据所述待验证客户信息确定是否同意所述数据共享请求;当所述区块链网络确定同意所述数据共享请求时,所述区块链网络利用同态公钥对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据;所述同态公钥由认证中心提供;所述区块链网络通过所述服务提供端将所述同态加密共享数据发送给所述客户端;所述客户端利用同态私钥对所述同态加密共享数据进行解密,得到明文共享数据;所述同态私钥由所述认证中心提供。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述客户端利用客户私钥对所述数据共享请求进行签名,得到签名后的数据共享请求;所述客户私钥由所述认证中心提供;所述区块链网络根据所述待验证客户信息确定是否同意所述数据共享请求,包括:所述区块链网络利用客户公钥对所述签名后的数据共享请求进行验证;所述客户公钥由所述认证中心提供;若验证通过,所述区块链网络判断预存的客户信息中是否存在与所述待验证客户信息一致的客户信息;若所述预存的客户信息中存在与所述待验证客户信息一致的客户信息,所述区块链网络确定同意所述数据共享请求。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述区块链网络确定同意所述数据共享请求时,所述区块链网络将共享成功建立的消息发送给所述认证中心;所述认证中心设定同态加密的加密参数,生成同态公钥和同态私钥;所述认证中心将所述加密参数、所述同态公钥和所述同态私钥发送给所述服务提供端;所述服务提供端将所述加密参数和所述同态公钥发送给所述区块链网络;所述服务提供端将所述同态私钥发送给所述客户端。4.根据权利要求3所述的方法,其特征在于,所述共享成功建立的消息中携带所述待验证客户信息,所述方法还包括:所述认证中心根据所述待验证客户信息确定对应的客户公钥,利用所述客户公钥对所述同态私钥进行加密,得到加密后的同态私钥;
所述客户端利用客户私钥对所述加密后的同态私钥进行解密,得到同态私钥;所述客户私钥由所述认证中心提供。5.根据权利要求3所述的方法,其特征在于,所述区块链网络利用同态公钥对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据,包括:所述区块链网络利用所述同态公钥和所述加密参数对所述目标密文共享数据对应的明文共享数据进行同态加密,得到同态加密共享数据;所述方法还包括:所述服务提供端根据所述加密参数对所述同态加密共享数据进行计算,得到计算后的同态加密共享数据;所述服务端将所述计算后的同态加密共享数据发送给所述客户端;所述客户端利用同态私钥对所述同态加密共享数据进行解密,得到明文共享数据,包括:所述客户端利用同态私钥对所述计算后的同态加密共享数据进行解密,得到明文共享数据。6.根据权利要求5所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王冠男马帅叶琛尧聪聪唐文佳
申请(专利权)人:国网征信有限公司国网数字科技控股有限公司
类型:发明
国别省市:

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

1