一种基于区块链的数据加密存储方法与系统与流程

文档序号:37213364发布日期:2024-03-05 14:59阅读:13来源:国知局
一种基于区块链的数据加密存储方法与系统与流程

本发明涉及一种基于区块链的数据加密存储方法与系统,属于区块链。


背景技术:

1、随着计算机、互联网等信息技术的不断发展,对于数据存储的需求在不断增长,互联网上很多存储系统缺乏有效的隐私保护和共享机制,易造成私有文件的隐私泄露;另外由于存储的数据中心带宽有限,造成对数据中心的访问受链路与地理位置的影响,大大影响数据的存储与访问速度。

2、本系统在数据存储中综合利用区块链技术、纠删码技术,通过分层级的隐私保护,基于广泛分布的数据终端实现数据存储的去中心化、分层级的数据保护及共享,改善数据存储与访问性能。


技术实现思路

1、发明要解决的技术问题

2、本发明针对传统中心化存储隐私易泄露、数据访问性能差等问题,提出一种基于区块链的数据加密存储方法与系统。

3、技术方案

4、为达到上述目的,本发明提供的技术方案为:

5、一种基于区块链的数据加密存储方法,包括如下步骤:

6、步骤1,基于文件/目录名称生成待存储文件/目录的密钥,使用密钥对文件进行加密;

7、步骤2,用户节点向检验节点发起查询请求,检验节点返回按评分排序的可用存储节点列表,用户节点从列表中选择存储节点进行连接;

8、步骤3,对加密后的待存储文件计算hash值后,使用纠删码编码;

9、步骤4,对编码后的分片数据进行编号,将编号后的分片数据和具体的存储节点关联,记录该分片的类型,以步骤3同样的hash函数计算每个数据分片的hash值;

10、步骤5,用户对步骤4所得的数据分片使用私钥进行签名,将该数据分片上传至所关联的存储节点,上传过程按照本分片字节数收取token作为费用,同时将与该分片对应的信息以固定格式在本地进行保存;

11、步骤6,文件所有分片存储完成后,将文件及数据分片信息发送给任一区块链节点并记录到区块链智能合约中。

12、进一步地,步骤1生成密钥的方法包括以下步骤:

13、步骤1-1,对于文件或目录使用固定派生函数生成派生key,同一目录/文件名生成一致的派生key;

14、步骤1-2,将各级目录和文件的派生key转化为私钥,并通过椭圆曲线运算计算出公钥;

15、步骤1-3,使用文件公钥对文件进行加密。

16、进一步地,步骤5中本地所保存的分片信息包括文件纠删码编码方法、分片类型、分片hash值、分片存储节点。

17、进一步地,步骤6中的文件与数据分片信息包括文件的唯一标识、文件目录与名称、用户钱包公钥、文件hash值、分片数量、纠删码编码方法、分片存储节点、分片类型、分片hash值。

18、进一步地,使用上述区块链数据加密存储方法的数据获取方法,包含以下步骤:

19、步骤1,用户节点在区块链智能合约中获取所请求数据的信息;

20、步骤2,用户节点通过校验节点获取节点评分,通过评分过滤掉异常节点,向各数据分片所存储节点请求数据;

21、步骤3,存储节点接收到用户请求后对请求数据信息与本地存储数据分片进行校验,校验通过后向用户节点返回本节点所存储的数据分片数据,数据获取过程按照本分片字节数收取token作为费用;

22、步骤4,用户节点基于分片编号将获取到的可用分片数据还原为加密数据,通过私钥进行解密;

23、步骤5,当原始分片数据不完整时,用户节点基于步骤1所获取存储节点信息请求数据的冗余分片通过纠删码还原加密数据,再通过私钥解密获取原始数据。

24、进一步地,使用上述区块链数据加密存储方法的数据删除方法,包含以下步骤:

25、步骤1,用户节点在智能合约中检索其保存在区块链中的数据信息;

26、步骤2,用户通过用户id+目录名+文件名发起文件预删除请求,智能合约对文件属主进行检验,校验通过后将预删除请求记录到合约中;

27、步骤3,校验节点通过接收区块链智能合约的事件消息或发起主动查询获取预删除请求,查询待删除的文件的存储节点,对存储节点下发删除操作指令;

28、步骤4,存储节点在收到删除操作指令后查询智能合约确认其有效性,确认无误后删除所保存的数据分片,并返回消息给校验节点;

29、步骤5,校验节点确认删除操作完成,将结果记录到智能合约中。

30、进一步地,使用上述基于区块链的数据加密存储方法的目录/文件共享方法,包含以下步骤:

31、步骤1,将用户id、目录结构、目录派生密钥/文件密钥在区块链合约中进行公布;

32、步骤2,对于文件共享,用户从区块链合约中查询文件存储的相关信息并使用公布的文件密钥进行解密,对于目录共享,用户从区块链合约中查询目录结构及目录包含文件,按密钥派生规则计算出目录包含文件的密钥,再对文件进行解密。

33、执行上述基于区块链的数据加密存储方法的系统,系统中包含用户节点、校验节点、区块链节点、存储节点,其中区块链节点部署智能合约,对交易进行打包;存储节点注册到智能合约,与区块链节点、校验节点、用户节点建立连接,实现用户数据的保存;用户节点实现文件的上传与下载;校验节点注册到智能合约,执行存储节点、文件的校验,执行文件删除操作、当存储节点故障率达到阈值时对存储数据进行重分布操作。

34、有益效果

35、本发明存储方法与系统可以应用于企业级存储、个人网盘等领域,用户可使用自己的区块链账户接入系统进行数据存储,利用区块链的特性实现了数据的去中心化多节点存储,保证了存储数据的安全。

36、本发明数据存储方式采用基于派生密钥的分层级保护,实现了数据的按层级分享,数据的安全得到保障。



技术特征:

1.一种基于区块链的数据加密存储方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于区块链的数据加密存储方法,其特征在于,所述步骤s1中生成密钥的过程包括以下步骤:

3.如权利要求2所述的一种基于区块链的数据加密存储方法,其特征在于,所述步骤s5中本地所保存的分片信息包括文件纠删码编码方法、分片类型、分片hash值、分片存储节点。

4.如权利要求3所述的一种基于区块链的数据加密存储方法,其特征在于,所述步骤s6中的文件与数据分片信息包括文件的唯一标识、文件目录与名称、用户钱包公钥、文件hash值、分片数量、纠删码编码方法、分片存储节点、分片类型、分片hash值。

5.执行如权利要求4所述的基于区块链的数据加密存储方法的系统,其特征在于,系统中包含用户节点、校验节点、区块链节点、存储节点,其中区块链节点部署智能合约,对交易进行打包;存储节点注册到智能合约,与区块链节点、校验节点、用户节点建立连接,实现用户数据的保存;用户节点实现文件的上传与下载;校验节点注册到智能合约,执行存储节点文件的校验,执行文件删除操作,当存储节点故障率达到阈值时对存储数据进行重分布操作。

6.使用如权利要求4所述的基于区块链的数据加密存储方法的数据获取方法,其特征在于,包含以下步骤:

7.使用如权利要求4所述的基于区块链的数据加密存储方法的数据删除方法,其特征在于,包含以下步骤:

8.使用如权利要求4所述的基于区块链的数据加密存储方法的目录/文件共享方法,其特征在于,包含以下步骤:


技术总结
本发明公开了一种基于区块链的数据加密存储方法与系统,属于区块链技术领域。方法首先基于名称生成待存储文件/目录的密钥对文件进行加密,对加密后的文件计算文件hash并使用纠删码编码;对编码后的分片数据和具体的存储节点关联,计算数据分片hash并使用私钥进行签名,将该数据分片上传至所关联的存储节点,同时将与该文件及分片对应的信息以固定格式在本地进行保存并记录到区块链智能合约中。存储系统包含用户节点、校验节点、区块链节点、存储节点。本发明存储方法与系统利用区块链的特性实现了数据的去中心化多节点存储,保证了存储数据的安全,方法采用基于派生密钥的分层级保护,实现了数据的按层级分享,数据的安全得到保障。

技术研发人员:黄汕宁,杨高赟,雷志斌
受保护的技术使用者:快链城科技(深圳)有限公司
技术研发日:
技术公布日:2024/3/4
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1