基于区块链的高效数据共享方法

未命名 09-17 阅读:221 评论:0


1.本发明属于区块链技术领域,具体涉及一种基于区块链的高效数据共享方法。


背景技术:

2.随着网络数据的爆炸式增长,数据已经转变为与物质资产和人力资本相媲美的重要生产要素。此外,数据共享已经演变成经济、社会和技术发展过程中的一个重要环节,在为企业和消费者创造价值方面具有巨大的增长潜力。尽管各种数据管理技术发展迅速,但在隐私数据共享方面仍有一些安全和效率问题需要解决。传统的数据共享模式是集中存储数据,数据用户将其数据托管给受信任的第三方。同时,这种依靠中心化机构的共享模式容易出现安全瓶颈和潜在的单点故障。目前,随着大数据、云计算、物联网等的发展,各企业和政府部门收集的信息越来越多,数据量呈指数级增长,这给数据共享带来一定的挑战。
3.为了解决这个问题,人们提出了一些具有隐私保护的数据共享方案来提高搜索效率。具体来说,huang等人提出了一种基于密文策略属性的在线社交网络代理重加密的安全数据共享方案。为了支持多个用户共享数据,shen等人利用对称平衡的不完整区组设计,提出了一个基于区组设计的密钥协议。遗憾的是,这些解决方案都依赖于中央服务器,这使得它们容易受到分布式拒绝服务(ddos)攻击。
4.区块链是一种去中心化的、公开、可验证且安全的分布式账本技术。这种技术将交易信息记录在由多个节点参与的、不可篡改的区块中,形成一条由多个区块组成的链式结构。由于多节点参与、分布式存储的特点,区块链无法被单一节点或机构所控制,因此具有不可篡改、去中心化、公开透明、高可靠等优势。wang等人提出了一个基于区块链的去中心化框架,用于建筑物的信息共享,不依赖任何可信的第三方机构,这增强了方案的可用性。然而,它仍然存在一些局限性。该方案只适用于一对一场景下的数据共享,而不支持关键词搜索,这在很大程度上限制了其实用性。
5.可搜索加密是一种技术,它将各种加密基元与信息检索相结合,能够以某种方式对数据和数据的关键词索引进行加密。它允许用户通过提交关键词方便、灵活、高效地进行搜索,同时确保负责存储的云服务器对密文数据和关键词的相关信息一无所知。针对不同的数据共享需求,一些学者也提出了相关的可搜索加密方案。zeng等人提出了一种支持布尔查询的可搜索加密方案,其搜索复杂度为亚线性,适用于云应用。针对医疗数据共享方面,li等人提出了一种新颖的方案来处理基于knn的可搜索加密方案中普遍存在的密钥共享问题。
6.现有的可搜索加密算法大多将共享数据文件存储在集中式服务器中,用户通过搜索陷门获得相关文件索引。在上述可搜索加密方案中,搜索算法的执行时间一般为数据库大小的线性相关,搜索算法的时间复杂度为o(n)。然而,在很多数据共享场景中,搜索操作的执行频率往往高于数据更新。针对这些情况,上述可搜索加密方案往往存在搜索过程中文件索引过多导致搜索性能大幅下降的问题,严重降低了大数据量下的数据共享效率。因此,对于此类场景需要提出一个高效的去中心化数据共享系统以提高共享效率。


技术实现要素:

7.针对上述在数据共享过程中存在的数据集中存储、搜索算法效率低下、存在安全隐患等问题,本发明提出了一种基于区块链的高效数据共享方法bedshare(blockchain-based efficient data sharing scheme),该方法使用区块链和ipfs代替中心化服务器,实现了数据共享过程完全的去中心化,以保障数据的不可篡改和隐私性;基于离散对数问题引入一个没有可信第三方的授权机制,允许两个数据用户在不可信的环境中进行访问共享数据的权限授权操作,保证了信息共享过程的安全性。
8.为实现上述发明目的,本发明采用以下技术方案:一种基于区块链的高效数据共享方法,包括如下步骤:
9.1)系统初始化,构建数据共享公共参数para:包括数据所有者、数据使用者、区块链和ipfs;所述数据所有者将加密的信息文件上传到ipfs,并将加密的关键词索引发布到部署在联盟区块链上的智能合约;所述数据使用者向数据所有者发送数据请求,在得到授权后根据授权关系生成搜索陷门,调用智能合约获取关键词索引并通过ipfs查找并下载数据文件;
10.生成一个数为q阶的素数乘法循环群g1,g是群g1的生成元;选择两个安全哈希函数h1,h2,满足:
11.h1:
12.h2:1→
{0,1}
λ

13.其中,λ为安全参数;
14.得到并公布公共参数para=(q,g1,g,h1,h2);
15.2)数据使用者生成私钥,并使用私钥发送数据请求和生成搜索陷门,所述私钥k
du
为从q阶整数群中随机选择一个随机数b;
16.3)数据所有者将数据文件上传至ipfs,得到指向数据文件的内容标识符cid;
17.4)数据所有者更新数据关键词索引;
18.5)数据使用者向数据所有者请求数据,数据使用者执行幂运算得到数据请求reqw并将其发送给数据所有者:
[0019][0020]
其中,k
du-1
为数据使用者私钥的逆;
[0021]
6)数据所有者处理收到的请求,验证请求合法后将数据发送回数据使用者;
[0022]
7)数据使用者通过幂运算计算搜索陷门,用于调用智能合约的参数,执行幂运算操作得到搜索陷门tw;
[0023]
8)数据使用者调用智能合约,获取共享数据索引;
[0024]
9)数据使用者获取数据文件,根据得到的内容标识符cid在ipfs上查看和下载数据;
[0025]
10)数据共享流程结束。
[0026]
进一步地,上述步骤4)包括如下内容:
[0027]
4.1)从q阶整数群中随机选择一个随机数rw,执行幂运算操作得到数
据文件的版本信息vw;
[0028]
4.2)计算更新陷门tw,执行哈希运算、异或运算,分别得到索引和加密的内容标识符具体为:
[0029][0030][0031][0032]
其中,w是数据文件的版本信息,是关键词索引,是加密内容标识符;
[0033]
4.3)判断索引是否存在,如果此前不存在,转步骤4.4);否则转步骤4.5);
[0034]
4.4)建立链表将映射关系存入智能合约中并记录在链上,即:
[0035][0036]
4.5)通过索引查找存放含有关键词w的内容标识符链表将插入链表中
[0037]
进一步地,上述步骤6)包括以下内容:
[0038]
6.1)数据所有者验证请求者身份,判断收到的数据使用请求是否合法,如果合法,转步骤6.2);否则转步骤10);
[0039]
6.2)数据所有者执行幂运算操作,得到授权关系将其发送回数据使用者:
[0040][0041]
其中,是数据所有者生成的授权关系,reqw是收到的数据请求,rw是生成的随机数。
[0042]
进一步地,上述步骤8)包括如下内容:
[0043]
8.1)智能合约执行哈希运算h2(tw)得到索引
[0044]
8.2)智能合约根据获取edb中的链表通过遍历链表得到匹配的执行异或操作进行,可得到匹配的文件内容标识符cid。
[0045]
本发明采用上述技术方案有如下有益效果:
[0046]
(1)通过基于离散对数问题的授权协议,允许两个用户在不可信的环境中授予访问权限,保证了信息共享的安全性;
[0047]
(2)利用区块链和ipfs技术,将共享数据存储在分布式网络中,在没有可信第三方的情况下保证数据的真实性,实现完全的去中心化;
[0048]
(3)改进基于索引的可搜索加密算法,有效提高数据共享过程中的搜索效率。
附图说明
[0049]
图1为基于区块链的高效数据共享方法流程图。
[0050]
图2为数据共享系统示意图。
[0051]
图3为数据所有者更新数据文件索引流程图。
[0052]
图4为数据所有者请求授权示意图。
具体实施方式
[0053]
下面结合附图以及具体实施例对本发明作进一步的说明,需要指出的是,下面仅以一种最优化的技术方案对本发明的技术方案以及设计原理进行详细阐述,但本发明的保护范围并不限于此。
[0054]
本发明在ubuntu 20.04环境下进行了实验分析,使用python和solidity作为开发语言。
[0055]
如图1所示,基于区块链的高效数据共享方法包含如下步骤:
[0056]
1)系统初始化,构建数据共享公共参数para,所述数据共享系统如图2所示,包括数据所有者、数据使用者、区块链和ipfs。所述数据所有者,将加密的信息文件上传到ipfs,并将加密的关键词索引发布到部署在联盟区块链上的智能合约;所述数据使用者,通过向数据所有者发送数据请求,在得到授权后根据授权关系生成搜索陷门,调用智能合约获取关键词索引并通过ipfs查找并下载数据文件。在初始化阶段首先生成一个数为q阶的素数乘法循环群g1,g是群g1的生成元。此外,选择两个安全哈希函数h1,h2,满足:
[0057]
h1:
[0058]
h2:1→
{0,1}
λ

[0059]
其中,λ为安全参数。最后得到并公布公共参数para=(q,g1,g,h1,h2)。
[0060]
2)数据使用者生成私钥,在后续步骤中,数据使用者将使用私钥发送数据请求和生成搜索陷门。在此阶段,数据使用者从q阶整数群中随机选择一个随机数b作为其私钥k
du

[0061]
3)数据所有者将共享数据文件上传至ipfs,得到指向文件的内容标识符cid。
[0062]
4)数据所有者更新数据文件索引;
[0063]
作为本发明的优选实施例,更新数据文件索引流程如图3所示,包括如下步骤:
[0064]
4.1)从q阶整数群中随机选择一个随机数rw,执行幂运算操作得到数据文件的版本信息vw;
[0065]
4.2)计算更新陷门tw,然后执行哈希运算、异或运算,分别得到索引和加密的内容标识符具体为:
[0066][0067][0068][0069]
其中,vw是数据文件的版本信息,是关键词索引,是加密内容标识符。
[0070]
4.3)判断索引是否存在,如果此前不存在,转步骤4.4);否则转步骤4.5);
[0071]
4.4)建立链表将映射关系存入智能合约中并记录在链上,即:
[0072]
[0073]
4.5)通过索引查找存放含有关键词w的内容标识符链表将插入链表中
[0074]
5)数据使用者向数据所有者请求数据,请求授权流程如图4,数据使用者执行幂运算得到数据请求reqw并将其发送给数据所有者:
[0075][0076]
其中,k
du-1
为数据使用者私钥的逆。
[0077]
6)数据所有者处理收到的请求,验证请求合法后将数据发送回数据使用者;
[0078]
作为本发明的优选实施例,步骤6)包括如下步骤:
[0079]
6.1)数据所有者数据所有者接收请求,验证请求者身份,判断收到的请求是否合法,如果合法,转步骤6.2);否则转步骤10);
[0080]
6.2)数据所有者执行幂运算操作,得到授权关系将其发送回数据使用者:
[0081][0082]
其中,是数据所有者生成的授权关系,reqw是收到的数据请求,rw是此前生成的随机数。
[0083]
7)数据使用者计算搜索陷门,用于调用智能合约的参数,执行幂运算操作得到搜索陷门tw。
[0084]
8)数据使用者调用智能合约,获取共享数据索引;
[0085]
作为本发明的优选实施例,步骤8)包括如下步骤:
[0086]
8.1)智能合约执行哈希运算h2(tw)得到索引
[0087]
8.2)智能合约根据获取edb中的链表通过遍历链表可以得到匹配的执行异或操作进行,可得到匹配的文件内容标识符cid。
[0088]
9)数据使用者获取数据文件,根据得到的cid在ipfs上查看和下载数据。
[0089]
10)数据共享流程结束。

技术特征:
1.一种基于区块链的高效数据共享方法,其特征在于,包括如下步骤:1)系统初始化,构建数据共享公共参数para:包括数据所有者、数据使用者、区块链和ipfs;所述数据所有者将加密的信息文件上传到ipfs,并将加密的关键词索引发布到部署在联盟区块链上的智能合约;所述数据使用者向数据所有者发送数据请求,在得到授权后根据授权关系生成搜索陷门,调用智能合约获取关键词索引并通过ipfs查找并下载数据文件;生成一个数为q阶的素数乘法循环群g1,g是群g1的生成元;选择两个安全哈希函数h1,h2,满足:h1:h2:g1→
{0,1}
λ
;其中,λ为安全参数;得到并公布公共参数para=(q,g1,g,h1,h2);2)数据使用者生成私钥,并使用私钥发送数据请求和生成搜索陷门,所述私钥k
du
为从q阶整数群中随机选择一个随机数b;3)数据所有者将数据文件上传至ipfs,得到指向数据文件的内容标识符cid;4)数据所有者更新数据关键词索引;5)数据使用者向数据所有者请求数据,数据使用者执行幂运算得到数据请求req
w
并将其发送给数据所有者:其中,k
du-1
为数据使用者私钥的逆;6)数据所有者处理收到的请求,验证请求合法后将数据发送回数据使用者;7)数据使用者通过幂运算计算搜索陷门,用于调用智能合约的参数,执行幂运算操作得到搜索陷门t
w
;8)数据使用者调用智能合约,获取共享数据索引;9)数据使用者获取数据文件,根据得到的内容标识符cid在ipfs上查看和下载数据;10)数据共享流程结束。2.如权利要求1所述的一种基于区块链的高效数据共享方法,其特征在于,所述步骤4)包括如下内容:4.1)从q阶整数群中随机选择一个随机数r
w
,执行幂运算操作得到数据文件的版本信息v
w
;4.2)计算更新陷门t
w
,执行哈希运算、异或运算,分别得到索引和加密的内容标识符具体为:具体为:具体为:
其中,v
w
是数据文件的版本信息,是关键词索引,是加密内容标识符;4.3)判断索引是否存在,如果此前不存在,转步骤4.4);否则转步骤4.5);4.4)建立链表l,将映射关系存入智能合约中并记录在链上,即:4.5)通过索引查找存放含有关键词w的内容标识符链表l,将插入链表中l。3.如权利要求1所述的一种基于区块链的高效数据共享方法,其特征在于,所述步骤6)包括以下内容:6.1)数据所有者验证请求者身份,判断收到的数据使用请求是否合法,如果合法,转步骤6.2);否则转步骤10);6.2)数据所有者执行幂运算操作,得到授权关系将其发送回数据使用者:其中,是数据所有者生成的授权关系,req
w
是收到的数据请求,r
w
是生成的随机数。4.如权利要求1所述的一种基于区块链的高效数据共享方法,其特征在于,所述步骤8)包括如下内容:8.1)智能合约执行哈希运算h2(t
w
)得到索引8.2)智能合约根据获取edb中的链表l;通过遍历链表得到匹配的执行异或操作进行,可得到匹配的文件内容标识符cid。

技术总结
本发明公开了一种基于区块链的高效数据共享方法,可以解决现有数据共享过程中存在的数据存储集中、搜索算法效率低下等问题,实现安全高效的去中心化数据共享。本发明将加密数据存入星际文件系统(IPFS)中得到内容标识符(CID);对关键词进行哈希运算,与CID组成关键词索引,并存储在区块链上。最后采用基于倒排索引的可搜索加密算法,通过生成搜索陷门实现对相关数据的查询操作。数据使用者基于离散对数问题发起查询请求,数据所有者可以在没有可信第三方参与下实现授权操作。本发明能够在索引数量较大时仍保持较好的搜索效率,并在没有可信第三方监管下,实现去中心化的数据共享,从而使得各个组织的数据共享更加安全、高效和方便。方便。方便。


技术研发人员:葛树晟 熊书明 陈朋超 韩雪
受保护的技术使用者:江苏大学
技术研发日:2023.06.15
技术公布日:2023/9/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐