一种基于区块链的数据文件安全隐私存储和分享方法技术

技术编号:21146155 阅读:66 留言:0更新日期:2019-05-18 06:42
本发明专利技术涉及计算机领域和数据存储,尤其涉及一种基于区块链的数据文件安全隐私存储和分享方法,包括包括用户层、区块链层和数据存储层,其中用户层用于用户加密上传数据、加密分享数据以及接收其他用户分享的数据;区块链层用于公开存储经过双重加密的密文数据和云端存储数据的哈希校验码,用户之间通过交易id分享文件;数据存储层用于密文数据的存储和下载;本发明专利技术有效的保证了云端存储数据的可用性和完整性,用户可以便捷的验证访问权限,实现了数据的多用户共享,减少了用户对密钥的存储开销和管理开销,提高了数据所有者对数据的控制力,实现了数据的密文共享,提高了存储系统的安全性和隐私性。

【技术实现步骤摘要】
一种基于区块链的数据文件安全隐私存储和分享方法
本专利技术涉及计算机领域和数据存储,尤其涉及一种基于区块链的数据文件安全隐私存储和分享方法。
技术介绍
随着互联网技术的飞速发展,云存储已成为我们日常生活中重要的商业模式。它为个人和企业提供了不同类型的数据存储服务,使用户可以随时随地访问互联网资源和共享数据,为我们的生活带来了极大的便利。这样的云存储系统非常成功,并且越来越被人们接受。随着互联网技术的发展,存储文件的安全性和数据分享的隐私性开始越来越受到人们的重视,数据存储在第三方服务器,数据的存储和分享不可避免的带来了一些安全性和隐私性问题。在现有的云存储服务中,数据的存储和分享一般都采用加密的方式处理,但是随着存储文件的增多,加密的密钥越来越多,密钥的管理越来越难,如果采用单一的密钥加密,密钥一旦泄露将可能泄露所有的数据;如果存储的数据要分享给很多的用户,需要用这些人的公钥一一加密分发,系统的算力资源和通信资源消耗较大,并且分享密钥的分发通过信道直接传输给用户,存在一定的安全风险,所以需要一种更稳妥的办法来实现密钥的传递。目前,现有的云存储系统中,如果用户想要秘密共享存储在第三方云服务器中的数据,则需要一种技术来实现对只能由特定用户访问和解密的数据的访问控制。在这种需求的推动下,基于属性的加密机制(ABE)被提出并迅速发展。通过这种机制,数据拥有者可以根据用户的身份和属性指定数据访问策略,以实现对数据的细粒度访问控制。几乎所有ABE加密方案都需要可信私钥生成器(PKG)来作为系统的设置,并为用户分配相应的密钥,这种系统存在很多问题。首先,实际上很难找到完全值得信赖的PKG。其次,这样的系统可能存在密钥滥用的问题,用户数据的所有权不是由他们自己完全控制的。PKG能够解密服务器中的所有数据,并且PKG可能由于某些兴趣或政治审查等原因泄露用户数据。一旦数据所有者丢失其自己的密钥,他甚至无法解密他自己的数据,但是PKG仍然可以解密用户数据。
技术实现思路
针对上述问题,本专利技术提出一种基于区块链的数据文件安全隐私存储和分享方法,包括以下步骤:S1、根据子密钥将明文文件采用对称加密算法加密得到密文文件,该密文文件的子密钥存储于数据拥有者的终端,并将该子密钥加密后存储于区块链中;S2、将密文文件存储于存储服务器,将密文文件在存储服务器的位置信息存储在数据拥有者的终端,并将密文文件在存储服务器的位置信息采用基于属性的加密算法加密后存储于区块链中;S3、将存储文件的校验信息存储于区块链上,同时采用基于属性的加密算法对密文文件的解密密钥进行加密,并制定访问策略,以密文的形式存放在区块链上;S4、在数据拥有者将密文文件上传到存储服务器之后,T时间内区块链产生新的区块链,数据拥有者获得并存储交易id;S5、数据请求者向数据拥有者请求加密文件的相关密钥及交易id,数据请求者利用加密文件的相关密钥及交易id获取并解密该加密文件。进一步的,密文文件的子密钥根据框架的主密钥keymas以及明文文件Fi的索引号seqi构建,通过对称加密算法对明文文件Fi进行加密。S12、将明文文件Fi进行加密,形成密文,并将密文文件上传至云服务器。进一步的,所述步骤S11包括:使用摘要函数对主密钥以及文件id进行操作,表示为keyseq=(keymas||seq);其中keyseq表示。进一步的,将密文数据存储于存储服务器前还包括:将密文文件进行哈希值计算得到密文文件的哈希值,并将密文文件的哈希值存放于区块链上。进一步的,所述步骤S2包括:S21、获得密文文件存储在存储服务器中的的位置信息之后,采用对称加密算法对该位置信息进行加密处理;S22、将加密后的位置信息存储于区块链上;S23、拥有该密文文件的用户存储一份该密文文件在存储服务器中的位置信息该用户的终端上。进一步的,步骤S22还包括:将加密后的位置信息存储在区块链上的位置信息采用属性加密算法进行再次加密。进一步的,采用基于属性的加密算法对密文文件的解密密钥和密文文件在存储服务器的位置信息进行加密后的信息,采用新的对称加密密钥通过对称加密算法进行加密,将此次加密的密钥存储于数据拥有者的终端,并将此次加密的密文公开存储于区块链上。进一步的,数据请求者向数据拥有者请求加密文件的相关密钥及交易id包括:S51、数据请求者对数据拥有者发出文件分享的请求,该请求包括数据请求者的身份id;S52、数据拥有者接收数据请求者的分享请求,并根据数据请求者的身份id生成访问策略;S53、数据拥有者将自己的交易id和加密访问策略密文的解密密钥发送给数据请求者。进一步的,当向数据拥有者请求分享数据的数据请求者数量小于n时,对数据拥有者的交易id和嵌有访问策略的密文进行再次加密时,选择利用数据请求者的公钥进行加密;否则,对数据拥有者的交易id和嵌有访问策略的密文进行再次加密时,选择利用数据请求者的属性进行加密。进一步的,数据请求者利用加密文件的相关密钥及交易id获取并解密该加密文件包括:S54、数据请求者根据交易id查找在区域链中寻找对应的区块,并使用解密密钥解密该区块的密文;S55、数据请求者根据自己的身份id解密访问策略,获得请求的密文文件所有相关解密密钥和该密文文件在存储服务器的位置信息的密文;S56、解密密文文件在存储服务器的位置信息的密文,并通过该位置信息从存储服务器下载并解密密文文件。本专利技术可以实现用户对自己存储数据的完全控制,以密文的形式安全存储在云端,将加密的密钥存储于区块链,实现了对密钥的安全管理。采用属性加密的方法,可以使本方案实现对数据的精细化分享。利用区块链技术的公开性和防篡改的特性,存储数据的哈希值,有效的保证了云端存储数据的可用性和完整性。区块链账本上添加访问策略,使得用户可以便捷的验证访问权限,很好的实现了数据的多用户共享。将文件的加密密钥和加密的位置信息存储于区块链账本,减少了用户对密钥的存储开销和管理开销,提高了数据所有者对数据的控制力,实现了数据的密文共享,提高了存储系统的安全性和隐私性。附图说明图1是本专利技术的系统构架示意图;图2是本专利技术的系统流程示意图;图3是本专利技术的文件存储示意图;图4是本专利技术的文件分享示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提出一种基于区块链的数据文件安全隐私存储和分享方法,如图1,可以将本专利技术方法按照功能分为3层结构,分别是用户层、区块链层和数据存储层,其中用户层用于用户加密上传数据、加密分享数据以及接收其他用户分享的数据;区块链层用于公开存储经过双重加密的密文数据和云端存储数据的哈希校验码,用户之间通过交易id分享文件;数据存储层用于密文数据的存储和下载;如图2,对数据文件的存储和分享过程具体包括:S1、根据子密钥将明文文件采用对称加密算法加密得到密文文件,该密文文件的子密钥存储于数据拥有者的终端,并将该子密钥加密后存储于区块链中;S2、将密文文件存储于存储服务器,将密文文件在存储服务器的位置信息存储在数据拥有者本文档来自技高网
...

【技术保护点】
1.一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,包括以下步骤:S1、初始化用户和明文文件,根据子密钥将明文文件采用对称加密算法加密得到密文文件,该密文文件的子密钥存储于数据拥有者的终端,并将该子密钥加密后存储于区块链中;S2、将密文文件存储于存储服务器,将密文文件在存储服务器的位置信息存储在数据拥有者的终端,并将密文文件在存储服务器的位置信息采用基于属性的加密算法加密后存储于区块链中;S3、将存储文件的校验信息存储于区块链上,同时采用基于属性的加密算法对密文文件的解密密钥进行加密,并制定访问策略,以密文的形式存放在区块链上;S4、在数据拥有者将密文文件上传到存储服务器之后,并完成对上链信息的上传操作之后,T时间内区块链达成共识之后并产生新的区块,系统向数据拥有者返回生成区块的id,即交易id,数据拥有者获得并存储交易id;S5、数据请求者向数据拥有者请求加密文件的相关密钥及交易id,同意分享后通过安全信道交互信息并发送加密文件的相关密钥及交易id,数据请求者查询区块链交易的区块信息获取相关秘钥和存储位置信息,解密该加密文件。

【技术特征摘要】
1.一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,包括以下步骤:S1、初始化用户和明文文件,根据子密钥将明文文件采用对称加密算法加密得到密文文件,该密文文件的子密钥存储于数据拥有者的终端,并将该子密钥加密后存储于区块链中;S2、将密文文件存储于存储服务器,将密文文件在存储服务器的位置信息存储在数据拥有者的终端,并将密文文件在存储服务器的位置信息采用基于属性的加密算法加密后存储于区块链中;S3、将存储文件的校验信息存储于区块链上,同时采用基于属性的加密算法对密文文件的解密密钥进行加密,并制定访问策略,以密文的形式存放在区块链上;S4、在数据拥有者将密文文件上传到存储服务器之后,并完成对上链信息的上传操作之后,T时间内区块链达成共识之后并产生新的区块,系统向数据拥有者返回生成区块的id,即交易id,数据拥有者获得并存储交易id;S5、数据请求者向数据拥有者请求加密文件的相关密钥及交易id,同意分享后通过安全信道交互信息并发送加密文件的相关密钥及交易id,数据请求者查询区块链交易的区块信息获取相关秘钥和存储位置信息,解密该加密文件。2.根据权利要求1所述的一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,初始化用户和明文文件包括:根据用户的身份属性颁发身份证书,该身份证书包括用户属性集、身份id、公密钥keypub以及私密钥keypriv,公密钥keypub全网公开;用户端通过随机数产生器在本地随机生成一个随机数R,将用户私钥和安全随机数作为哈希函数的输入生成主密钥keymas=Hash(keypriv||R),并将其保存在用户端;为明文文件提供文件id。3.根据权利要求2所述的一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,密文文件的子密钥根据数据拥有者的主密钥keymas以及客户端对明文文件Fi的生成的索引号seqi构建,表示为keyseq=(keymas||seqi);其中keyseq表示对应文件的加解密秘钥。4.根据权利要求1所述的一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,将密文数据存储于存储服务器前还包括:将密文文件进行哈希值计算得到密文文件的哈希值,并将密文文件的哈希值存放于区块链上。5.根据权利要求1所述的一种基于区块链的数据文件安全隐私存储和分享方法,其特征在于,所述步骤...

【专利技术属性】
技术研发人员:徐光侠代小龙马创黄海辉刘勇周秀秀宋亮吴佳健吴乾隆
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1