一种基于IPFS的电力数据安全共享方法及装置与流程

文档序号:31126123发布日期:2022-08-13 03:30阅读:194来源:国知局
一种基于IPFS的电力数据安全共享方法及装置与流程
一种基于ipfs的电力数据安全共享方法及装置
技术领域
1.本发明涉及电力数据处理技术领域,尤其涉及一种基于ipfs的电力数据安全共享方法及装置。


背景技术:

2.目前,在电力领域,信息技术的革新加快了电力配置和迁移的网络化进程,同时也为电力系统各层级设备提供了技术基础。对于电力系统各层级设备所采集的电力数据,考虑到电力数据的保密性、隐蔽性等特性,广泛对电力数据进行集中存储,使数据确权集中化。
3.而在电力数据共享中,数据确权集中化要求电力数据共享者对电力数据有绝对的控制权,容易导致电力数据共享双方的权益失衡,难以提高电力数据共享的安全性,制约了电力数据的开放共享。


技术实现要素:

4.为了克服现有技术的缺陷,本发明提供一种基于ipfs的电力数据安全共享方法及装置,能够提高电力数据共享的安全性,有利于促进电力数据的开放共享。
5.为了解决上述技术问题,第一方面,本发明一实施例提供一种基于ipfs的电力数据安全共享方法,包括:
6.初始化基于ipfs的dapp系统,生成所有参与节点的公开参数;其中,所述参与节点为参与终端所在的系统节点,所述参与终端包括认证集群中的认证服务器、共享集群中的数据持有终端和数据访问终端;
7.对于每一所述数据持有终端,根据所述数据持有终端所在的系统节点的公开参数,通过所述认证集群中与所述数据持有终端对应的认证服务器所在的系统节点认证所述数据持有终端,以认证所有所述数据持有终端;
8.对于每一所述数据访问终端,根据所述数据访问终端所在的系统节点的公开参数,通过所述认证集群中与所述数据访问终端对应的认证服务器所在的系统节点认证所述数据访问终端,以认证所有所述数据访问终端;
9.根据所述认证集群收集的数据共享方案,将从所述认证集群中选择的预设数量的认证服务器所在的系统节点作为签名节点,并根据各个所述签名节点对所述数据共享方案中共享数据的签名构造默克尔树;
10.根据所述默克尔树生成默克尔根,采用所述默克尔根加密所述共享数据,得到加密数据,并通过所述认证集群中主认证服务器所在的系统节点根据所述默克尔根生成密令等额,将所述密令等额拆分为密令份额分发给每一所述参与终端,以在各个所述参与终端之间进行电力数据共享。
11.进一步地,所述基于ipfs的电力数据安全共享方法,还包括:
12.响应任一所述数据访问终端对任一所述认证服务器发起的数据访问请求,将当前
所述数据访问终端所在的系统节点作为访问节点,将当前所述认证服务器所在的系统节点作为认证节点;
13.通过所述认证节点对所述数据访问请求进行验证,并在所述数据访问请求通过验证时,从所述数据访问请求中获取访问数据;
14.根据所述访问数据所属的所述数据共享方案,将与所述访问节点关联的参与节点作为关联节点,通过所述认证节点将所述数据访问请求分发给处于所述关联节点的参与终端;
15.根据处于所述认证节点及每一所述关联节点的参与终端上传的密令份额,对所述访问数据进行解密,得到解密数据,并将所述解密数据下发给当前所述数据访问终端。
16.进一步地,在所述通过所述认证集群中主认证服务器所在的系统节点根据所述默克尔根生成密令等额,将所述密令等额拆分为密令份额分发给每一所述参与终端之后,还包括:
17.获取所述参与终端对所述密令份额的校验结果,并在所述校验结果为校验不通过时,对所述认证集群中主认证服务器所在的系统节点进行惩罚。
18.进一步地,所述基于ipfs的电力数据安全共享方法,还包括:
19.当对所述认证集群中主认证服务器所在的系统节点的累计惩罚次数超过预设阈值时,重新从所述认证集群中选择一认证服务器作为新的主认证服务器;
20.通过所述新的主认证服务器所在的系统节点根据所述默克尔根生成新的密令等额,将所述新的密令等额拆分为新的密令份额分发给每一所述参与终端。
21.进一步地,所述对于每一所述数据持有终端,根据所述数据持有终端所在的系统节点的公开参数,通过所述认证集群中与所述数据持有终端对应的认证服务器所在的系统节点认证所述数据持有终端,以认证所有所述数据持有终端,具体包括:
22.在所述数据持有终端认证成功时,通过所述认证集群中与所述数据持有终端对应的认证服务器所在的系统节点向所述数据持有终端下发第一数字指纹和第一数字证书,并将所述第一数字证书上传到ipfs。
23.进一步地,所述对于每一所述数据访问终端,根据所述数据访问终端所在的系统节点的公开参数,通过所述认证集群中与所述数据访问终端对应的认证服务器所在的系统节点认证所述数据访问终端,以认证所有所述数据访问终端,具体包括:
24.在所述数据访问终端认证成功时,通过所述认证集群中与所述数据访问终端对应的认证服务器所在的系统节点向所述数据访问终端下发第二数字指纹和第二数字证书,并将所述第二数字证书上传到ipfs。
25.进一步地,所述采用所述默克尔根加密所述共享数据,得到加密数据,具体为:
26.基于aes加密算法,采用所述默克尔根加密所述共享数据,得到所述加密数据,并将所述加密数据上传到ipfs。
27.进一步地,所述根据所述默克尔根生成密令等额,具体为:
28.基于门限算法,结合所述认证集群设定的密令均权量值和所述默克尔根生成所述密令等额。
29.第二方面,本发明一实施例提供一种基于ipfs的电力数据安全共享装置,包括:
30.dapp系统初始化模块,用于初始化基于ipfs的dapp系统,生成所有参与节点的公
开参数;其中,所述参与节点为参与终端所在的系统节点,所述参与终端包括认证集群中的认证服务器、共享集群中的数据持有终端和数据访问终端;
31.数据持有终端认证模块,用于对于每一所述数据持有终端,根据所述数据持有终端所在的系统节点的公开参数,通过所述认证集群中与所述数据持有终端对应的认证服务器所在的系统节点认证所述数据持有终端,以认证所有所述数据持有终端;
32.数据访问终端认证模块,用于对于每一所述数据访问终端,根据所述数据访问终端所在的系统节点的公开参数,通过所述认证集群中与所述数据访问终端对应的认证服务器所在的系统节点认证所述数据访问终端,以认证所有所述数据访问终端;
33.默克尔树构造模块,用于根据所述认证集群收集的数据共享方案,将从所述认证集群中选择的预设数量的认证服务器所在的系统节点作为签名节点,并根据各个所述签名节点对所述数据共享方案中共享数据的签名构造默克尔树;
34.密令等额分发模块,用于根据所述默克尔树生成默克尔根,采用所述默克尔根加密所述共享数据,得到加密数据,并通过所述认证集群中主认证服务器所在的系统节点根据所述默克尔根生成密令等额,将所述密令等额拆分为密令份额分发给每一所述参与终端,以在各个所述参与终端之间进行电力数据共享。
35.进一步地,所述基于ipfs的电力数据安全共享装置,还包括:
36.数据访问请求响应模块,用于响应任一所述数据访问终端对任一所述认证服务器发起的数据访问请求,将当前所述数据访问终端所在的系统节点作为访问节点,将当前所述认证服务器所在的系统节点作为认证节点;
37.数据访问请求验证模块,用于通过所述认证节点对所述数据访问请求进行验证,并在所述数据访问请求通过验证时,从所述数据访问请求中获取访问数据;
38.数据访问请求分发模块,用于根据所述访问数据所属的所述数据共享方案,将与所述访问节点关联的参与节点作为关联节点,通过所述认证节点将所述数据访问请求分发给处于所述关联节点的参与终端;
39.访问数据解密下发模块,用于根据处于所述认证节点及每一所述关联节点的参与终端上传的密令份额,对所述访问数据进行解密,得到解密数据,并将所述解密数据下发给当前所述数据访问终端。
40.相比于现有技术,本发明的实施例,具有如下有益效果:
41.通过以认证集群和共享集群为基于ipfs的dapp系统的协同参与者,对数据共享方案中的共享数据进行加密得到加密数据,并以共享数据的加密密钥为共享输入源,对根据共享数据的加密密钥所生成的密令等额进行等量划分密令,分割数据权利得到密令份额,使各个参与终端凭借自身的密令份额共同进行电力数据共享,能够分化数据集中控制权,保证数据权利的去中心化,从而提高电力数据共享的安全性,有利于促进电力数据的开放共享。
附图说明
42.图1为本发明第一实施例中的一种基于ipfs的电力数据安全共享方法的流程示意图;
43.图2为本发明第一实施例中的一种基于ipfs的电力数据安全共享方法的另一流程
示意图;
44.图3为本发明第一实施例中示例的一种基于ipfs的电力数据安全共享方法的流程示意图;
45.图4为本发明第二实施例中的一种基于ipfs的电力数据安全共享装置的结构示意图;
46.图5为本发明第二实施例中的一种基于ipfs的电力数据安全共享装置的另一结构示意图。
具体实施方式
47.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.需要说明的是,文中的步骤编号,仅为了方便具体实施例的解释,不作为限定步骤执行先后顺序的作用。本实施例提供的方法可以由相关的终端设备执行,且下文均以基于ipfs的dapp系统内部的处理器作为执行主体为例进行说明。
49.如图1所示,第一实施例提供一种基于ipfs的电力数据安全共享方法,包括步骤s1~s5:
50.s1、初始化基于ipfs的dapp系统,生成所有参与节点的公开参数;其中,参与节点为参与终端所在的系统节点,参与终端包括认证集群中的认证服务器、共享集群中的数据持有终端和数据访问终端;
51.s2、对于每一数据持有终端,根据数据持有终端所在的系统节点的公开参数,通过认证集群中与数据持有终端对应的认证服务器所在的系统节点认证数据持有终端,以认证所有数据持有终端;
52.s3、对于每一数据访问终端,根据数据访问终端所在的系统节点的公开参数,通过认证集群中与数据访问终端对应的认证服务器所在的系统节点认证数据访问终端,以认证所有数据访问终端;
53.s4、根据认证集群收集的数据共享方案,将从认证集群中选择的预设数量的认证服务器所在的系统节点作为签名节点,并根据各个签名节点对数据共享方案中共享数据的签名构造默克尔树;
54.s5、根据默克尔树生成默克尔根,采用默克尔根加密共享数据,得到加密数据,并通过认证集群中主认证服务器所在的系统节点根据默克尔根生成密令等额,将密令等额拆分为密令份额分发给每一参与终端,以在各个参与终端之间进行电力数据共享。
55.可以理解的是,星际文件系统(interplanetary file system,缩写ipfs)是一个旨在创建持久且分布式存储和共享文件的网络传输协议,该技术是一种内容可寻址的对等超媒体分发协议,在ipfs网络中的节点将构成一个分布式文件系统。dapp(去中心化应用程序)是一种在网络上公开运行的软件应用程序。
56.认证集群是由若干个认证服务器组成,认证服务器为具备身份认证、数据共享方案生成及服务转发的对等服务器。共享集群是由若干个数据持有终端和若干个数据访问终
端组成,数据持有终端为接入基于ipfs的dapp系统、持有电力数据的用户终端,数据访问终端为接入基于ipfs的dapp系统、访问电力数据的用户终端,用户终端包括手机、电脑、平板等可与服务器连接的通信设备。
57.本实施例通过以认证集群和共享集群为基于ipfs的dapp系统的协同参与者,对数据共享方案中的共享数据进行加密得到加密数据,并以共享数据的加密密钥为共享输入源,对根据共享数据的加密密钥所生成的密令等额进行等量划分密令,分割数据权利得到密令份额,使各个参与终端凭借自身的密令份额共同进行电力数据共享,能够分化数据集中控制权,保证数据权利的去中心化,从而提高电力数据共享的安全性,有利于促进电力数据的开放共享。
58.如图2所示,在优选的实施例当中,所述基于ipfs的电力数据安全共享方法,还包括步骤s6~s9:
59.s6、响应任一数据访问终端对任一认证服务器发起的数据访问请求,将当前数据访问终端所在的系统节点作为访问节点,将当前认证服务器所在的系统节点作为认证节点;
60.s7、通过认证节点对数据访问请求进行验证,并在数据访问请求通过验证时,从数据访问请求中获取访问数据;
61.s8、根据访问数据所属的数据共享方案,将与访问节点关联的参与节点作为关联节点,通过认证节点将数据访问请求分发给处于关联节点的参与终端;
62.s9、根据处于认证节点及每一关联节点的参与终端上传的密令份额,对访问数据进行解密,得到解密数据,并将解密数据下发给当前数据访问终端。
63.作为示例性地,如图3所示,在步骤s1中,初始化基于ipfs的dapp系统,生成所有参与节点,即认证集群中所有认证服务器所在的系统节点、共享集群中所有数据持有终端所在的系统节点、共享集群中所有数据访问终端所在的系统节点的公开参数。
64.其中,生成所有参与节点的公开参数的具体操作如下:
65.1、基于ipfs的dapp系统的输入参数为pd,参与者i通过其所在的系统节点,根据密码服务套件随机选取两个p阶循环群g1和g2,g是g1,g2的生成元,随机选取ski∈z
p
*作为主秘钥,则参与者i公钥为pki,pki=g
ski

66.2、按照操作1的方式,认证集群中主认证服务器所在的系统节点生成认证集群的公共参数,认证集群的公开参数为{ga,pka},其中ga是认证集群中主认证服务器所在的系统节点为认证集群生成的群生成元,pka是认证集群中主认证服务器所在的系统节点为认证集群生成的公钥;
67.3、按照操作1的方式,认证集群中其余各个认证服务器所在的系统节点生成自身的公开参数,其主要的公开参数有{pki,certi},pki是认证集群中编号为i的认证服务器所在的系统节点的公钥,certi是认证集群中编号为i的认证服务器所在的系统节点的证书;
68.4、分别根据共享集群中每一数据持有终端/数据访问终端,确定认证集群中与其对应的认证服务器,按照操作1的方式,通过该认证服务器所在的系统节点生成密令对《pku,sku》,pku是共享集群中编号为u的数据持有终端/数据访问终端的公钥,是共享集群中编号为u的数据持有终端/数据访问终端所在的系统节点的公开参数,sku为是共享集群中编号为u的数据持有终端/数据访问终端的私钥。
69.在步骤s2中,对于共享集群中每一数据持有终端,确定认证集群中与该数据持有终端对应的认证服务器,根据该数据持有终端所在的系统节点的公开参数,通过该认证服务器所在的系统节点认证数据持有终端,从而在成功认定共享集群中所有数据持有终端时,完成认证所有数据持有终端。
70.在步骤s3中,对于共享集群中每一数据访问终端,确定认证集群中与该数据访问终端对应的认证服务器,根据该数据访问终端所在的系统节点的公开参数,通过该认证服务器所在的系统节点认证数据访问终端,从而在成功认证共享集群中所有数据访问终端时,完成认证所有数据访问终端。
71.其中,认证数据访问终端/数据持有终端的具体操作如下:
72.1、共享集群中编号为u的数据访问终端/数据持有终端的待认证信息为infou,共享集群中编号为u的数据访问终端/数据持有终端对其自身的待认证信息进行签名,并通过其对应的认证服务器所在的系统节点的公钥进行加密,然后集成认证信息集ru,最后通过安全信道发送给其对应的认证服务器所在的系统节点,如式(1)所示:
73.ru《pku,sig(infou|pku),sku,e(infou|pku)》

cas
ꢀꢀ
(1);
74.式(1),e(.)为非对称加密,sig(.)为共享集群中编号为u的数据访问终端/数据持有终端对其自身的待认证信息infou的签名;
75.2、认证服务器所在的系统节点cas收到来自共享集群中编号为u的数据访问终端/数据持有终端的认证信息集ru,首先对其进行解密,然后通过第三方认证共享集群中编号为u的数据访问终端/数据持有终端的待认证信息,若通过第三方认证则为共享集群中编号为u的数据访问终端/数据持有终端生成数字指纹idu,并对共享集群中编号为u的数据访问终端/数据持有终端颁发证书certu,最后以pku为回文索引将certu上传到ipfs上,此时,成功认证共享集群中编号为u的数据访问终端/数据持有终端,并且将pku添加到pd下对应编号为u的数据集合中。
76.在步骤s4中,共享集群中认证成功的数据持有终端/数据访问终端可与认证集群中的认证服务器进行交互上传数据共享方案,使认证集群收集数据共享方案,将收集的数据共享方案上传到ipfs。根据认证集群收集的数据共享方案,将从认证集群中选择的预设数量的认证服务器所在的系统节点作为签名节点,使选择的所有认证服务器所在的系统节点对数据共享方案进行签名,并根据各个签名节点对数据共享方案中共享数据的签名构造默克尔树。
77.其中,认证集群收集的共享数据集为s,记为s=《q,sdata,n,pd,m》,q为数据共享方案的编号;sdata为共享数据;n为参与者的总数,有n=k+j+h,k为数据持有终端的总数,j为数据访问终端的总数,h为认证服务器的总数,数据持有终端包括主站、子站及其他类数据服务站;pd为参与者集合,记为pd={《typei,infoi,parmarsi》|1≤i≤n},i为参与者编号,typei为编号为i的参与者类型,typei为0时为认证集群中认证服务器,typei为1时为数据持有终端,typei为2时为数据访问终端,infoi为编号为i的数据持有终端/数据访问终端的待认证信息,parmarsi为编号为i的参与者的公开参数;m为密令均权量值,且k+j<m<n。
78.当前共享的电力数据,即共享数据为sdata,dapp系统从认证集群中随机选取v个认证服务器,通过这v个认证服务器所在的系统节点,以m为密令门限,作为系统参数,通过这v个认证服务器所在的系统节点对共享数据sdata进行签名而构造出默克尔树。
79.在步骤s5中,当构造出默克尔树后,根据默克尔树生成默克尔根,采用默克尔根加密共享数据,得到加密数据,并通过认证集群中主认证服务器所在的系统节点根据默克尔根生成密令等额,将密令等额拆分为密令份额分发给每一参与终端,使各个参与终端凭借自身的密令份额共同进行电力数据共享。
80.其中,将生成的默克尔根作为加密密钥root,最后用加密密钥root对共享数据sdata进行aes加密,得到加密数据fdata,如式(2)所示:
81.fdata=aes(merkletree(.),{sig
casi
(pk
casi
|sdata)|0≤i≤v},sdata
ꢀꢀ
(2);
82.式(2)中,sig
casi
(pk
casi
|sdata)为认证集群中编号为i的认证服务器所在的系统节点casi对加密数据fdata的签名,且v=n-k-h,merkletree(.)为默克尔树的构造函数。
83.通过认证集群中主认证服务器所在的系统节点,根据m,随机生成m阶多项式,如式(3)所示:
84.f(x)=root+a1x+a
22
x2+...+a
mm
x
m mod p
ꢀꢀ
(3);
85.式(3)中,p为大素数。
86.令式(3)中的x为参与者的编号i,计算出f(x),而(i,f(i))共同构成参与者的密令等额,对于参与者pd集合中的参与者,其密令等额集合ps如式(4)所示:
87.ps={《gi,f(i)》|1≤i≤n}
ꢀꢀ
(4);
88.式(3)中,i为参与者编号,gi为编号为i的参与者的校验系数集合,gi=《g
root
,{g
aj
|1≤j≤m}》。
89.最后通过认证集群中主认证服务器所在的系统节点将各密令份额安全发送给各个参与者,而密令等额是恢复共享的数据的唯一凭证。
90.在步骤s6中,当一数据访问终端对一认证服务器发起数据访问请求时,响应当前数据访问终端对当前认证服务器发起的数据访问请求,将当前数据访问终端所在的系统节点作为访问节点,将当前认证服务器所在的系统节点作为认证节点。
91.例如,对于数据共享方案q,一数据访问终端通过其所在的系统节点vi向一认证服务器所在的系统节点cas发起数据访问请求,如式(5)所示:
92.rq
vi
《sig(sk
vi
|req),req》

cas
ꢀꢀ
(5);
93.式(5)中,req为数据访问请求的请求报文,请求报文包含请求的数据共享方案的编号q,sig(.)为数据访问终端所在的系统节点vi对请求报文的签名。
94.在步骤s7中,通过认证节点对数据访问请求进行验证,并在数据访问请求通过验证时,从数据访问请求中获取访问数据。
95.在步骤s8中,根据访问数据所属的数据共享方案,将与访问节点关联的参与节点作为关联节点,通过认证节点将数据访问请求分发给处于关联节点的参与终端。
96.其中,认证节点cas在收到数据访问请求rq
vi
时,首先验证签名的正确性,根据访问节点vi的pk
vi
,通过ipfs查询其数字证书,验证其数字证书的合法性,若验证不通过则驳回访问节点vi的请求,若验证通过,认证节点cas则从ipfs查询出编号为q的数据共享方案并验证pk
vi
为共享数据集s存证参与者信息的元素,若验证不通过则驳回请求,验证通过则将该数据访问请求进行签名并广播给共享数据集s中的各个参与者。
97.其他参与者验证访问节点vi的身份,私密回执密令份额。各个参与者收到认证节点cas发送的数据访问请求,校验其签名的正确性,通过编号q验证访问节点vi的身份合法
性,并且从ipfs中获取出共享数据集s并验证访问节点vi是否为共享数据集s的子集,如果验证失败则拒绝请求,如果验证成功则通过系统密令恢复协议将所持有的份额做参数写入协议请求中。
98.在步骤s9中,根据处于认证节点及每一关联节点的参与终端上传的密令份额,对访问数据进行解密,得到解密数据,并将解密数据下发给当前数据访问终端。
99.dapp系统协恢复密令份额,解密并回执数据。当前编号为q的数据共享方案中的参与者编号为i,所持有的密令为ri=f(i),对于共享数据集s,i∈s,当密令恢复协议中参与者提交的密令个数ns=m,则系统协议利用拉格朗日差值公式恢复出加密密钥root,如式(6)所示:
[0100][0101]
令式(6)中x=0,可得出root,然后系统协议将ipfs上加密数据取回,校验其签名的完成性,最后通过aes解密出访问数据发送给访问者,此时访问者可收取数据流并数据进行访问。
[0102]
在优选的实施例当中,在所述通过认证集群中主认证服务器所在的系统节点根据默克尔根生成密令等额,将密令等额拆分为密令份额分发给每一参与终端之后,还包括:获取参与终端对密令份额的校验结果,并在校验结果为校验不通过时,对认证集群中主认证服务器所在的系统节点进行惩罚。
[0103]
在本实施例的一优选实施方式中,所述基于ipfs的电力数据安全共享方法,还包括:当对认证集群中主认证服务器所在的系统节点的累计惩罚次数超过预设阈值时,重新从认证集群中选择一认证服务器作为新的主认证服务器;通过新的主认证服务器所在的系统节点根据默克尔根生成新的密令等额,将新的密令等额拆分为新的密令份额分发给每一参与终端。
[0104]
作为示例性地,在将密令等额拆分为密令份额分发给每一参与终端后,参与者校验并存储密令份额。参与者i收到密令份额后,首先校验密令份额的正确性,其校验等式如式(7)所示:
[0105][0106]
若式(7)成立则f(i)为有效密令份额,参与者i将此密令份额作为数据鉴权凭证,并签名回执接受密令份额消息,若认证集群中主认证服务器所在的系统节点收到并校验通过n个接受密令份额消息,则将n个签名对应写入到共享数据集s中,然后上传到ipfs,此时编号为q的数据共享方案生效。
[0107]
若式(7)不成立,则参与者i将回执失败信息,并通过共识协议节点广播到其他参与者,对认证集群中主认证服务器所在的系统节点进行决议惩罚,若认证集群中主认证服务器所在的系统节点的累计惩罚次数超过预设阈值pu,dapp系统协议将重新选取主认证服务器重新生成密令份额。
[0108]
本实施例能够有效保证数据权利的去中心化,从而提高电力数据共享的安全性,有利于促进电力数据的开放共享。
[0109]
在优选的实施例当中,所述对于每一数据持有终端,根据数据持有终端所在的系统节点的公开参数,通过认证集群中与数据持有终端对应的认证服务器所在的系统节点认
证数据持有终端,以认证所有数据持有终端,具体包括:在数据持有终端认证成功时,通过认证集群中与数据持有终端对应的认证服务器所在的系统节点向数据持有终端下发第一数字指纹和第一数字证书,并将第一数字证书上传到ipfs。
[0110]
本实施例通过将第一数字证书上传到ipfs,有利于后续其他参与终端根据第一数字证书验证数据持有终端的身份。
[0111]
在优选的实施例当中,所述对于每一数据访问终端,根据数据访问终端所在的系统节点的公开参数,通过认证集群中与数据访问终端对应的认证服务器所在的系统节点认证数据访问终端,以认证所有数据访问终端,具体包括:在数据访问终端认证成功时,通过认证集群中与数据访问终端对应的认证服务器所在的系统节点向数据访问终端下发第二数字指纹和第二数字证书,并将第二数字证书上传到ipfs。
[0112]
本实施例通过将第二数字证书上传到ipfs,有利于后续其他参与终端根据第二数字证书验证数据访问终端的身份。
[0113]
在优选的实施例当中,所述采用默克尔根加密共享数据,得到加密数据,具体为:基于aes加密算法,采用默克尔根加密共享数据,得到加密数据,并将加密数据上传到ipfs。
[0114]
本实施例通过基于aes加密算法,采用默克尔根加密共享数据,得到加密数据,并将加密数据上传到ipfs,有利于确保电力数据的隐蔽性。
[0115]
在优选的实施例当中,所述根据默克尔根生成密令等额,具体为:基于门限算法,结合认证集群设定的密令均权量值和默克尔根生成密令等额。
[0116]
本实施例通过基于门限算法,结合认证集群设定的密令均权量值和默克尔根生成密令等额,有利于将电力数据的集中控制权分化到各个参与终端。
[0117]
本实施例鉴于去中心化网络技术的优势,结合ipfs高性能、低成本、高安全的存储机制,以数据确权的均衡化为原则展开设计,针对数据共享中信任依赖单向性、数据确权集中化的弊端,引入认证集群作为主要权利均衡机制,在数据共享方案生成时,认证集群通过默克尔树构造生成加密密钥,从集群层面削减了权利的中心化,然后通过加密密钥加密共享数据并上传到ipfs,确保了数据隐蔽性,最后通过为各个参与者生成可存证的密令份额,从参与者角色层面去除数据确权的中心化,这使共享数据的确权不再以数据持有方为中心,数据访问者在访问特定数据共享方案中的共享数据时,只有当各个参与者相互认证通过达成一致协议后,共同向dapp系统提交密令份额才能解密还原出最后的加密密钥,进而解密出共享数据,而各个参与者所持密令份额的均等性使权利均等,任何参与者无法通过非法手段篡改和窃取共享数据,而当前被共享方不再依赖对数据持有方的信任,这种去信任化共享机制保证了参与者之间权利均衡极大保护了被共享方的权益,提高了电力数据共享的安全性。
[0118]
基于与第一实施例相同的发明构思,第二实施例提供如图4所示的一种基于ipfs的电力数据安全共享装置,包括:
[0119]
dapp系统初始化模块21,用于初始化基于ipfs的dapp系统,生成所有参与节点的公开参数;其中,参与节点为参与终端所在的系统节点,参与终端包括认证集群中的认证服务器、共享集群中的数据持有终端和数据访问终端;
[0120]
数据持有终端认证模块22,用于对于每一数据持有终端,根据数据持有终端所在的系统节点的公开参数,通过认证集群中与数据持有终端对应的认证服务器所在的系统节
点认证数据持有终端,以认证所有数据持有终端;
[0121]
数据访问终端认证模块23,用于对于每一数据访问终端,根据数据访问终端所在的系统节点的公开参数,通过认证集群中与数据访问终端对应的认证服务器所在的系统节点认证数据访问终端,以认证所有数据访问终端;
[0122]
默克尔树构造模块24,用于根据认证集群收集的数据共享方案,将从认证集群中选择的预设数量的认证服务器所在的系统节点作为签名节点,并根据各个签名节点对数据共享方案中共享数据的签名构造默克尔树;
[0123]
密令等额分发模块25,用于根据默克尔树生成默克尔根,采用默克尔根加密共享数据,得到加密数据,并通过认证集群中主认证服务器所在的系统节点根据默克尔根生成密令等额,将密令等额拆分为密令份额分发给每一参与终端,以在各个参与终端之间进行电力数据共享。
[0124]
如图5所示,在优选的实施例当中,所述基于ipfs的电力数据安全共享装置,还包括:
[0125]
数据访问请求响应模块26,用于响应任一数据访问终端对任一认证服务器发起的数据访问请求,将当前数据访问终端所在的系统节点作为访问节点,将当前认证服务器所在的系统节点作为认证节点;
[0126]
数据访问请求验证模块27,用于通过认证节点对数据访问请求进行验证,并在数据访问请求通过验证时,从数据访问请求中获取访问数据;
[0127]
数据访问请求分发模块28,用于根据访问数据所属的数据共享方案,将与访问节点关联的参与节点作为关联节点,通过认证节点将数据访问请求分发给处于关联节点的参与终端;
[0128]
访问数据解密下发模块29,用于根据处于认证节点及每一关联节点的参与终端上传的密令份额,对访问数据进行解密,得到解密数据,并将解密数据下发给当前数据访问终端。
[0129]
在优选的实施例当中,密令等额分发模块25,还用于在所述通过认证集群中主认证服务器所在的系统节点根据默克尔根生成密令等额,将密令等额拆分为密令份额分发给每一参与终端之后,获取参与终端对密令份额的校验结果,并在校验结果为校验不通过时,对认证集群中主认证服务器所在的系统节点进行惩罚。
[0130]
在本实施例的一优选实施方式中,密令等额分发模块25,还用于当对认证集群中主认证服务器所在的系统节点的累计惩罚次数超过预设阈值时,重新从认证集群中选择一认证服务器作为新的主认证服务器;通过新的主认证服务器所在的系统节点根据默克尔根生成新的密令等额,将新的密令等额拆分为新的密令份额分发给每一参与终端。
[0131]
在优选的实施例当中,数据持有终端认证模块22,具体用于在数据持有终端认证成功时,通过认证集群中与数据持有终端对应的认证服务器所在的系统节点向数据持有终端下发第一数字指纹和第一数字证书,并将第一数字证书上传到ipfs。
[0132]
在优选的实施例当中,数据访问终端认证模块23,具体用于在数据访问终端认证成功时,通过认证集群中与数据访问终端对应的认证服务器所在的系统节点向数据访问终端下发第二数字指纹和第二数字证书,并将第二数字证书上传到ipfs。
[0133]
在优选的实施例当中,密令等额分发模块25,具体用于基于aes加密算法,采用默
克尔根加密共享数据,得到加密数据,并将加密数据上传到ipfs。
[0134]
在优选的实施例当中,密令等额分发模块25,具体用于基于门限算法,结合认证集群设定的密令均权量值和默克尔根生成密令等额。
[0135]
综上所述,实施本发明的实施例,具有如下有益效果:
[0136]
通过以认证集群和共享集群为基于ipfs的dapp系统的协同参与者,对数据共享方案中的共享数据进行加密得到加密数据,并以共享数据的加密密钥为共享输入源,对根据共享数据的加密密钥所生成的密令等额进行等量划分密令,分割数据权利得到密令份额,使各个参与终端凭借自身的密令份额共同进行电力数据共享,能够分化数据集中控制权,保证数据权利的去中心化,从而提高电力数据共享的安全性,有利于促进电力数据的开放共享。
[0137]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
[0138]
本领域普通技术人员可以理解实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1