基于区块链的路由位置数据保密存储及共享方法与流程

文档序号:11263517阅读:523来源:国知局
基于区块链的路由位置数据保密存储及共享方法与流程

本发明涉及一种基于区块链的路由位置数据保密存储及共享方法,属于数据互联网技术领域。



背景技术:

区块链是一种分布式数据存储方案,其通过点对点模式提供一种去中心化方式的集体维护策略。该技术将一段时间内的系统交流数据汇总,通过现代密码学手段把汇总数据生成数据区块,并利用时间戳产生数据指纹,将数据区块串联成链并提供有效性验证和审计。

传统的路由位置数据存储及共享方法主要有两种:集中存储集中共享和分布式存储集中共享。集中存储集中共享的工作过程为:服务方采集所有用户的数据并集中存储,每一个共享请求都要发送到服务器中心进行审核处理;分布式存储集中共享的工作过程为:服务器采集所有用户数据并通过分布式技术分散存储,当用户发起共享请求时,通过服务中心审核处理。第一种方法采用集中存储方式,维护方便,安全性高,但由于工作量较大容易产生服务瓶颈;第二种方法采用分布式存储技术,但共享需求依然通过中心服务器处理,当处理时还要通过分布式存储寻找所需数据,增加了系统复杂度。另外,两种方式存储的数据虽都经过加密处理,但作为服务方依然可以自由利用,用户隐私得不到有效保障;用户的共享需求通过共享处理中心,一旦因某种原因而导致共享处理中心无法工作,便无法实现数据共享。



技术实现要素:

为了解决上述问题,本发明的目的在于提供一种基于区块链的路由位置数据保密存储及共享方法。

为了达到上述目的,本发明提供的基于区块链的路由位置数据保密存储及共享方法包括数据存储方法和数据共享方法;

所述的数据存储方法包括按顺序进行的下列步骤:

1)节点配置

1.1)存储节点配置:

1.1.1)将服务方各存储节点配置成点对点通讯网络;

1.1.2)将步骤1.1.1)中的各存储节点本地生成私钥;

1.1.3)将步骤1.1.1)中的各存储节点依据步骤1.1.2)中产生的私钥生成公钥,并将公钥在全网广播;

1.2)用户节点配置:

1.2.1)将连接各提供服务的路由设备的用户节点配置成点对点通讯网络;

1.2.2)将步骤1.2.1)中的各用户节点匹配账户信息并依据此信息本地生成唯一根私钥;

1.2.3)将步骤1.2.1)中的各用户节点依据步骤1.2.2)中产生的根私钥生成由私钥和公钥构成的共享密钥对,其中每个用户能够具有多个共享密钥对,并将公钥在全网广播;

2)数据加密发送

2.1)各用户节点生成随机密钥,并获取当前设定区间的基于路由的位置数据,然后将随机密钥和位置数据通过加密函数运算得到加密数据;

2.2)各用户节点依据步骤2.1)中加密数据通过哈希函数运算得到数据摘要;

2.3)各用户节点依据步骤1.2.3)中的私钥和步骤2.2)中的数据摘要,通过加密算法运算生成数字签名;

2.4)各用户节点将步骤2.1)中的加密数据连同步骤2.3)中的数字签名打包成打包数据,并随机发送至存储子网络中某存储节点公钥地址;

3)存储子网络验证存储

3.1)存储子网络中各存储节点按照设定时间段汇总当前时间段内接收的所有打包数据并生成数据区块;

3.2)存储子网络中各存储节点采用实用拜占庭容错算法,通过步骤1.2.3)中各用户节点的公钥验证上述打包数据中的数字签名,以此达成共识;

3.3)存储子网络中各存储节点将共识完成的数据区块加盖时间戳并存储到数据区块链上,然后在全网广播,完成存储过程;

所述的数据共享方法包括按顺序进行的下列步骤:

4)需求生成

4.1)请求方用户节点请求被请求方用户节点发送指定位置数据,生成需求信息;

4.2)请求方用户节点选择本地任意一共享密钥对中的公钥作为需求发出地址,并用与之对应的私钥生成数字签名;

4.3)请求方用户节点事先得到一个被请求方用户节点的公钥,并作为目的地址,将需求信息和数字签名发送至该地址;

5)需求响应

5.1)被请求方用户节点收到请求方用户节点的共享请求,广播到全网;

5.2)全网各用户节点通过共识机制达成该请求的合法性验证;

5.3)验证通过后,该需求信息被记录到共享区块链上,并广播到全网;

5.4)被请求方用户节点本地提取与需求信息相对应的随机密钥和共享密钥对;

5.5)被请求方用户节点随机选取存储子网络中一个存储节点的公钥,并与请求方用户节点的公钥加密产生密文;

5.6)被请求方用户节点将步骤5.5)中的密文进行哈希运算,并通过将步骤5.4)中提取的共享密钥对中的私钥加密生成数字签名;

5.7)被请求方用户节点使用请求方用户节点的公钥地址加密随机密钥得到加密后的随机密钥,然后将密文、数字签名及加密后的随机密钥打包成打包数据并一并发给存储子网络任一存储节点;

6)共享达成

6.1)被请求方用户节点选中的存储节点收到被请求方用户节点的请求,通过数字签名和步骤5.4)中的共享密钥对中的公钥验证身份和密文正确性;

6.2)被请求方用户节点选中的存储节点通过自己的私钥解密步骤5.5)中的密文,得到请求方用户节点的公钥地址;

6.3)被请求方用户节点选中的存储节点根据需求信息要求摘取对应的加密数据连同加密后的随机密钥,并一并发给请求方用户节点的公钥地址,发送的该数据通过共识机制记录在数据区块链上;

6.4)请求方用户节点接收到被请求方用户节点选中的存储节点发来的数据,通过自己的私钥解密得到随机密钥,再对加密的位置数据解密,得到原始共享数据,共享完成。

在步骤1.2.2)和步骤1.2.3)中,所述的生成根私钥和共享密钥对的方法包括下列步骤:

a):节点用户依据账户信息生成根私钥,本地保存;

b):节点用户依据上述根私钥生成用于共享密钥对的用户私钥;

c):节点用户依据上述用户私钥生成用户公钥,最后得到由用户私钥和用户公钥构成的共享密钥对。

在步骤5.2)中,所述的共识机制达成方法包括下列步骤:

d):共享子网络中各请求方用户节点接收被请求方用户节点广播的需求信息;

e):各被请求方用户节点通过如下公式参与共识竞争:贡献度=(最近7天内在线时长/168+最近7天内个人使用流量/最近7天内网络总流量)*最近7天内共享次数,贡献度最高的用户节点验证此次需求;

f)验证完成后将该需求信息存到共享区块链上,并给予流量奖励;

g)裁定当前参与验证的被请求方用户节点不得参与接下来7日之内的共识,共识完成。

本发明提供的基于区块链的路由位置数据保密存储及共享方法具有如下有益效果:

1、本发明使用区块链技术,采用数据加密存储,利用去中心化网络来共享数据,解决了数据存储方无权使用数据,用户方没有渠道选择性开放个人数据的问题;

2、本发明在数据存储过程中采用本地加密发送,服务方存储加密数据,解密密钥用户自己保存,服务方无法得到原始数据,有更好的数据保护效果;

3、本发明在存储过程采用区块链技术,利用实用拜占庭容错算法来共识存储,一方面解决中心化存储的工作量瓶颈问题,另一方面可以保证数据防篡改,同时也可有效防止中心服务器故障带来的服务质量问题;

4、本发明用户共享数据采用点对点网络,结合现代密码学加密技术,只有参与双方有权得到数据,可以解决用户隐私泄漏问题,采用用户信息生成根私钥进而生成共享密钥对,只有参与双方知道彼此身份,实现匿名化共享;

5、本发明通过贡献度共识算法达成共识,使用共享区块链保存记录,一方面提供透明的记录,为审计带来便捷,同时可防止不法分子针对共享网络的恶意攻击行为。

附图说明

图1为本发明提供的基于区块链的路由位置数据保密存储及共享方法中存储节点配置方法流程图。

图2为本发明提供的基于区块链的路由位置数据保密存储及共享方法中用户节点配置方法流程图。

图3为本发明提供的基于区块链的路由位置数据保密存储及共享方法中数据发送及验证存储方法流程图。

图4为本发明提供的基于区块链的路由位置数据保密存储及共享方法中生成根私钥和共享密钥对方法流程图。

图5为本发明提供的基于区块链的路由位置数据保密存储及共享方法中需求生成和需求响应方法流程图。

图6为本发明提供的基于区块链的路由位置数据保密存储及共享方法中共享达成方法流程图。

具体实施方式

下面结合附图和具体实施方式对本发明提供的基于区块链的路由位置数据保密存储及共享方法进行详细说明。

本发明依据存储和共享两种服务将网络划分成面向存储的数据区块链子网络和面向共享服务的共享区块链子网络,两个网络同为点对点网络,针对两个子网络使用两个区块链,分别为:数据区块链和共享区块链。

其中面向存储的数据区块链网络包含多个平等的存储节点,各存储节点负责接收用户数据并汇总,通过共识机制验证数据合法性,并把加密数据以区块结构按照时间先后顺序存储到链上,生成数据区块链。通过合理分配协同工作提高并发性,解决中心服务存在的工作量瓶颈问题,数据通过用户端加密,并通过区块链技术存储,可在保证高安全性数据隐私的同时保证存储数据的高可靠性和透明性。

面向共享服务的共享区块链子网络由多个用户节点组成,各用户节点通过点对点网络特性和特定的共识机制来完成位置数据共享,在共识过程中各用户节点公平竞争,在完成共识后得到相应的奖励,以此达到各用户节点集体维护的目的,共识操作将每次合法的共享记录都记录在共享区块链上,网络中各用户节点都可查看,从而能够实现共享网络的公开透明和安全可靠性。

本发明提供的基于区块链的路由位置数据保密存储及共享方法包括数据存储方法和数据共享方法;

如图1—图3所示,所述的数据存储方法包括按顺序进行的下列步骤:

1)节点配置

1.1)存储节点配置:

1.1.1)将服务方各存储节点配置成点对点通讯网络;

1.1.2)将步骤1.1.1)中的各存储节点本地生成私钥;

1.1.3)将步骤1.1.1)中的各存储节点依据步骤1.1.2)中产生的私钥生成公钥,并将公钥在全网广播;

1.2)用户节点配置:

1.2.1)将连接各提供服务的路由设备的用户节点配置成点对点通讯网络;

1.2.2)将步骤1.2.1)中的各用户节点匹配账户信息并依据此信息本地生成唯一根私钥;

1.2.3)将步骤1.2.1)中的各用户节点依据步骤1.2.2)中产生的根私钥生成由私钥和公钥构成的共享密钥对,其中每个用户能够具有多个共享密钥对,并将公钥在全网广播;

2)数据加密发送

2.1)各用户节点生成随机密钥,并获取当前设定区间的基于路由的位置数据,然后将随机密钥和位置数据通过加密函数运算得到加密数据;

2.2)各用户节点依据步骤2.1)中加密数据通过哈希函数运算得到数据摘要;

2.3)各用户节点依据步骤1.2.3)中的私钥和步骤2.2)中的数据摘要,通过加密算法运算生成数字签名;

2.4)各用户节点将步骤2.1)中的加密数据连同步骤2.3)中的数字签名打包成打包数据,并随机发送至存储子网络中某存储节点公钥地址;

3)存储子网络验证存储

3.1)存储子网络中各存储节点按照设定时间段汇总当前时间段内接收的所有打包数据并生成数据区块;

3.2)存储子网络中各存储节点采用实用拜占庭容错算法,通过步骤1.2.3)中各用户节点的公钥验证上述打包数据中的数字签名,以此达成共识;

3.3)存储子网络中各存储节点将共识完成的数据区块加盖时间戳并存储到数据区块链上,然后在全网广播,完成存储过程;

如图4所示,在步骤1.2.2)和步骤1.2.3)中,所述的生成根私钥和共享密钥对的方法包括下列步骤:

a):节点用户依据账户信息生成根私钥,本地保存;

b):节点用户依据上述根私钥生成用于共享密钥对的用户私钥;

c):节点用户依据上述用户私钥生成用户公钥,最后得到由用户私钥和用户公钥构成的共享密钥对。

如图4—图5所示,所述的数据共享方法包括按顺序进行的下列步骤:

4)需求生成

4.1)请求方用户节点请求被请求方用户节点发送指定位置数据,生成需求信息;

4.2)请求方用户节点选择本地任意一共享密钥对中的公钥作为需求发出地址,并用与之对应的私钥生成数字签名;

4.3)请求方用户节点事先得到一个被请求方用户节点的公钥,并作为目的地址,将需求信息和数字签名发送至该地址;

5)需求响应

5.1)被请求方用户节点收到请求方用户节点的共享请求,广播到全网;

5.2)全网各用户节点通过共识机制达成该请求的合法性验证;

5.3)验证通过后,该需求信息被记录到共享区块链上,并广播到全网;

5.4)被请求方用户节点本地提取与需求信息相对应的随机密钥和共享密钥对;

5.5)被请求方用户节点随机选取存储子网络中一个存储节点的公钥,并与请求方用户节点的公钥加密产生密文;

5.6)被请求方用户节点将步骤5.5)中的密文进行哈希运算,并通过将步骤5.4)中提取的共享密钥对中的私钥加密生成数字签名;

5.7)被请求方用户节点使用请求方用户节点的公钥地址加密随机密钥得到加密后的随机密钥,然后将密文、数字签名及加密后的随机密钥打包成打包数据并一并发给存储子网络任一存储节点;

6)共享达成

6.1)被请求方用户节点选中的存储节点收到被请求方用户节点的请求,通过数字签名和步骤5.4)中的共享密钥对中的公钥验证身份和密文正确性;

6.2)被请求方用户节点选中的存储节点通过自己的私钥解密步骤5.5)中的密文,得到请求方用户节点的公钥地址;

6.3)被请求方用户节点选中的存储节点根据需求信息要求摘取对应的加密数据连同加密后的随机密钥,并一并发给请求方用户节点的公钥地址,发送的该数据通过共识机制记录在数据区块链上;

6.4)请求方用户节点接收到被请求方用户节点选中的存储节点发来的数据,通过自己的私钥解密得到随机密钥,再对加密的位置数据解密,得到原始共享数据,共享完成。

在步骤5.2)中,所述的共识机制达成方法包括下列步骤:

d):共享子网络中各请求方用户节点接收被请求方用户节点广播的需求信息;

e):各被请求方用户节点通过如下公式参与共识竞争:贡献度=(最近7天内在线时长/168+最近7天内个人使用流量/最近7天内网络总流量)*最近7天内共享次数,贡献度最高的用户节点验证此次需求;

f)验证完成后将该需求信息存到共享区块链上,并给予流量奖励;

g)裁定当前参与验证的被请求方用户节点不得参与接下来7日之内的共识,共识完成。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1