面向新能源智能电网的多Agent信息过滤网络安全增强方法
2023-04-07赵晓东刘海涛
尹 亮 赵晓东 刘海涛
(国网宁夏电力有限公司 宁夏 银川 750001)
0 引 言
利用新能源逐步取代传统能源进行发电将是今后电力工业发展的趋势,新能源发电具有良好的发展前景和实用价值。新能源产业规模不断扩大,光电、风电等新能源厂站规模呈快速增长态势,装机容量将快速取代水电、火电等传统能源的统治地位。新能源智能电网致力于通过整合数字计算、通信技术、电力传输基础设施,实现电力系统的现代化,凭借能源的双向流动、双向通信、控制能力来提供远超家庭和企业的“智能”电表范畴的功能和应用[1]。
新能源厂站覆盖面积大,广泛使用数字信息和控制技术,各机组之间通过光纤交换机互联,但往往缺乏身份认证、数据加密、访问控制等必要的网络安全防护手段[2]。同时,新能源厂站还存在电流不稳、中心网络未严格落实横向隔离措施、直接或间接与互联网连接等问题。因此,新能源厂站的网络安全成为智能电网发展亟须解决的现实问题[3]。一方面,来自新能源厂站端网络的攻击可能向上渗透,严重威胁整个电网端调度控制系统安全和稳定性;另一方面,新能源厂站网络虽然具备防火墙、加密机、隔离装置等必要的安全防护能力,但其监控系统、控制系统和网络化信息系统也极有可能受到来自网络纵向边界的渗透和攻击,导致难以预料的双向安全后果。目前,智能电网主要通过安全策略制定来缓解网络安全威胁,主要目标是防止外来威胁对电子系统和通信服务系统的损害或信息窃取,同时确保系统在特殊情况下的迅速恢复,以保障其一致性、完整性、可用性[4]。
新能源智能电网基础设施中用于控制发电和输电的部分为监控和数据采集系统(Supervisory Control and Data Acquisition system,SCADA)[5]。SCADA系统接收电网状态的测量值,并计算电网状态的估计值以确定控制策略。然而,新能源厂站智能电网对状态检测异常敏感,其SCADA系统的体系结构容易受到网络和物理攻击,如人为破坏、设备故障或网络攻击导致的错误数据注入等[6]。因此,SCADA系统对电网状态估计往往存在无法识别负荷和稳定性限制、无法识别人为错误、无法确定故障等问题。目前已经出现多起因SCADA系统对电网状态估计错误导致的停电事故,表明新能源智能电网需要改进全系统的监测、报警、系统状态估计程序[7]。
针对新能源智能电网SCADA系统难以准确估计电网状态的问题,本文提出一种基于多Agent过滤的智能电网安全增强方法(Multi-Agent Filtering Method,MAFM),旨在保护系统状态估计过程不受来自故障设备或网络攻击的错误数据注入影响。MAFM假设电网中均匀地分布着多个Agent,每个Agent接受其监控范围内的电网状态测量值。同时,每个Agent接收其相邻Agent 的当前状态,并结合自身所接收到的本地测量值和其邻接Agent的状态值以计算当前本地电网状态的估计值。在计算本地状态估计值时,MAFM采用基于信任机制的过滤方案,以应对邻接Agent可能存在的错误。具体地,MAFM将每个Agent通过一组信任度系数与邻接Agent相关联,在计算本地状态估计值时,将信任度系数作为所接收到的对应邻接Agent状态值的权重参数,从而可以有效过滤低信任度Agent的信息干扰。此外,MAFM同时考虑到Agent信任度的动态变化,通过设计实现Agent信任度更新机制,将Agent的长期行为特征作为量化其信任度的依据。
1 问题定义
利用实时测量电网能量流动状态对电力系统运行状态进行估计,是建立电网可观测部分模型的常见方法。电力系统状态估计的引入有助于系统运营商对电力系统状态的全局掌控,从而提高新能源智能电网应对突发情况的能力。本文提出一种多Agent的分布式估计方法,每个Agent根据自身测量值和其余Agent计算的估计值实现本地网络状态的估计。
线性模型由于其简单性和有效性,成为动态估计电网状态的代表性模型[8-10]。因此,本文将下列随机线性方程作为电网动态性的近似模型。
x(k+1)=A(k)x(k)+w(k)
(1)
式中:k为离散时间;x(k)∈Rn为状态向量;A(k)为当前状态与下一时刻状态之间的矩阵;w(k)∈Rn为状态噪声。本文假设w(k)服从均值为0、协方差矩阵为Q的高斯分布。状态变量通常包括节点电压(电压幅值、电压角)、变压器比率和复杂功率流(有功和无功功率流)[11]。同时,假设初始状态x0服从均值为μ0、协方差矩阵为p0的高斯分布。在该模型中,参数A(k)和Q是通过参数识别过程预先确定的。通常,矩阵A(k)被假定为是慢时变的。为了简单起见,假设A(k)为常数,即对任意的k,A(k)=A。
本文中的Agent特指具有计算和通信能力的智能设备,可以接收电网状态的测量,并且能够计算状态估计,采用相量数据集中器(Phasor Data Concentrator,PDC)实现[12]。具体地,Agent通过一组GPS同步相量测量单元(Phasor Measurement Units,PMU)来收集测量值,PDC能够测量网络总线上的正序电压以及输电线路和变压器中的正序电流,从而提高了状态估计能力。本文采用的电网状态估计设置与文献[13]中提出的两级估计框架类似,其中总线系统被分成不同的子电网区域,进而采用SCADAlike系统在这些划分好的区域内分别计算其对应的子电网状态估计值。最终通过集中合并所有自电网状态,以获得整个电力系统的总体状态估计。与上述方法不同的是,本文不集中计算不同子电网的估计值,而是通过多个Agent以本地协作的方式来获得电网的总体估计值。本文假设Agent(PDC)可以相互通信,并且可与SCADA系统进行通信,从而形成通信网络。具体地,Agenti的邻接Agent采用集合Ni表示。即Ni内任意Agentj可与Agenti通信。此外,本文假设各Agent的线性感知模型如下:
yi(k)=Cix(k)+vi(k)
(2)
式中:yi(k)∈Rpi为Agenti所观测到的子电网状态x(k);vi(k)∈Rpi是系统噪声估计值。本文假设vi(k)服从均值为0、协方差矩阵为Ri的高斯分布。实际的Agent对子网络状态测量值通常包含有电压幅值和角度差、有功和无功功率、电流幅值波动、匝比幅值、变压器相移角,以及有功和无功功率波动。上述模型通常是通过非线性传感模型的线性化得到的,其中矩阵Ci是在某个标称点计算的非线性函数Ci(x)的Hessian矩阵,它将测量值与状态相关联。
问题:本文假设某些Agent可能会出现故障,或者被未经授权的实体的控制,从而导致该Agent在电网上向其他Agent传播虚假数据。这些虚假数据将影响发电和输电控制策略的计算。本文研究的问题是如何基于信任机制,提出一种电网安全保障方法,以限制错误数据注入对电网状态估计的影响。
2 信任模型
信任以各种方式和意义出现。例如,传感器的可信度降低,可以是因为传感器受损导致传输的数据可信度降低;同样,由于干扰而导致的受损链路,能够降低链路可信度。因此,传感器网络的信任度,以及更普遍的由人类和自动化代理(传感器、执行器、计算机)组成的混合网络的复合实体的信任度,往往是由多个度量和参数表示的。
对于信任度的量化有多种方式。在一些信任方案中,连续或离散的数值被用来度量信任度。例如,文献[14]采用[0,1]区间内的一个连续值描述实体对证明的可信度;文献[15]采用[0,1]2内的二元组描述信任度;文献[16]中信任度的度量是[0,1]3内的三元组,三元组中的元素分别表示置信、不置信和不确定性(本文采用[0,1]n表示集合[0,1]的n次笛卡尔积)。
信任也可以解释为概率。文献[17]使用主观概率作为信任度度量,文献[18]使用客观概率。信任度作为不确定性的概念,信息论中的熵也是信任一种自然度量[19]。在极端情况下,信任可以是二元的:信任(权重=1)或不信任(权重=0),因为网络中存在100%的安全性或者评估信任的方法非常粗糙。因此,没有绝对正确或错误的方法来表示信任权重。上述所有信任表示都有适用的环境和要求。
本文假设每个Agenti为其每个邻居Agentj分配一个信任度Ti,j,Ti,j表示从Agentj接收数据的可靠性。给定一个正实数Tmax,Ti,j为[0,Tmax]之间的正实数。在下文中,信任值Ti,j将与多Agent估计算法结合使用,以限制错误数据注入对电网状态估计过程的负面影响。
3 基于多Agent过滤状态估计方法
本节介绍基于多Agent过滤状态估计方法MAFM,旨在提高电网状态估计过程的安全性。该方法主要包含三个部分:首先,提出一个多Agent过滤方案;其次,设计实现基于Agent历史行为轨迹的信任值更新机制;最后,将多Agent过滤方案与信任更新机制相结合,以降低低信任值的Agent对估计过程的影响。
3.1 多Agent过滤算法
传感器网络的一个基本问题是如何构造分布式多Agent算法来估计一个过程的状态。一般来说,一个过程是由网络中一组传感器的观察值来描述的。每个传感器的目标是计算精确的状态估计。分布式过滤(估计)问题在过去几年受到了广泛关注,其主要思想是在本地使用一个标准的卡尔曼滤波器以及一个一致的步骤,以确保本地估计一致[20]。
本文将文献[20]中提出的方法进行改进,提出一种新的多Agent过滤算法,如算法1所示。
算法1多Agent过滤算法
输入: 均值u0,协方差矩阵p0。
2. While 存在新的数据:
3. 计算过滤增益Li;
4. 利用式(3)计算状态估计中间值φi;
5. 利用式(4)计算状态估计值ξi;
为简单起见,本文省略了算法1的时间索引。同时,算法1中步骤3过滤增益Li的计算有几种现有的方法。文献[20]提出了用局部卡尔曼滤波方程计算过滤增益的方法。步骤4中状态估计中间值的计算如下:
步骤5将Agenti将从邻居接收的信息进行线性组合,其计算公式如式(4)所示。
(4)
式中:ωi,j为权重值。步骤5可以看作是信息融合步骤。稍后,将重点分析权重ωi,j的取值,其决定Agenti如何使用从邻居接收的信息。最后,Agenti根据ξi对当前状态估计进行更新,更新公式如下:
因此,即使每个Agent不能观测整个电网状态,通过协作(算法1的第5行),只要电网的全局状态可观测到,Agent就可能对电网的状态有全局视图。
3.2 信任度更新算法
新能源智能电网的运行是个动态的过程,每个Agent的状态也处于动态变化中。例如,某些Agent可能在运行的过程中出现故障,或者被某些未经授权的实体控制,又或者从某些故障设备中读取到了错误的数据。Agent无法保证每个邻接Agent的可靠性,因此Agenti需要对其邻接Agentj的信任度Ti,j实时更新。
本节提出一种Agent信任度更新算法。我们假设新能源智能电网的初始运行期,每个Agent均处于正常运行状态。在这期间,Agenti学习其所有邻接Agentj的行为模式以作为Agentj的正常行为模式。在随后的更新中,若Agentj的行为模式极大地偏离其正常行为模式,则Agenti认为Agentj处于正常状态,从而减小Ti,j以降低非正常Agentj对Agenti状态估计的影响。
ei,j(k)=ej(k)-ei(k)
(6)
我们认为向量ei,j(k)的统计量决定了Agenti邻居的行为模式,可以根据卡方分布确定ei,j(k)的置信区间。对于多元正态分布向量X~N(μ,Σ),其中:μ为均值向量;Σ为协方差矩阵。区间为:
{x|(x-μ)′Σ-1(x-μ)≤X2(α)}
(7)
该区间包含分布概率的(1-α)100%,其中X2(α)为在α处计算的n自由度的卡方分布。通过改变α,我们可以定义不同的置信区间。
信任值更新机制的基本思想在于:每当ei,j(k)在由参数α确定的置信区间之外时,信任值Ti,j减小到0,而每当ei,j(k)在置信区域之内时,信任值Ti,j增大到最大值Tmax。
算法2信任度更新算法
输出:Ti,j。
1. While 存在新的数据:
3. 更新Ti,j:
4. 返回Ti,j。
3.3 状态估计
本节介绍多Agent过滤算法与信任更新机制相结合的状态估计算法。
(9)
Agentj对应的权重ωi,j随着其信任值Ti,j的减小而减小。因此,可靠性较低的Agent对Agenti子电网状态估计几乎没有影响。
具体的状态估计算法如算法3所示。状态估计算法综合上述的多Agent过滤算法和信任度更新算法。一方面,它通过多Agent协作状态估计的方式,扩展了单个Agent对网络的视图范围,使得单个Agent对电网全局状态有一个更准确的视图。另一方面,其根据Agent的行为记录动态更新其信任度,能有效地限制虚假数据注入对状态估计影响,从而增加状态估计的鲁棒性。
算法3状态估计算法
输入:u0,p0,Tmax,δ1,δ2,K。
4. While 存在新的数据:
5. 计算过滤增益Li;
6. 利用式(3)计算状态估计中间值φi;
8. 更新Ti,j:
9. 利用式(9)更新权重值ωi,j;
10. 利用式(4)计算状态估计值ξi;
4 仿真实验
为了验证MAFM的有效性,本文在一个模拟的新能源智能电网上进行了仿真实验。
具体地,智能电网模型基于仿真软件MATLAB 2016a构建,软件运行在安装Windows 10操作系统的计算机之上,其CPU型号为Intel Core i7- 6700,配备16 GB内存和1 TB固态硬盘。基于MATLAB仿真模型构建,本文假设模拟的智能电网拥有三台发电机和九条总线,每条总线上均放置一个PMU,其网络结构如图1所示。
图1 模拟电网结构
在本实验中,采用类似于文献[21]的估计模型。在该模型下,状态向量由在总线上测量的电压形成,即X=(Ui),Ui为总线i上的复合电压,在总线(i,j)相邻的情况下(如图1中(2,7),(3,9),(1,4)),每个PMU的复合测量模型如下:
式中:测量向量Xi(k)=(Ui(k),Ii,j(k))包括总线i上的复合电压Ui(k)和线路(i,j)上的复合电流Ii,j(k);Yi,j是线路(i,j)上的导纳;Vi(k)是测量噪声。如果总线i没有其他相邻总线,则测量模型简化为:
Zi(k)=Xi(k)+Vi(k)
(11)
一般地,我们可以将测量模型表示为:
Zi(k)=HiXi(k)+Vi(k)
(12)
式中:Hi称为测量矩阵。
实值测量模型如下:
yi(k)=Cix(k)+vi(k)
(13)
我们假设新能源智能电网系统运行稳定,并且状态变量的振荡很小,且由高斯白噪声引起。因此,电网的动态性建模如下:
x(k+1)=x(k)+w(k),x(0)=x0
(14)
我们假设每个PMU扮演PDC的角色,因此图1内PMU形成的通信网络如图2所示,其中每个节点代表一个PMU。
图2 PMU网络结构
在接下来的数值模拟中,我们设定系统的运行时间为1 500个时间单位。并且在时间区间[500,1 000]内,Agent8向其邻接Agent发送错误数据。
图3 采用算法1各Agent总线1电压估计
作为对比,我们采用MAFM重复了上述实验,各Agent对总线1的电压估计值如图4所示。可以发现,Agent4、Agent7、Agent9对总线1电压估计值受Agent8错误数据注入影响非常小。这是因为Agent8的邻接Agent调整其对Agent8的信任值,从而拒绝来自Agent8的数据。
图4 采用MAFM各Agent总线1电压估计
图5展示的是Agent4对其邻接Agent5、Agent6、Agent8的权重值变化。可以看出,在时间区间[500,1 000]内,Agent4对Agent8的信任度权重值ω4,9(k)降为0,从而证明了MAFM应对非法数据注入的有效性。
图5 Agent4信任度权重变化
图6 多Agent错误时采用MAFM 各Agent的总线1电压估计
5 结 语
新能源厂站存在终端接入风险、远程运维风险、场站监控中心网络外连、物理安全风险、系统本体安全风险、人员安全管理风险等问题。本文针对新能源智能电网网络安全问题进行研究,提出一种基于多Agent过滤的新能源智能电网安全增强方法MAFM,旨在保护系统状态估计过程不受来自故障设备或网络攻击的错误数据注入的影响。MAFM将多Agent过滤算法与信任度机制相结合,使得信任值较低的Agent对电网状态估计值的影响最低。此外,本文还提出一种信任度更新算法,使得Agent的信任值可以根据其记录的行为进行更新。MAFM结合多Agent过滤算法和信任度更新算法,从而保证其在电网状态估计过程中对虚假数据注入的鲁棒性。