一种区块链云存储用户数据安全解决方法技术

技术编号:24938636 阅读:38 留言:0更新日期:2020-07-17 21:04
一种区块链云存储用户数据安全解决方法,共分为四个步骤,步骤A:客户端经PC机内应用构建单元构建区块链客户端运行环境及下载运行框架;步骤B:客户经客户端内应用单元采用基于零知识共识的多重签名技术进行多重签名;步骤C:客户经客户端内应用分片切割单元对要上传的数据进行切割分片并加密;步骤D:客户端下载云存储系统中的文件时,采用Merkle树校验法,校验客户端在区块链中存储数据是否完整可用。本发明专利技术基于区块链技术具有天然的去中心化特征作为基础,一共采用四个步骤,实现了数据分散存放,降低了数据丢失和完整数据被窃取的风险,防止数据被中心节点恶意篡改,由此有效达到用户云储存数据更加安全。基于上述,本发明专利技术有好的应用前景。

【技术实现步骤摘要】
一种区块链云存储用户数据安全解决方法
本专利技术涉及区块链应用
,特别是一种区块链云存储用户数据安全解决方法。
技术介绍
云存储是指通过集群应用、网格技术或分布式文件系统,将网络中大量不同类型的存储设备通过虚拟化软件集合起来协同工作,共同对外提供数据存储和业务访问功能,是对虚拟化存储资源的管理和使用,保证了数据的安全性,并节约了存储空间。近几年,许多互联网公司已经将云存储服务商业化,如国内知名的有百度云盘、腾讯微云、阿里云等。目前广泛应用的云存储系统为典型的中心化系统,即由相应的互联公司搭建软件平台、配置大量服务器以及虚拟化软件来沟通网络中众多存储设备及存储需求的桥梁。这种中心化的云存储服务易于实现和推广,但其也有较为明显弊端,比如个人隐私泄露的风险和数据安全风险。目前,云存储服务器早已经成为了黑客入侵的目标,因为服务器上有无穷用户数据,对此类大用户群服务的劫持更加是黑色收入的重要来源,也就是说服务器的安全性直接影响着用户上传数据的安全,在服务器虚拟化技术的支撑下V2V迁移的可靠性相当高,多数的云存储厂商都预备安全防护方案,但是不能忽视黑客的存在,作为一个集中化部署的企业方案,拥有一个固定IP实际上就是一个活靶子,被攻破仅仅是时间问题。基于上述,提供一种云存储用户数据安全的解决方法显得尤为必要。
技术实现思路
为了克服现有云存储中,因为采用中心化的云存储服务模式,存在个人隐私泄露的风险和数据安全风险的弊端,本专利技术提供了基于区块链技术具有天然的去中心化特征作为基础,一共采用四个步骤,在相关应用单元作用下,实现了数据分散存放,降低了数据丢失和完整数据被窃取的风险,并将每个共识节点建立区块链来方便管理存储数据,从而实现用户数据的去中心化,防止数据被中心节点恶意篡改,由此有效达到用户云储存数据更加安全的一种区块链云存储用户数据安全解决方法。本专利技术解决其技术问题所采用的技术方案是:一种区块链云存储用户数据安全解决方法,其特征在于共分为四个步骤,步骤A:客户端经PC机内应用构建单元构建区块链客户端运行环境及下载运行框架;步骤B:客户经客户端内应用单元采用基于零知识共识的多重签名技术进行多重签名;步骤C:客户经客户端内应用分片切割单元对要上传的数据进行切割分片并加密,具体应用时,将数据编码成N个1/N大小的切片,相同切片备份M份,分别存储在不同节点上,任意M个节点故障都不会丢数据,同时监控各个节点和各个数据分片,任意节点故障或数据分片缺失立即另选其它节点重建分片数据;步骤D:客户端下载云存储系统中的文件时,从区块链网络中下载文件的Merkel根和分片Hash(散列函数)列表,同时从各个存储节点下载数据分片,采用Merkle树校验法,校验客户端在区块链中存储数据是否完整可用。进一步地,所述步骤A中,需要下载VisualStudioCode(编辑器)开发工具,使用Node.js(基于ChromeV8引擎的JavaScript运行环境)开发客户端,下载Eclipse(可扩展开发平台)开发工具,JDK1.8(软件开发工具包),使用Java语言开发区块链。进一步地,所述步骤B中,多重签名中,所采用的密钥对为非对称加密,节点之间不需要知道生成密钥的过程,只需要使用全网统一的验证机进行密钥验证即可;同时数据的权限状态通过多重签名进行管理,数据的原始所有者在对某个节点或用户签名授权数据权限后,该数据今后的流转都会附带每个所有者的签名信息,能够进行溯源,同时也能够对多人共管数据进行签名授权。进一步地,所述步骤C中,采取数据分片和分片多重备份的方式,极大降低数据被截获破解的概率,即使截获数据,也只能获取很小的片段,对于整体文件的安全性影响可以忽略,极大提升了用户整体数据安全性;多重备份技术,任意存储节点被攻击或者故障等原因造成的分片数据的缺失都能够立即另选其它节点重建分片数据。进一步地,所述步骤D中,Merkle树能直接下载并立即验证Merkle树的一个分支,实际应用中,能将文件切分成小的数据块,如果有一块数据损坏,仅仅重新下载此数据块就能满足需要,如果文件非常大,Merkle树可以一次下载一个分支,然后立即验证这个分支,如果分支验证通过,客户端就能下载数据了。本专利技术有益效果是:本专利技术基于区块链技术具有天然的去中心化特征作为基础,一共采用四个步骤,在相关应用单元作用下,实现了数据分散存放,降低了数据丢失和完整数据被窃取的风险,并将每个共识节点建立区块链来方便管理存储数据,从而实现用户数据的去中心化,防止数据被中心节点恶意篡改,由此有效达到用户云储存数据更加安全。克服了现有技术云存储中,因为采用中心化的云存储服务模式,存在个人隐私泄露的风险和数据安全风险的弊端。基于上述,本专利技术具有好的应用前景。附图说明以下结合附图和实施例将本专利技术做进一步说明。图1为本专利技术区块链技术中Merkle树根生成示意图。图2为本专利技术区块链技术中Merkle树节点示意图。图3为数据包加密上传的过程示意图。图4为公钥和私钥的生成过程示意图。图5是本专利技术工作流程框图示意。具体实施方式图5中所示,一种区块链云存储用户数据安全解决方法,共分为四个步骤,步骤A:客户端经PC机内应用构建单元构建区块链客户端运行环境及下载运行框架。步骤A中,需要下载VisualStudioCode(编辑器)开发工具,使用Node.js(基于ChromeV8引擎的JavaScript运行环境)开发客户端,下载Eclipse(可扩展开发平台)开发工具,JDK1.8(软件开发工具包),使用Java语言开发区块链。图5中所示,步骤B:客户经客户端内应用单元采用基于零知识共识的多重签名技术进行多重签名。步骤B中,多重签名中,所采用的密钥对为非对称加密,节点之间不需要知道生成密钥的过程,只需要使用全网统一的验证机进行密钥验证即可;同时数据的权限状态通过多重签名进行管理,数据的原始所有者在对某个节点或用户签名授权数据权限后,该数据今后的流转都会附带每个所有者的签名信息,能够进行溯源,同时也能够对多人共管数据进行签名授权;步骤B代码如下,constoriginalData=JSON.stringify(dir);consthashData=keccak256(originalData);constsig=ecsign(hashData,this.eccKey.getPrivateKeyBuffer())注:ecsign为客户端椭圆曲线数字签名算法,为不可逆加密算法。图4、5中所示,步骤C:客户经客户端内应用分片切割单元对要上传的数据进行切割分片并加密,具体应用时,将数据编码成N个1/N大小的切片,相同切片备份M份,分别存储在不同节点上,任意M个节点故障都不会丢数据,同时监控各个节点和各个数据分片,任意节点故障或数据分片缺失立即另选其它节点重建分片数据。步骤C中,采取数据分片和分片多重备份的方式,极大降低数据被截获破解的概率,即使截获数据,本文档来自技高网...

【技术保护点】
1.一种区块链云存储用户数据安全解决方法,其特征在于共分为四个步骤,步骤A:客户端经PC机内应用构建单元构建区块链客户端运行环境及下载运行框架;步骤B:客户经客户端内应用单元采用基于零知识共识的多重签名技术进行多重签名;步骤C:客户经客户端内应用分片切割单元对要上传的数据进行切割分片并加密,具体应用时,将数据编码成N个1/N大小的切片,相同切片备份M份,分别存储在不同节点上,任意M个节点故障都不会丢数据,同时监控各个节点和各个数据分片,任意节点故障或数据分片缺失立即另选其它节点重建分片数据;步骤D:客户端下载云存储系统中的文件时,从区块链网络中下载文件的Merkel根和分片Hash列表,同时从各个存储节点下载数据分片,采用Merkle树校验法,校验客户端在区块链中存储数据是否完整可用。/n

【技术特征摘要】
1.一种区块链云存储用户数据安全解决方法,其特征在于共分为四个步骤,步骤A:客户端经PC机内应用构建单元构建区块链客户端运行环境及下载运行框架;步骤B:客户经客户端内应用单元采用基于零知识共识的多重签名技术进行多重签名;步骤C:客户经客户端内应用分片切割单元对要上传的数据进行切割分片并加密,具体应用时,将数据编码成N个1/N大小的切片,相同切片备份M份,分别存储在不同节点上,任意M个节点故障都不会丢数据,同时监控各个节点和各个数据分片,任意节点故障或数据分片缺失立即另选其它节点重建分片数据;步骤D:客户端下载云存储系统中的文件时,从区块链网络中下载文件的Merkel根和分片Hash列表,同时从各个存储节点下载数据分片,采用Merkle树校验法,校验客户端在区块链中存储数据是否完整可用。


2.根据权利要求1所述的一种区块链云存储用户数据安全解决方法,其特征在于,步骤A中,需要下载VisualStudioCode开发工具,使用Node.js开发客户端,下载Eclipse开发工具,JDK1.8,使用Java语言开发区块链。


3.根据权利要求1所述的一种区块链云存储用户数据安全解决方法,其特征在于,步骤B中...

【专利技术属性】
技术研发人员:王路垠姚海凡
申请(专利权)人:上海坤仪金科信息技术有限公司
类型:发明
国别省市:上海;31

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

1