面向可再生能源微电网重放攻击的检测、隔离与定位方法

文档序号:30832464发布日期:2022-07-22 22:05阅读:184来源:国知局
面向可再生能源微电网重放攻击的检测、隔离与定位方法

1.本发明涉及微电网系统安全技术领域,尤其涉及一种面向可再生能源微电网重放攻击的检测、隔离与定位方法。


背景技术:

2.目前,人类生产生活所消耗的电能大部分依靠化石燃料的燃烧。一方面此种发电方式具有较低的转化效率;另一方面,大量二氧化碳的排放给全球气候带来不利影响。近来,基于可再生能源的电力生产作为一种清洁环保的发电方式引起广泛的关注。由于可再生能源具有非持续性和不稳定性特点,因此为使传统电力系统与多样化的可再生能源发电完全融合,构建了可再生能源微电网系统。作为一种新兴的电网系统,微电网融合众多先进的科学技术,其中包括通讯技术、自动控制以及边缘计算等。诸多新技术的引入使得针对可再生能源微电网的研究尚处在初级阶段。据此,完整有效的安全防御机制仍较匮乏,一些典型的网络攻击可能会对微电网造成严重的威胁。
3.作为微电网系统的重要组成部分,准确高效的远程状态估计在系统运行和控制过程中扮演着不可或缺的角色。然而,重放攻击者针对基于统计特性检测器具有天然的隐蔽性,从而较容易完成对上述状态估计过程的破坏。目前,已有部分工作对重放攻击的检测进行了研究,现有技术提出了一种周期性的水印方案检测非连续的重放攻击(文献1https://doi.org/10.1016/j.automatica.2019.108698)),该方法是通过在控制输入中添加水印信号,当系统遭受攻击时,闭环系统中的新息(innovation)会超过给定的阈值,从而检测攻击。现有技术还公开了一种网络重放攻击的检测方法(文献2申请号为cn202110873142.9的中国专利申请),按照设定的规则生成标识码,标识码具有唯一性,可以用于对数据报文可靠性的验证。
4.然而当前的重放攻击检测方案多数是基于闭环系统而提出的,缺乏针对开环系统的高效检测方案,例如scada(supervisory control and dataacquisition,数据监控和采集系统)。同时,现有方案通常是以牺牲一定控制性能或带来较高额外传输成本为前提而提出的。此外,现有方法无法保证在不中断系统正常运行的同时,对重放攻击进行检测。


技术实现要素:

5.鉴于现有技术的不足,本技术提供一种面向可再生能源微电网重放攻击的检测、隔离与定位方法,能够对多阶段非连续重放攻击进行检测。同时提供了一种攻击应对方案,防御攻击对微电网系统远程状态估计过程的破坏,以保证微电网系统连续稳定的运行。
6.本发明采用的技术手段如下:
7.一种面向可再生能源微电网重放攻击的检测方法,包括以下步骤:
8.s110、控制中心初始化相关参数,包括依据外部能量收集器的周期输入特性周期性地更新接收加密能量值;
9.s120、依据预先设定的规则,在有限可用加密能量的限制下,周期性地制定加密传
输策略;
10.s130、判断当前数据是否需要加密传输,加密传输则由pmu在预设 label的同时对预处理后的数据包进行paillier加密传输,否则直接传输pmu 预处理数据包;
11.s140、控制中心对接收的数据包进行label检测,并根据检测结果判断当前接收的数据包是否存在攻击。
12.进一步地,s110中,控制中心初始化相关参数,还包括:
13.依据paillier密钥生成函数周期性地获取私钥和公钥,并将联合密钥发送给控制中心,将公钥发送给pmu。
14.进一步地,s120中,所述预先设定的规则满足以下条件:
15.条件1:其中表示第i个传输周期实际加密传输的次数,qi表示在外部输入能量确定时,第i个周期可加密传输的最大次数;
16.条件2:对于时长为p的周期,第i个传输周期加密策略满足如下形式:
[0017][0018]
其中,
‘1’
表示加密,反之为
‘0’

[0019]
向量应当满足其中e1,e2,且
[0020]
进一步地,s130中,由pmu在预设label的同时对预处理后的数据包进行paillier加密传输,包括:
[0021]
s131、pmu对量测数据zk进行基于标准的卡尔曼滤波预处理,得到预处理后的量测数据
[0022]
s132、对预处理后的量测数据的每一维数据进行整数化处理后得到整数向量mk;
[0023]
s133、根据paillier加密传输的公钥,利用paillier加密函数对整数向量mk的每一维数据进行加密,得到加密后的数据表示为ζk;
[0024]
s134、将加密后的数据ζk打包,并在数据包的首位设置label位,对所述label位赋值为pmu当前时钟值ls,得到完整的加密包记为
[0025]
s135、使用hmac算法对所述整数向量mk中的数据进行哈希计算后得到hak;
[0026]
s136、将完整的加密包和hak发送给接收端或控制中心。
[0027]
进一步地,s140中,控制中心对接收的数据包进行label检测,包括:
[0028]
分别对整数向量mk和预处理后的量测数据进行完整性验证,包括计算hak=hmac
sha256
(pk,ζk,k),判断hak与hak是否相等,相等则通过数据完整性验证,反之则丢弃当前接收的数据,其中pk表示公钥,ζk表示加密后的数据,k表示系统当前时刻。
[0029]
进一步地,s140中,根据检测结果判断当前接收的数据包是否存在攻击,包括:
[0030]
对加密包的处理包括:获取加密包的label位ls,判断其与当前本地时钟值lr是否相等,相等则表示不存在重放攻击,否则表示存在重放攻击;
[0031]
对pmu直传预处理数据包括:对通过完整性验证的数据,判断当前是否存在攻击,其中在无标签检测的时刻内,接收端针对攻击的判断与最近一次的标签检测结果保持一致。
[0032]
本发明还公开了一种面向可再生能源微电网重放攻击的隔离方法,包括以下步骤:
[0033]
s210、基于上述任意一项所述的检测方法对可再生能源微电网进行重放攻击检测;
[0034]
s220、对加密包进行处理,包括:
[0035]
s221、确定不存在重放攻击时,根据接收的公钥和私钥,基于解密函数对加密后的数据ζk进行解密并逆整数化处理后得到预处理后的量测数据基于所述预处理后的量测数据进行本地的状态更新,
[0036]
s222、确定存在重放攻击时,丢弃加密后的数据ζk,状态更新采用预测值,具体的状态和误差更新满足:
[0037][0038][0039]
其中a表示微电网系统的状态转移矩阵,γk=0表示无攻击,γk=1则表示有攻击,q表示过程噪声的协方差矩阵,是唯一半正定解,且h和r分别为系统的雅克比矩阵和测量噪声的协方差矩阵;
[0040]
s230、对pmu直传预处理数据进行处理,包括:
[0041]
s231、对通过完整性验证的数据,判断当前是否存在攻击,无攻击则将预处理后的量测数据直接用于本地的状态更新,反之则丢弃,状态更新采用预测值,预测方法与s222保持一致。
[0042]
本发明还公开了一种面向可再生能源微电网重放攻击的定位方法,包括以下步骤:
[0043]
s310、基于权利要求1-6中任意一项所述的检测方法对可再生能源微电网进行重放攻击检测;
[0044]
s320、记第一个检测到攻击存在的时刻为t
start
,最后一个检测到攻击存在的时刻记为t
last
,t
start
距离前一加密点时间间隔为f1,t
last
距离下一个加密点的时间间隔为b1,则可能存在重放攻击的时间区间为(t
start-f1,t
last
+b1),一定存在重放攻击的时间区间为[t
start
,t
last
]。
[0045]
较现有技术相比,本发明具有以下优点:
[0046]
1、本发明利用加密传输技术,在label检测的协助下提出一种针对单向传输过程(开环系统)中网络重放攻击的检测方法,该方法既没有牺牲系统的控制性能,也没有带来额外的传输成本。
[0047]
2、本发明可100%检测面向可再生能源微电网而发起的网络重放攻击。
[0048]
3、本发明可最大限度地定位面向可再生能源微电网而发起的网络重放攻击存在时间区间。
[0049]
4、本发明可在不中断可再生能源微电网正常运行的前提条件下,最大程度减小重放攻击给状态估计过程带来不利影响。
附图说明
[0050]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1为本发明面向可再生能源微电网重放攻击的检测方法流程图。
[0052]
图2为本发明面向可再生能源微电网重放攻击的隔离方法流程图。
[0053]
图3为本发明面向可再生能源微电网重放攻击的定位方法流程图。
[0054]
图4为实施例中面向可再生能源微电网重放攻击实施示意图。
[0055]
图5为实施例中面向可再生能源微电网重放攻击的检测、隔离与定位方法综合执行流程图。
[0056]
图6为实施例中基于label检测对给定重放攻击在整个时间序列的检测范例示意图。
具体实施方式
[0057]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0058]
如图1所示,本发明提供了一种面向可再生能源微电网重放攻击的检测方法,包括以下步骤:
[0059]
s110、控制中心初始化相关参数,包括依据外部能量收集器的周期输入特性,周期性地更新接收加密能量值。进一步地还包括:依据paillier密钥生成函数周期性地获取私钥和公钥,并将联合密钥发送给控制中心,将公钥发送给pmu(phasor measurement unit,向量测量单元)。
[0060]
s120、依据预先设定的规则,在有限可用加密能量的限制下,周期性地制定加密传输策略。其中,预先设定的规则满足以下条件:
[0061]
条件1:其中表示第i个传输周期实际加密传输的次数,qi表示在外部输入能量确定时,第i个周期可加密传输的最大次数;
[0062]
条件2:对于时长为p的周期,第i个传输周期加密策略满足如下形式:
[0063][0064]
其中,
‘1’
表示加密,反之为
‘0’

[0065]
向量应当满足其中e1,e2,且
[0066]
s130、判断当前数据是否需要加密传输,加密传输则由pmu在预设 label的同时对预处理后的数据包进行paillier加密传输,否则直接传输pmu 预处理数据包。具体包括:
[0067]
s131、pmu对量测数据zk进行基于标准的卡尔曼滤波预处理,得到预处理后的量测数据
[0068]
s132、对预处理后的量测数据的每一维数据进行整数化处理后得到整数向量mk;
[0069]
s133、根据paillier加密传输的公钥,利用paillier加密函数对整数向量mk的每一维数据进行加密,得到加密后的数据表示为ζk;
[0070]
s134、将加密后的数据ζk打包,并在数据包的首位设置label位,对所述label位赋值为pmu当前时钟值ls,得到完整的加密包记为
[0071]
s135、使用hmac算法对所述整数向量mk中的数据进行哈希计算后得到hak;
[0072]
s136、将完整的加密包和hak发送给接收端或控制中心。
[0073]
s140、控制中心对接收的数据包进行label检测,并根据检测结果判断当前接收的数据包是否存在攻击。
[0074]
其中,控制中心对接收的数据包进行label检测,包括:
[0075]
s141、分别对整数向量mk和预处理后的量测数据进行完整性验证,包括计算hak=hmac
sha256
(pk,ζk,k),判断hak与hak是否相等,相等则通过数据完整性验证,反之则丢弃当前接收的数据,其中pk表示公钥,ζk表示加密后的数据,k表示系统当前时刻。
[0076]
根据检测结果判断当前接收的数据包是否存在攻击,包括:
[0077]
s142、对加密包的处理包括:获取加密包的label位ls,判断其与当前本地时钟值lr是否相等,相等则表示不存在重放攻击,否则表示存在重放攻击;
[0078]
s143、对pmu直传预处理数据包括:对通过完整性验证的数据,判断当前是否存在攻击,其中在无标签检测的时刻内,接收端针对攻击的判断与最近一次的标签检测结果保持一致。
[0079]
由于现有技术将研究重心集中在攻击可检测性层面,忽略了检测后的处理与应对方案的研究。由此可能致使需连续运行的微电网系统造成不必要的经济损失。此外,攻击者可能会在不同的时间段发起多次攻击行为,致使电力系统始终处于瘫痪状态,甚至给物理设备造成不可逆的损害。因此,迫切需要找到一种可靠的应对多重放攻击破坏下的检测、定位与处理机制,以保证微电网系统连续稳定的运行。基于上述背景,本发明还公开了一种面
向可再生能源微电网重放攻击的隔离方法,如图2所示,包括以下步骤:
[0080]
s210、基于上述任意一项所述的检测方法对可再生能源微电网进行重放攻击检测;
[0081]
s220、对加密包进行处理,包括:
[0082]
s221、确定不存在重放攻击时,根据接收的公钥和私钥,基于解密函数对加密后的数据ζk进行解密并逆整数化处理后得到预处理后的量测数据基于所述预处理后的量测数据进行本地的状态更新,
[0083]
s222、确定存在重放攻击时,丢弃加密后的数据ζk,状态更新采用预测值,具体的状态和误差更新满足:
[0084][0085][0086]
其中a表示微电网系统的状态转移矩阵,γk=0表示无攻击,γk=1则表示有攻击,q表示过程噪声的协方差矩阵,是唯一半正定解,且h和r分别为系统的雅克比矩阵和测量噪声的协方差矩阵;
[0087]
s230、对pmu直传预处理数据进行处理,包括:
[0088]
s231、对通过完整性验证的数据,判断当前是否存在攻击,无攻击则将预处理后的量测数据直接用于本地的状态更新,反之则丢弃,状态更新采用预测值,预测方法与s222保持一致。
[0089]
针对不能准确的定位重放攻击在数据传输过程中存在的时间区间的问题,本发明还公开了一种面向可再生能源微电网重放攻击的定位方法,如图 3所示,包括以下步骤:
[0090]
s310、基于上述任意一项所述的检测方法对可再生能源微电网进行重放攻击检测;
[0091]
s320、记第一个检测到攻击存在的时刻为t
start
,最后一个检测到攻击存在的时刻记为t
last
,t
start
距离前一加密点时间间隔为f1,t
last
距离下一个加密点的时间间隔为b1,则可能存在重放攻击的时间区间为(t
start-f1,t
last
+b1),一定存在重放攻击的时间区间为[t
start
,t
last
]。
[0092]
下面结合附图对本发明的具体实施过程进行详细的说明。
[0093]
如图4所示,本实施例针对的可再生能源微电网系统由两组直流分布式电机组成,为保证微电网电能能够实时输送给上级电网,配备能量收集模块的pmu需实时对微电网系统状态进行精准监控,以便远程控制中心进行有效的控制。本发明提出一种面向可再生能源微电网重放攻击的综合方法,包括检测、隔离和定位等关键步骤,如图5所示,具体实施步骤如下:
[0094]
(1)控制中心初始化相关参数:
[0095]
依据外部能量收集器的周期输入特性,周期性地更新可用加密能量,具体为
[0096][0097]
其中,bi表示第i个周期起始时的可用传输能量,p表示周期长度,hi表示第i个周期内从外部收集的能量,b
max
表示最大能量值,ε、ε

分别表示单次pmu直传和加密所消耗的能量值。进一步地,将能量值转化为任意周期i内的最大加密传输次数为
[0098][0099]
同步地,在每个周期起始时刻利用paillier密钥生成函数快速获取私钥sk=(λ,μ)和公钥pk=(n,g),并将联合密钥发送给控制中心,公钥发送给pmu。
[0100]
(2)依据预先设定的规则,在有限可用加密能量的限制下,周期性地制定加密传输策略:
[0101]
首先要明确最优的加调度策略应当满足如下2个条件:1)其中表示第i个传输周期实际加密传输的次数,qi表示在外部输入能量确定时,第i个周期可加密传输的最大次数。2)对于时长为p的周期,第i个传输周期加密策略满足如下形式:
[0102][0103]
其中,
‘1’
表示加密,反之为
‘0’

[0104]
此外,向量应当满足其中e1,e2,且
[0105]
进一步地,上述最优加密传输策略中条件2)利用组合学中的插空法较容易实现。
[0106]
(3)判断当前数据是否需要加密传输,加密传输则由pmu(phasormeasurementunit,向量测量单元)在预设label的同时对预处理后的数据包进行paillier加密传输,否则直接传输pmu预处理数据包:
[0107]
1)pmu将量测数据进行预处理,即zk进行标准的卡尔曼滤波处理后得到包括:
[0108][0109][0110][0111][0112][0113]
其中,分别表示pmu对系统状态和协方差矩阵的先验和后验估计,kk表示增益矩阵,i表示合适维度的单位矩阵,a,h,q,r分别表示微电网系统的状态转移矩阵、雅克比矩阵、过程噪声和测量噪声的协方差矩阵。进一步地,加密传输则进入2),否则直接执行3);
[0114]
2)对向量的每一维数据进行整数化处理后得到mk,整数化处理过程为:其中表示mk中的第j维数据;
[0115]
pmu接收公钥pk=(n,g),利用paillier加密函数对整数向量mk的每一维数据进行加密,加密后的数据表示为ζk;将加密后的数据ζk打包,并在数据包的首位设置标签位(label),并赋值为pmu当前时钟值ls,将完整的加密包记为
[0116]
3)使用hmac算法对向量mk(未加密使用)中的数据进行哈希计算后得到hak;
[0117]
将(或)和hak发送给接收端或控制中心。
[0118]
(4)控制中心根据label检测结果,判断当前接收的数据包是否存在攻击,存在攻击则执行系统状态及其估计误差的预测,否则进行系统状态及其估计误差的正常更新:
[0119]
1)控制中心对接收数据mk(或)进行完整性验证,计算hak=hmac
sha256
(pk,ζk,k),并判断hak与hak是否相等,相等则通过数据完整性验证,反之则丢弃当前接收的数据,其中k表示系统当前时刻。
[0120]
2)如果接收数据包为加密包,执行label检测。首先获取加密包的标签位ls,判断其与当前本地时钟值lr是否相等,相等则表示不存在重放攻击,接下来根据初始化过程接收的私钥sk=(λ,μ)和公钥pk=(n,g),并借助于解密函数其中l(x)=(x-1)/n,对解密。进一步地,将进行逆整数化后得到原始接下来,将全部解密后得到的向量用于本地的状态更新;反之则表示存在攻击,丢弃加密数据ζk,状态更新采用预测值,具体的状态和误差更新满足:
[0121][0122][0123]
其中a表示微电网系统的状态转移矩阵,γk=0表示无攻击,γk=1则表示有攻击,q表示过程噪声的协方差矩阵,是唯一半正定解,并且和h和r分别为系统的雅克比矩阵和测量噪声的协方差矩阵。
[0124]
2)如果接收数据包为非加密包,对通过完整性验证的数据,判断当前是否存在攻击(判断方法:在无标签检测的时刻内,本地针对攻击的判断与最近一次的标签检测结果保持一致),无攻击则将直接用于本地的状态更新,反之则丢弃,状态更新采用预测值。
[0125]
(5)确定重放攻击存在的时间区间:假设微电网系统遭受起始时刻为t0,时长为tr的重放攻击其中p-qi《tr≤p或tr》2p-q
i-q
i+1
。基于步骤 (4)中的label检测过程,记第一个检测到攻击存在的时刻为t
start
,直至最后一个检测到攻击存在的时刻记为t
last

其中t
start
距离前一加密点时间间隔为f1, t
last
距离下一个加密点的时间间隔为b1。那么,可能存在重放攻击的时间区间为(t
start-f1,t
last
+b1),一定存在重放攻击的时间区间为[t
start
,t
last
]。以此类推,当系统受到多阶段非连续重放攻击破坏时,以上所设计的加密调度策略以及状态更新过程可以准确定位攻击存在的时间区间,并对系统状态更新具有有效的保护。
[0126]
(6)判断当前传输周期是否结束,结束则返回步骤(1),反之则返回步骤(3)。
[0127]
本实施例中为了使得重放攻击的检测与攻击区间定位过程更加直观,如图6所示,给出基于label检测对给定重放攻击在整个时间序列的检测与定位范例。重要的时间节点在图6中均已标注,其中t0表示攻击开始时刻,t0+t
r-1表示攻击结束时刻,p=10,qi=5,q
i+1
=4。由步骤(2)确定的加密策略分别为θi=(0101010101),θ
i+1
=(0100101001)。那么,可能存在重放攻击的时间区间为一定存在重放攻击的时间区间为
[0128]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1