一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种去中心化数据即席共享的方法和系统与流程

2023-01-15 06:18:58 来源:中国专利 TAG:


1.本发明涉及去中心化存储、数据共享和数据传输技术领域,具体涉及一种去中心化数据即席共享的方法和系统。


背景技术:

2.近年来,多个设备和用户之间的安全数据即席共享一直是一个重要的研究问题。针对企业级数据共享的问题,目前大多数研究的重点都集中在云存储系统上,通常采用具有强大存储能力的第三方服务实现数据的存储和共享传输。然而,使用云服务器来存储和共享数据存在着两个固有的缺点,第一个不足是第三方服务可能是不可信的,这将会导致类似于数据泄露的安全性问题;第二个缺点是集中式的云存储方案受限于单点故障,并且存在一些不可抗逆因素会导致数据用户无法访问自己的数据。去中心化的数据存储网络能够很好地解决上述问题,由数据用户持有的存储服务器作为网络的节点,不需要受信任的第三方提供数据存储和传输服务,适用于企业或相关机构间的机密数据共享。首先,这方面的工作集中于数据的加密传输以及对访问控制策略的研究,如对称加密、非对称加密、基于属性的加密等。基于属性的加密技术通过合理地配置共享策略来解决私密数据共享问题,但对于一些要求实时共享、组织间人员变动迅速的数据共享场景来说,这类访问控制方式并不适用。其次,保证数据的完整性,防止数据被恶意篡改,确保数据请求者能接收到完整的数据是数据共享系统的核心内容。最后,如何减少数据共享的传输时延,提高共享效率同样是目前工作的重中之重。为此,许多基于内容分发网络的负载均衡算法被提出,如轮转调度法、最小连接调度算法、随机调度算法等。为实现去中心化数据的即席共享,亟需将重点放在数据的完整性验证、加密传输以及调度算法的研究上。


技术实现要素:

3.有鉴于此,本发明的目的之一是提供一种去中心化数据即席共享的方法,用于为私密数据创造兼具安全性、完整性、高效率、低时延的共享场景。
4.本发明的第一方面的目的是通过以下技术方案实现的:一种去中心化数据即席共享的方法,包括以下步骤:
5.步骤s1:允许数据所有者根据制定的规则对数据进行完整性验证并加密,上传至系统的存储网络;
6.步骤s2:利用存储网络的存储服务器压缩加密数据,完成压缩数据及其完整性标识符的安全存储;
7.步骤s3:接收数据请求用户发起的数据共享请求;
8.步骤s4:对进行请求的用户进行身份验证;
9.步骤s5:确定持有请求数据的存储服务器,并根据对应的调度算法选择提供数据的存储服务器;
10.步骤s6:向相应的存储服务器发起数据共享请求,存储服务器检查请求并向对应
的数据所有者转发数据共享请求;
11.步骤s7:根据数据所有者的是否同意用户发起数据共享请求的反馈进行决策,若同意则向存储服务器发送同意请求消息,反之则发送拒绝消息;
12.步骤s8:提供数据的存储服务器接收同意共享消息后,交付请求数据及其完整性标识符,系统核查收到的数据完整性标识是否一致,若一致则继续执行下面步骤,否则返回上一步骤;
13.步骤s9:对请求数据进行预处理;
14.步骤s10:向数据请求用户下发下载加密数据的权限,使之获得原始数据。
15.进一步,对数据进行完整性验证并加密,具体包括:
16.步骤s101:数据所有者对数据进行完整性验证,利用sha-512算法和密钥k1为数据明文生成基于哈希的消息认证码hmac,作为数据的完整性标识符i;
17.步骤s102:对数据明文执行加密操作,具体地使用伪随机数生成器生成一个数列,该数列指向数据明文中需要删除的字符位置;根据数列将明文分解为两部分,第一部分用于保存伪随机数生成器种子s和被删除字符的偏差数据b,第二部分用于保存经过删除步骤后的外包数据g;
18.步骤s103:利用数据所有者事先指定的对称加密算法及密钥k2对偏差数据b进行加密,生成加密偏差数据e;
19.步骤s104:数据所有者将数据的完整性标识符i以及经过加密操作生成的外包数据g、加密偏差数据e上传至分布式大数据存储网络。
20.进一步,完成压缩数据及其完整性标识符的安全存储,具体包括:
21.步骤s201:存储服务器对收到的加密数据进行压缩;
22.步骤s202:存储服务器存储压缩加密数据并为其创建唯一编号,然后将该数据的编号、所有者id以及完整性标识符i存入数据映射表。
23.进一步,将接收的用户请求消息与系统保存的用户信息进行对比,完成用户身份合法性验证,具体包括用户id、用户密码以及用户私钥的对比,若三类信息均一致则通过验证;否则拒绝该用户的请求或提示用户再次输入id、密码以及私钥。
24.进一步,确定持有请求数据的存储服务器,并根据对应的调度算法选择提供数据的存储服务器,具体包括:
25.步骤s501:调度管理模块在分布式大数据存储网络中检索数据请求消息中的数据编号,确定持有请求数据的所有存储服务器;
26.步骤s502:调度管理模块调用调度算法,在保证传输速率和稳定性的前提下确定提供请求数据的存储服务器;
27.步骤s503:调度管理模块向确定的存储服务器发起数据共享请求,包括存储服务器标识号、数据编号、请求用户id及其私钥、组钥。
28.进一步,所述的调度算法包括:
29.(1)获取所有持有请求数据的存储服务器的负载能力:首先设定分布式大数据存储网络中含有n个数据出口,n由步骤s501决定,将数据出口的带宽表示为bwi={bw0,bw1,

,bw
n-i
},其中bwi表示存储网络中第i个网络出口的带宽;设bwg为bw0,bw1,

,bw
n-i
的最大公约数,令li表示数据出口i的负载能力,其计算公式如下:
[0030][0031]
如此,可计算存储网络的数据处理能力,计算公式表示为:
[0032][0033]
(2)根据数据出口的负载能力和存储网络的数据处理能力为选定的每个数据出口赋予权值,权值计算公式如下:
[0034][0035]
(3)选择最佳的数据出口,即具有最佳负载均衡、同时保证传输效率和传输稳定性的存储服务器,首先获取当前时刻下每个数据出口的传输连接数,表示为ci;则选定的多个数据出口的总连接数可表示为最后根据权值wi、连接数ci以及网络总连接数c
sum
计算数据出口i的传输得分,计算公式如下:
[0036][0037]
选择传输得分最高的存储服务器作为提供请求数据的存储服务器。
[0038]
进一步,提供给数据所有者对用户发起的数据共享请求进行反馈的权限,具体包括:
[0039]
步骤s701:允许数据所有者检查数据共享请求消息,提取其中的请求用户id及其私钥、组钥;
[0040]
步骤s702:允许数据所有者检查是否与请求用户拥有相同的组钥;
[0041]
步骤s703:允许数据所有者在该组钥所在的组织映射表中检索用户id及其私钥;若信息一致且数据所有者同意数据共享请求,允许数据所有者向存储服务器发送同意共享请求,向数据请求用户发送共享策略;
[0042]
步骤s704:存储服务器接收同意共享请求消息后,交付请求数据及其完整性标识符i;数据请求用户接收共享策略后,发送请求数据的完整性标识符i。
[0043]
进一步地,共享调度模块对数据进行预处理,使用对应的解压缩方法对压缩加密数据进行解压得到加密数据,并将加密数据转发至数据请求用户。
[0044]
进一步,向数据请求用户下发下载加密数据的权限,具体包括:
[0045]
步骤s1001:允许数据请求用户使用密钥k2解密加密偏差数据e,得到偏差数据b;
[0046]
步骤s1002:重建原请求数据,具体是使用伪随机数生成器及其种子s找出偏差数据b中字符的对应原位置,并将其插入到外包数据g中;
[0047]
步骤s1003:允许请求用户验证数据的完整性,具体是使用hmac算法和密钥k1计算数据的完整性标识符,并与i进行比较,以确保数据的完整性。
[0048]
本发明的目的之二是提供一种去中心化数据即席共享的系统,包括存储器、处理器及储存在存储器上并能够在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如前所述的方法。
[0049]
本发明的有益效果是:
[0050]
(1)本发明的方法使用分布式大数据存储网络实现数据的安全存储,并使用基于哈希的消息认证码对数据进行完整性验证,还可以将数据加密操作放至用户本地完成,实现了对数据的隐私性及完整性保护。
[0051]
(2)此外,本发明实现了私密数据的即席共享以及对系统用户的管理,首先通过对用户id、密码以及私钥的对比完成第一重身份认证;其次使用组织映射表,在数据交付的最后阶段将数据的访问权限交由数据所有者控制,以完成第二重身份认证。且共享策略不通过分布式大数据存储网络,以端到端的方式传输至请求用户,保证即使有恶意方截取到网络中的数据也会因为缺少密钥而无法获得数据明文。对数据请求用户的双重认证进一步避免了数据泄露的风险,极大限度地保证了数据的安全性。
[0052]
(3)更进一步地,采用调度算法为请求用户选择最优的数据出口,通过分析各个数据出口当前的带宽情况及连接数为其赋予不同的权重,以此来表示该出口的传输能力与稳定性,如此共享系统可获取到当前网络资源的利用情况,进而降低数据共享时延,保证共享的即时性,在提高共享效率的同时还减少了网络拥塞的可能性,使得去中心化数据即席共享系统更加的安全、稳定和高效。
[0053]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和前述的权利要求书来实现和获得。
附图说明
[0054]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
[0055]
图1为本发明的一种去中心化数据即席共享方法流程示意图;
[0056]
图2为本发明的数据所有者加密数据并进行完整性验证的流程示意图;
[0057]
图3为本发明的一种去中心化数据即席共享系统结构示意图。
具体实施方式
[0058]
以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
[0059]
如图1和图2所示,本发明提出了一种去中心化数据即席共享的方法,为便于表述,本实施例将应用在由分布式大数据存储网络、调度管理模块以及用户组成的去中心化数据即席共享系统场景中,其中用户包括数据所有者、数据请求用户两类;分布式大数据存储网络由分布在多个地区的存储服务器组成,完成加密数据的安全存储,其中数据的加密由数据所有者在本地完成,保证数据的完整性及安全性;调度管理模块用于完成用户注册管理、用户访问权限管理、数据共享调度管理。基于上述的应用场景,本发明的方法具体包括了以下步骤:
[0060]
步骤s1:允许数据所有者对数据进行完整性验证并加密,上传至分布式大数据存储网络;
[0061]
本实施例中,步骤s1具体包括:
[0062]
(1)允许数据所有者对数据进行完整性验证,即利用sha-512算法和密钥k1为数据明文生成基于哈希的消息认证码hmac,作为数据的完整性标识符i;其中,完整性验证的计算公式为:
[0063][0064]
其中,h表示加密哈希函数sha-512,k1为密钥,f为数据,||表示级联操作,

表示异或操作,ipad是将比特系列00110110不断循环直到达到单向散列函数分组长度的比特系列,,opad是将比特系列01011100不断循环直到达到单向散列函数分组长度的比特系列。
[0065]
sha-512哈希算法不仅可以压缩任意长度的数据,且易于计算,此外还具有较强的抗修改性,基于该算法为数据生成的消息认证码能够较大程度地保证上传至存储网络的数据的完整性。
[0066]
(2)允许对数据明文执行加密操作,具体是使用伪随机数生成器生成一个数列,该数列指向数据明文中需要删除的字符位置;根据数列将明文分解为两部分,第一部分用于保存伪随机数生成器种子s和被删除字符的偏差数据b,第二部分用于保存经过删除步骤后的外包数据g;
[0067]
(3)利用数据所有者事先指定的对称加密算法及密钥k2对偏差数据b进行加密,生成加密偏差数据e;
[0068]
(4)允许数据所有者将数据的完整性标识符i以及经过加密操作生成的外包数据g、加密偏差数据e上传至分布式大数据存储网络。
[0069]
本步骤结合密钥和sha-512算法为数据明文生成基于哈希的完整性标识符,将数据加密这一操作由数据所用者在本地进行,具体地将数据明文分成偏差数据和外包数据两部分,并使用对称加密算法对偏差数据进行加密,使得数据即使在传输到分布式大数据存储网络的途中或在存储网络中被窃取,恶意方也难以还原原始数据明文,有效地保证了数据的完整性和安全性。
[0070]
步骤s2:利用存储网络的存储服务器压缩加密数据,完成压缩数据及其完整性标识符的安全存储。本实施例中,所述步骤s2具体包括:
[0071]
s201:存储服务器对收到的加密数据进行压缩;
[0072]
s202:存储服务器存储压缩加密数据并为其创建唯一编号,然后将该数据的编号、所有者id以及完整性标识符i存入数据映射表。
[0073]
存储服务器对接收的加密数据进行压缩存储可减少资源浪费和开销,其次,本发明为数据分配唯一编号,并创建数据映射表作为服务器中的数据索引表,使得不必扫描整个服务器就能迅速找到所需数据,提高了数据检索效率,进一步地降低数据共享时延。
[0074]
步骤s3:接收数据请求用户发起的数据共享请求;
[0075]
步骤s4:由调度管理模块进行请求用户的身份验证,判断其是否具有去中心化数据即席共享系统的访问权限;
[0076]
步骤s5:由调度管理模块确定持有请求数据的存储服务器,并根据对应的调度算法选择提供数据的存储服务器;本实施例中,步骤s5具体包括:
[0077]
s501:调度管理模块在分布式大数据存储网络中检索数据请求消息中的数据编号,确定持有请求数据的所有存储服务器;
[0078]
s502:调度管理模块调用调度算法,在保证传输速率和稳定性的前提下确定提供
请求数据的存储服务器;
[0079]
s503:调度管理模块向确定的存储服务器发起数据共享请求,包括存储服务器标识号、数据编号、请求用户id及其私钥、组钥。
[0080]
本发明由调度管理模块实现数据共享调度管理,具体地根据调度算法为请求用户选择传输效率高且更稳定的存储服务器作为请求数据的数据出口,保证了数据共享的即时性和稳定性,同时提高了对网络资源(如带宽)的利用率。
[0081]
步骤s6:调度管理模块向相应的存储服务器发起数据共享请求,存储服务器检查请求并向对应的数据所有者转发数据共享请求;
[0082]
步骤s7:根据数据所有者的是否同意用户发起的数据共享请求的反馈进行决策,若同意则向存储服务器发送同意请求消息,反之则发送拒绝消息;
[0083]
步骤s7中,允许数据所有者决定是否同意用户发起数据共享请求,具体包括:
[0084]
(1)允许数据所有者检查数据共享请求消息,提取其中的请求用户id及其私钥、组钥;
[0085]
(2)允许数据所有者检查是否与请求用户拥有相同的组钥;
[0086]
(3)允许数据所有者在该组钥所在的组织映射表中检索用户id及其私钥,若信息一致,则允许数据所有者向存储服务器发送同意共享请求,向数据请求用户发送共享策略(i、k1、k2、s),进入下一步;若数据所有者拒绝共享请求则结束本次请求;
[0087]
(4)存储服务器接收同意共享请求消息后,向调度管理模块交付请求数据及其完整性标识符i;数据请求用户接收共享策略后,向调度管理模块发送请求数据的完整性标识符i。
[0088]
本发明通过组织映射表将数据的访问权限交由数据所有者控制,若数据所有者同意数据共享,则将共享策略以端到端的方式传输至请求用户,而不通过分布式大数据存储网络,即使有恶意方截取到网络中数据也会因为缺少密钥而无法获得原始数据明文,可最大程度地保证系统安全,防止数据泄露。
[0089]
步骤s8:提供数据的存储服务器接收同意共享消息后,向调度管理模块交付请求数据及其完整性标识符,调度管理模块检查收到的数据完整性标识是否一致,若一致则执行步骤s9,否则返回步骤s7;
[0090]
本发明通过对数据请求用户的双重认证保证用户身份的真实性,即使用户身份的合法性得到了认证,在数据交付的最后阶段需继续对数据完整性标识符进行一致性验证,以确保请求用户拥有对请求数据的访问权限。
[0091]
步骤s9:调度管理模块对请求数据进行预处理;
[0092]
步骤s10:向数据请求用户下发下载加密数据的权限,数据请求用户可以从调度管理模块下载加密数据,并在本地执行解密操作,获得原始数据。向数据请求用户下发下载加密数据的权限,具体包括:
[0093]
(1)允许数据请求用户使用密钥k2解密加密偏差数据e,得到偏差数据b;
[0094]
(2)重建原请求数据,具体是使用伪随机数生成器及其种子s找出偏差数据b中字符的对应原位置,并将其插入到外包数据g中;
[0095]
(3)允许请求用户验证数据的完整性,具体是使用hmac算法和密钥k1计算数据的完整性标识符,并与i进行比较,以确保数据的完整性。
[0096]
本发明由数据所有者完成数据加密操作,由数据请求者完成数据解密操作,保证在网络中传输的数据均为加密数据,且除了所有者和请求用户以外的第三方难以同时获取加密算法和密钥,所使用的hmac和伪随机数生成器prng确保相同的输入会返回相同的输出,最大程度确保了数据的安全性与完整性。
[0097]
在步骤s5中,调度算法的具体步骤及公式为:
[0098]
(1)获取所有持有请求数据的存储服务器的负载能力:首先设定分布式大数据存储网络中含有n个数据出口,n由步骤s501决定,将数据出口的带宽表示为bwi={bw0,bw1,

,bw
n-i
},其中bwi表示存储网络中第i个网络出口的带宽;设bwg为bw0,bw1,

,bw
n-i
的最大公约数,令li表示数据出口i的负载能力,其计算公式如下:
[0099][0100]
如此,可计算存储网络的数据处理能力,计算公式表示为:
[0101][0102]
(2)根据数据出口的负载能力和存储网络的数据处理能力为选定的每个数据出口赋予权值,权值计算公式如下:
[0103][0104]
(3)选择最佳的数据出口,即具有最佳负载均衡、同时保证传输效率和传输稳定性的存储服务器,首先获取当前时刻下每个数据出口的传输连接数,表示为ci;则选定的多个数据出口的总连接数可表示为最后根据权值wi、连接数ci以及网络总连接数c
sum
计算数据出口i的传输得分,计算公式如下:
[0105][0106]
最后,选择传输得分最高的存储服务器作为提供请求数据的存储服务器。本发明根据数据出口当前的带宽情况以及连接数,对各个数据出口赋予不同权重,以显示当前该数据出口的传输能力及稳定性,能让共享系统获取到当前网络资源的利用情况,进而选择最优数据出口,降低数据共享时延,保证共享的即时性。
[0107]
需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0108]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传
输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0109]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0110]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0111]
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0112]
基于上述发明的设计思想,如图3所示,本发明提出了一种应用上述数据即席共享方法的去中心化数据即席共享系统,包括分布式大数据存储网络、调度管理模块以及用户;
[0113]
分布式大数据存储网络由分布在多个地区的存储服务器组成,用于加密数据的安全存储;
[0114]
调度管理模块用于用户注册管理、用户访问权限管理、数据共享调度管理;当有新用户申请注册时,调度管理模块为其分配私钥,并根据其不同的申请组织为其分配组钥,并向所有系统用户更新组织映射表;当有数据请求用户发起数据共享请求时,调度管理模块对其进行身份验证,并利用调度算法为其寻找最优数据出口,以保证数据共享的即时性与稳定性。
[0115]
用户包括数据所有者、数据请求用户两类,其中数据所有者完成数据的本地加密并上传至分布式大数据存储网络,利用组织映射表完成对数据的访问控制。
[0116]
上述系统通过将数据共享场景拆分为数据存储、调度以及数据加密三部分,分别由不同的模块完成,在提高各模块工作效率的同时,保证了不同用户之间数据共享的安全性与即时性。其中调度管理模块使用带宽和连接数为不同数据出口赋予权重,以选择传输效率高且稳定的最优数据出口,使得数据请求用户能在最短时间内获取请求数据,而不必知道数据具体来源与获取细节,对于用户来说,达到了既高效、安全,又易于操作的目的,适用于企业或机构间的私密数据共享。
[0117]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较
佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献