基于IPFS的区块链数据代理重加密模型制造技术

技术编号:35592043 阅读:21 留言:0更新日期:2022-11-16 15:09
本发明专利技术公开了一种基于IPFS的区块链数据代理重加密的方法,所述方法应用于第三方代理重加密服务商中,所述方法包括:接收数据请求方发送的数据请求,所述数据请求中携带有零知识证明信息;在区块链中的智能合约中,验证所述零知识证明参数是否合法;若合法,则向所述数据请求方传输执行过重加密的数据。本发明专利技术还提供了一种基于IPFS的区块链数据代理重加密的系统。本发明专利技术提供的基于IPFS的区块链数据代理重加密的方法及系统,可以提升数据加密过程的安全性。的安全性。的安全性。

【技术实现步骤摘要】
基于IPFS的区块链数据代理重加密模型


[0001]本专利技术涉及存储数据管理
,特别涉及一种基于IPFS的区块链数据代理重加密方法及系统。

技术介绍

[0002]目前,区块链环境的数据存储具有极高的数据冗余,每一个加入区块链的节点都需要同步所有的区块链交易数据。因此,将海量数据直接存储在区块链中将面临着巨大的成本压力。为此,数据提供方需要将分享数据收集起来加密并将数据存储至基于P2P网络的IPFS分布式存储系统中。
[0003]且在将分享数据收集起来进行加密的过程中,数据请求方所请求的分享数据,需由第三方服务商进行重加密服务,并将重加密数据提供给数据请求方。
[0004]然而,第三方服务商进行重加密服务商在提供重加密服务时,容易遭受 DDoS攻击,例如,第三方服务商接收到大量恶意的重加密密钥对不存在的数据进行加密,无疑会造成计算资源的浪费。
[0005]有鉴于此,有必要提供一种可提高安全性的数据加密方式。

技术实现思路

[0006]本申请的目的在于提供一种基于IPFS的区块链数据代理重加密方法及系统,以提升数据加密过程的安全性。
[0007]为实现上述目的,本专利技术实施例提供了一种基于IPFS的区块链数据代理重加密方法及系统。所述技术方案如下:
[0008]第一方面,一种基于IPFS的区块链数据代理重加密方法,所述方法应用于第三方代理重加密服务商中,所述方法包括:
[0009]接收数据请求方发送的数据请求,所述数据请求中携带有零知识证明信息;<br/>[0010]在区块链中的智能合约中,验证所述零知识证明参数是否合法;
[0011]若合法,则向所述数据请求方传输执行过重加密的数据。
[0012]进一步的,接收所述数据请求方发送的数据请求之前,包括:
[0013]接收数据请求方利用Zokrates工具生成的证明信息;
[0014]将所述证明信息发送至区块链中,通过智能合约进行身份验证;
[0015]若身份验证通过,则生成零知识证明信息反馈给数据请求方。
[0016]进一步的,执行过重加密的数据,按照以下方式得出:
[0017]接收数据提供方上传的重加密密钥;
[0018]通过哈希索引从IPFS节点处获取与所述数据请求对应的数据;
[0019]根据所述重加密密钥对所述数据进行重加密。
[0020]进一步的,所述方法包括:
[0021]所述重加密密钥由所述数据提供方根据公钥和私钥生成;其中,所述数据提供方
从所述数据请求方获取得到所述公钥。
[0022]进一步的,第三方代理重加密服务商对数据请求对应的数据执行重加密之后,所述方法还包括:
[0023]若执行重加密成功,则从所述智能合约中获取到相应的Token;
[0024]若执行重加密失败,则从所述智能合约中扣除掉相应的Token。
[0025]第二方面,一种基于IPFS的区块链数据代理重加密的系统,所述系统包括:数据请求方、第三方代理重加密服务商;其中:
[0026]所述数据请求方,用于向所述第三方代理重加密服务商发送数据请求,所述数据请求中携带有零知识证明信息;
[0027]所述第三方代理重加密服务商,用于在区块链中的智能合约中,验证所述零知识证明参数是否合法;若合法,则向所述数据请求方传输执行过重加密的数据。
[0028]进一步的,所述第三方代理重加密服务商,还用于:
[0029]接收数据请求方利用Zokrates工具生成的证明信息;
[0030]将所述证明信息发送至区块链中,通过智能合约进行身份验证;
[0031]若身份验证通过,则生成零知识证明信息反馈给数据请求方。
[0032]进一步的,所述系统还包括数据提供方,所述数据提供方,用于向所述第三方代理重加密服务商上传重加密密钥;
[0033]相应地,所述第三方代理重加密服务商,又用于
[0034]接收数据提供方上传的重加密密钥;
[0035]通过哈希索引从IPFS节点处获取与所述数据请求对应的数据;
[0036]根据所述重加密密钥对所述数据进行重加密。
[0037]进一步的,所述数据提供方,还用于:
[0038]根据公钥和私钥生成所述重加密密钥;其中,所述数据提供方从所述数据请求方获取得到所述公钥。
[0039]进一步的,所述第三方代理重加密服务商,又用于:
[0040]若执行重加密成功,则从所述智能合约中获取到相应的Token;
[0041]若执行重加密失败,则从所述智能合约中扣除掉相应的Token。
[0042]本专利技术实施例提供的技术方案带来的有益效果是:第三方代理重加密服务商在对数据请求方所请求的数据执行重加密时,需根据数据请求方发送的数据请求中携带的零知识证明信息,在智能合约中验证数据请求的有效性或者合法性,在验证通过后才向数据请求方传输执行过重加密的数据。这样,第三方代理重加密服务商在对数据请求方所请求的数据执行重加密时,可以对数据请求方发送的数据请求进行验证,从而避免出现第三方代理重加密服务商遭受DDoS 攻击后,造成计算资源浪费的情况,进而提升数据加密过程的安全性。
附图说明
[0043]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0044]图1是本专利技术实施例中基于IPFS的区块链数据代理重加密的方法示意图;
[0045]图2是本专利技术实施例中生成零知识证明信息的方法示意图;
[0046]图3是本专利技术实施例中第三方代理重加密服务商对数据执行重加密时,获取或者删除Token的示意图。
具体实施方式
[0047]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0048]请参阅图1,本专利技术实施例的基于IPFS的区块链数据代理重加密的方法,可以包括以下步骤:
[0049]S101:接收数据请求方发送的数据请求,所述数据请求中携带有零知识证明信息。
[0050]在实施中,第三方代理重加密服务商在对数据进行重加密之前,需要接收数据请求方提供的零知识证明信息,零知识证明信息携带在数据请求方发送的数据请求中。
[0051]在一个可选的实施例中,请参阅图2,零知识证明信息按照以下方式生成:第三方代理重加密服务商接收数据请求方利用Zokrates工具生成的证明信息,将所述证明信息发送至区块链中,通过智能合约进行身份验证,若身份验证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于IPFS的区块链数据代理重加密方法,其特征在于,所述方法应用于第三方代理重加密服务商中,所述方法包括:接收数据请求方发送的数据请求,所述数据请求中携带有零知识证明信息;在区块链中的智能合约中,验证所述零知识证明参数是否合法;若合法,则向所述数据请求方传输执行过重加密的数据。2.根据权利要求1所述的方法,其特征在于,接收所述数据请求方发送的数据请求之前,包括:接收数据请求方利用Zokrates工具生成的证明信息;将所述证明信息发送至区块链中,通过智能合约进行身份验证;若身份验证通过,则生成零知识证明信息反馈给数据请求方。3.根据权利要求1所述的方法,其特征在于,执行过重加密的数据,按照以下方式得出:接收数据提供方上传的重加密密钥;通过哈希索引从IPFS节点处获取与所述数据请求对应的数据;根据所述重加密密钥对所述数据进行重加密。4.根据权利要求3所述的方法,其特征在于,所述方法包括:所述重加密密钥由所述数据提供方根据公钥和私钥生成;其中,所述数据提供方从所述数据请求方获取得到所述公钥。5.根据权利要求4所述的方法,其特征在于,第三方代理重加密服务商对数据请求对应的数据执行重加密之后,所述方法还包括:若执行重加密成功,则从所述智能合约中获取到相应的Token;若执行重加密失败,则从所述智能合约中扣除掉相应的Token。6.一种基于IPFS的区块链数据代理重加密的系统,其特征在于,所述系统...

【专利技术属性】
技术研发人员:程杰仁唐湘滟郭昊
申请(专利权)人:海南火链科技有限公司
类型:发明
国别省市:

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

1