本发明涉及数据安全认证,具体涉及基于智能合约的能源数据安全动态认证方法及系统。
背景技术:
1、随着能源工业领域的发展和建设,数据化以及信息化不断渗透能源工业生产的各个环节,能源工业内各类能源生产数据规模不断的快速增长,使得能源工业的生产管理方式不断发生改变,快速准确地获取有效地的能源数据并及时挖掘有效信息的能力已成为了能源工业领域的重要竞争要素。在能源工业内各类能源生产数据规模不断增长的背景下,通常是将各类能源数据在计算机中进行安全存储,在后续对存储到计算机上的能源数据进行调度、部署以及应用,需要通过与智能合约相关的安全认证才能被允许访问,以求提高能源数据的安全性。
2、智能合约指的是一种计算机协议,通常被认为是一种计算机程序,程序一旦被制定和部署,计算机就能够执行合约相关操作,并产生相应的可以被认证的证据,以此来说明执行合约操作的有效性。
3、传统的能源数据安全动态认证的实现方式主要通过太坊虚拟机部署智能合约内容以及执行代码,在用户接口上用户与已制定的合约进行交互,从而达到安全认证的目的。但是,智能合约内的能源数据往往存在较大的安全隐患,容易受到攻击者的攻击,而发生数据篡改以及数据伪造等现象,导致智能合约内的能源数据的安全性较低。
技术实现思路
1、为了解决上述技术问题,本发明的目的在于提供基于智能合约的能源数据安全动态认证方法及系统,所采用的技术方案具体如下:
2、第一方面,本发明实施例提供了基于智能合约的能源数据安全动态认证方法,该方法包括以下步骤:
3、采集多个能源数据并进行数据清洗,按照采集先后顺序组成能源数据序列;
4、根据能源数据序列中各数据点的序号以及数据差异获取能源数据序列中各数据点的近邻能源数据序列及近邻能源变化序列;根据能源数据序列中各数据点与其近邻能源数据序列中数据的差异构建能源数据序列中各数据点的近邻离散化指数;根据各数据点的近邻能源变化序列及近邻离散化指数获取能源数据序列中各数据点的明文信息异变波动指数;根据明文信息异变波动指数获取明文分组聚类簇;根据明文分组聚类簇获取每组初始明文及对应的明文字节矩阵;根据明文字节矩阵中元素之间的关系获取每列字节的横向邻近字节差异指数及每行字节的纵向邻近字节差异指数;根据横向邻近字节差异指数及纵向邻近字节差异指数进行初等变换获取每组初始明文的明文字节变化矩阵;
5、根据每组初始明文的明文字节变化矩阵获取每个明文信息组,利用md5信息摘要算法基于明文信息组提取能源信息的信息摘要,作为智能合约内能源数据安全认证的认证密码,完成能源数据的安全动态认证。
6、优选的,所述根据能源数据序列中各数据点的序号以及数据差异获取能源数据序列中各数据点的近邻能源数据序列及近邻能源变化序列,包括:
7、对能源数据序列内每个数据点从数字1升序开始进行序号的标记,计算能源数据序列内各数据点与其他数据点的序号之间的欧式距离,将所述欧氏距离从小到大排序,选取前n个欧式距离对应的数据点并按照序号升序排列,组成能源数据序列中各数据点的近邻能源数据序列;
8、将能源数据序列中各数据点的近邻能源序列的一阶差分序列作为能源数据序列中各数据点的近邻能源变化序列。
9、优选的,所述根据能源数据序列中各数据点与其近邻能源数据序列中数据的差异构建能源数据序列中各数据点的近邻离散化指数,包括:
10、计算能源数据序列中各数据点与其近邻能源数据序列内各数据点的差值绝对值,将能源数据序列中各数据点与其近邻能源数据序列内所有数据点计算得到的所述差值绝对值的均值,作为能源数据序列中各数据点的近邻离散化指数。
11、优选的,所述根据各数据点的近邻能源变化序列及近邻离散化指数获取能源数据序列中各数据点的明文信息异变波动指数,包括:
12、计算能源数据序列中各数据点的近邻能源数据序列内所有数据的信息熵,将所述信息熵的相反数作为以自然常数为底数的指数函数的指数;计算能源数据序列中各数据点的近邻能源变化序列内所有数据的均值,获取所述均值与数字1的和值;计算所述指数函数的计算结果与所述和值的比值,获取数字1与所述比值的差值;
13、将能源数据序列中各数据点的近邻离散化指数与所述差值的乘积作为能源数据序列中各数据点的明文信息异变波动指数。
14、优选的,所述根据明文信息异变波动指数获取明文分组聚类簇包括:
15、采用聚类算法对能源数据序列中所有数据点的明文信息异变波动指数进行聚类,获取各聚类簇,计算每个聚类簇内所有明文信息异变波动指数的均值,将均值最大的聚类簇作为明文分组聚类簇。
16、优选的,所述根据明文分组聚类簇获取每组初始明文及对应的明文字节矩阵,包括:
17、将明文分组聚类簇内所有明文信息异变波动指数对应的能源数据,按照明文信息异变波动指数升序的顺序组成明文分组序列,将明文分组序列中的能源数据按照数值排列的顺序进行初始分组,将明文分组序列内第(1+64×0)个到第(64+64×0)个的能源数据作为第1组初始明文,将明文分组序列内第(1+64×1)个到第(64+64×1)个的能源数据作为第2组初始明文,将明文分组序列内第(1+64×2)个到第(64+64×2)个的能源数据作为第3组初始明文,以此类推,获取明文分组序列的各组初始明文;
18、对于每组初始明文,将由初始明文内的所有能源数据组成的8×8矩阵作为初始明文的明文矩阵,利用utf-8编码技术对明文矩阵内每个能源数据进行二进制转换,将初始明文矩阵内所有能源数据经过二进制转换后的结果得到矩阵作为每组初始明文的明文字节矩阵。
19、优选的,所述根据明文字节矩阵中元素之间的关系获取每列字节的横向邻近字节差异指数及每行字节的纵向邻近字节差异指数,包括:
20、第j组初始明文的明文字节矩阵的第b列字节的横向邻近字节差异指数的表达式为:
21、
22、式中,q表示第j组初始明文的明文字节矩阵中的列数,n表示第j组初始明文的明文字节矩阵的一列内字节的数目,ed()表示ed编辑距离函数,分别表示第j组初始明文的明文字节矩阵的第b列、第d列字节内第c个字节所代表的字符串,δ()表示一种判断准则,当括号内的值相等时,δ()为0,当括号内的值不相等时,δ()为1;
23、第j组初始明文的明文字节矩阵的第q行字节的纵向邻近字节差异指数的表达式为:
24、
25、式中,f表示第j组初始明文的明文字节矩阵中的行数,g表示第j组初始明文的明文字节矩阵的一行内字节的数目,表示第j组初始明文的明文字节矩阵的第q行、第p行字节内第v个字节所代表的字符串。
26、优选的,所述根据横向邻近字节差异指数及纵向邻近字节差异指数进行初等变换获取每组初始明文的明文字节变化矩阵,包括:
27、对于每组初始明文的明文字节矩阵,统计明文字节矩阵中最小、第二小的横向邻近字节差异指数所在列以及最大的横向邻近字节差异指数所在列,对明文字节矩阵进行初等列变化,将最小、第二小的横向邻近字节差异指数所在列分别作为明文字节矩阵中所述最大的横向邻近字节差异指数所在列的上一列、下一列,将初等列变换后的矩阵记为初等列变换矩阵;
28、统计初等列变换矩阵中最小、第二小的纵向邻近字节差异指数所在行以及最大的纵向邻近字节差异指数所在行,对初等列变换矩阵进行初等行变换,将最小、第二小的纵向邻近字节差异指数所在行分别作为初等列变换矩阵中最大的纵向邻近字节差异指数所在行的上一行、下一行,将初等列变换矩阵进行初等行变换后的矩阵作为每组初始明文的明文字节变化矩阵。
29、优选的,所述根据每组初始明文的明文字节变化矩阵获取每个明文信息组,包括:
30、对于每组初始明文的明文字节变化矩阵,将明文字节变化矩阵内的所有字节按照从左到右、从上到下的顺序组成一个明文信息组。
31、第二方面,本发明实施例还提供了基于智能合约的能源数据安全动态认证系统,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述方法的步骤。
32、本发明至少具有如下有益效果:
33、本发明根据能源数据获取近邻能源数据序列及近邻能源变化序列,根据近邻能源数据序列及近邻能源变化序列获取近邻离散化指数,根据近邻离散化指数获取明文信息异变波动指数,根据明文信息异变波动指数获取明文分组聚类簇,根据明文分组聚类簇获取明文字节矩阵,根据明文字节矩阵获取横向邻近字节差异指数及纵向邻近字节差异指数,根据横向邻近字节差异指数及纵向邻近字节差异指数进行初等变换获取明文字节变化矩阵,根据明文字节变化矩阵获取明文信息组,利用md5信息摘要算法基于明文信息组获取信息摘要,通过信息摘要完成能源数据的安全动态认证;
34、基于明文信息异常波动特征构建明文字节矩阵,通过降低明文字节矩阵行之间、列之间的关联性,降低明文信息组内部相邻的字节之间的联系,使得到信息摘要具备更高的安全性,进而提高能源数据动态认证的安全性。