文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.12.029
中文引用格式: 李文琴,范会联,文俊浩. 一种抵抗智能电网数据注入攻击的认证密钥机制[J].电子技术应用,2015,41(12):109-112.
英文引用格式: Li Wenqin,Fan Huilian,Wen Junhao. A secure key authentication scheme against false data injection attack in power grid[J].Application of Electronic Technique,2015,41(12):109-112.
0 引言
电力系统的特殊性易遭恶意攻击,故智能电网CPS系统安全需求非常迫切。目前的系统安全措施简单,电网信息易被探测篡改。研究者发明了一系列监控机制和状态估计算法来监测电力系统异常,篡改数据看似不太可行,但有研究指出一种坏数据注入攻击(False Data Injection Attack)[1]在理论和实际上都有可能实现。
目前对智能电网系统常见的攻击是针对传感器的坏数据注入攻击。该攻击结合对电网部分结构的感知及对传感器感知数据的恶意操控,避开状态估计和不良数据检测的感知,生成坏数据,制造虚假状态,导致不当操作,造成损失。本文对此设计了基于电网传感采集网络结构的双层加密模式,下层使用生成树加密,上层使用配对认证与控制中心动态更新检测密钥方式加密,并使用仿真方法评估该加密方式性能,验证其可行性、有效性和正确性,分析其抗攻击的能力。
1 加密方案
针对该攻击,提出一种基于整个网络结构的加密机制在传输层面进行预防和检测。
1.1 安全威胁与限制因素
由于电力信息采集传感器的存储、计算能力等资源有限,非对称加密会造成较大系统开销,故使用国密SM1对称加密算法进行传感器到控制中心数据传输的加密认证。但其固定的共享密钥易被截取,使整个网络的安全性大大降低。
1.2 加密方案考虑
本文仅考虑有限数量的传感设备按由下往上的层次被攻陷的情况。目前有许多针对分布式传感网络的加密方案[2],如多层密钥机制LEAP、q-composite随机性密钥预分配方案等,都不太适应电网系统传感节点分布的可拓展性、持久性等需求,但多层密钥、密钥预分配值得借鉴。电网传感节点采用MODBUS通信协议,极大减小了通信链路开销。有人提出了基于区域数据聚集的遍历网络生成树同态加密算法Paillier[3],开销、安全性均可接受,理论上可行,但缺少检测机制,且无法应对节点被顺藤摸瓜攻陷的情况。
1.3 加密机制
本文鉴于网络结构特性,结合相关研究成果中的配对密钥技术[4]运用于数据聚集中心,基于预分配密钥,提出对控制中心和聚集中心进行同步加密的机制,将电网系统划分为簇间、簇内密钥管理模块,根据计算性能不同,完成对称加密和公钥加密的结合。
2 基于配对划分的认证密钥机制
2.1 簇内加密
簇内密钥借鉴生成树同态加密算法,针对节点数量控制树的高度,增强区域内互联。
2.1.1 流程概述
聚集中心是具有一定计算、管理能力的实体,节点部署阶段预先由簇内拓扑结构生成聚集树,并定时遍历节点更新拓扑结构,根据树形和深度给节点分配编号,进行Hash运算生成密钥发给节点,若单点失效且其异常易被其感知,发送警报给控制中心。
2.1.2 密钥的生成
预部署时根据需求安放传感节点,顾及网络结构连通性,确认拓扑图后,为满足深度最小、内节点孩子最少的要求,采用宽度优先遍历构造生成树。接着遍历确定节点编号并可进行置换运算,结果保存在聚集中心,采用Hash方式生成对称加密长度要求的密钥。
2.1.3 数据聚集过程
根据生成树结构设置,子节点传数据给聚集中心时一定经过其父节点, 即父节点接受子节点信息并合并到数据包,再传给其父节点,直到聚集中心。因同态加密的可行性,父节点不参与子节点数据包的解密即可操作,只有拥有全部密钥的聚集中心通过层层解密才可得到原始采集的数据。
2.1.4 方案性能限制
该方案不适用节点数众多的区域,若遇此情况可考虑划分子区域等方案;若遇到目的性强的黑客,会在物理层攻破一定数量的内节点,获取该领域部署结构,仿照此机制控制节点,进而伪造密钥,致使整个区域被攻破。
2.2 簇间认证方案
本文的认证机制基于各聚集节点簇间边界的功率互补特性,针对电网环境特殊适应性,能增强可靠性,提高识别检测能力,继承了配对密钥(PKE)及随机密钥预分配(RKP)的特性。而该机制对运算和存储的要求不如PKE苛刻,预分配的随机密钥也不随机,却蕴含该簇周围连通簇的连接信息。
图1是簇间认证方案总体流程图,包括分割节点、认证信息配置、认证工作、动态更新节点分割和配置几方面。
2.2.1 电网拓扑图的分割
本文针对电网结构及基于内容的密钥认证特征,采取以重要节点为中心的划分方式。通过计算簇间是否有可感知的支线直接相连,得到一个中心度权重的簇节点排序,根据网络规模、分割平衡、分布完备等需求,结合权重顺序选择权值大的重要节点作为分割子图的中心进行图的划分。
控制中心根据各个配对共享密钥进行簇到控制中心的传输,进行图划分的目的就是找到对共享密钥最有利的配对划分。最终形成的分割应以两个簇为一组相互认证;在一定可靠性考虑下,折衷通信和计算复杂度开销,可在重要节点处加入3个一组呈三角循环认证。本文仅讨论两两配对的情况。图2用IEEE14bus测试数据集简要说明了对网络拓扑的划分结果。
2.2.2 密钥的生成
图分割完毕后,系统进行记录并在要拥有尽可能大数量的直接相连配对簇的目的下假定配对,不强制一对一,网络结构分布不理想时允许一对多。拥有相连支线的簇采用共享的支线功率作为关键计算密钥。具体来说,IEEE118bus测试样例的功率精确度足以分辨上百个不同支线,真实电网中的数据会更加精确,可采纳为密钥运算的决定因子。
在配对的节点1和节点2间,设I1、U1、P1、Q1分别为节点1的电流、电压、有功功率和无功功率,节点2同理,Y=R+jX为节点间支线的阻抗。对于该对节点,有:
通常PMU采集到的数据不包含电流,并且支线阻抗恒定,所以有式(3)、式(4)作为计算节点间认证密钥的依据。
针对时间变换时功率发生变化的情况,可在一定时间间隔内存储一个静态功率值并进行一定来往的双方协商更改,确定下一时段采取的密钥,则密钥在配对范围内就不是静态的,减弱了单点被攻陷后欺骗另外节点的可能。
需要注意,支线两端传感检测到的功率值并非完全匹配,含有检测误差和波动,即在测不准或有误差的情况下,采用配对粒度上的状态估计方法[5]。状态估计量测量与状态变量的关系为:
式中,z=(z1,z2,…,zm)T,(zi∈R,i=1,2,…,m)表示估计状态量测量,一般包括节点电压幅值、节点注入有功功率和无功功率以及支路有功和无功功率;x=(x1,x2,…,xn)T,(xj∈R,j=1,2,…,n)表示系统的状态变量,包括节点电压幅值和相角;e=(e1,e2,…,em)T,(ek∈R,k=1,2,…,m)表示量测差,一般认为ek服从均值为0的高斯分布,且cov(e)=Rh(x)是一个表示系统拓扑结构的非线性函数矩阵。对于一个简单的直流系统模型来说,其传感器量测量只包括支路有功功率和节点注入有功功率,状态变量包括节点电压相角,节点电压幅值均为1p.u。忽略所有的支路阻抗,状态估计可以由下面的线性化模型来代替:
2.2.3 加密解密及认证过程
簇节点采集的信息由密钥保护,在向控制中心传输数据的同时也生成密钥确认信息和其配对进行交换认证,在一次上传中,一对簇信息交由一方确认同伴身份后解密聚集打包,按控制中心分配的密钥进行数据上传,双方轮流承担该角色。图3表示了一对簇节点的密钥交换及认证过程,由节点A主动发起通信和传输数据,可以动态切换。
2.2.4 配对及配置的更新
簇间连接有多套配对方案,控制中心动态控制选择,多样化保证各簇节点认证。为加强监管,控制中心随时获取配对密钥,由状态估计进行阈值下的一致性检测。动态更新的时间阈值关系着攻击者能否成功实施攻击。为加强机制的能动性,更新间隔越小越好,动态更新使密钥具有前向安全性。
2.2.5 存在的问题
该加密方式存在内容的误差造成同步时的密钥冲突问题,为了接近一致性假设,设计寻找特征进行映射的算法有一定的必要性,暂不在本文讨论范围。若簇对都被攻陷了,黑客攻击就聪明地避开动态配对划分的检测,此机制就需要更加深入的探讨。
此加密机制添加了诸道认证关口,但仅是加大了黑客攻击的难度,若黑客有足够耐心和强大计算能力,就不能保证什么系统是无法攻破的。
3 实验验证与分析
为验证该机制的可行性、有效性和正确性及抗攻击能力,使用了模拟监控系统。
3.1 SCADA模拟系统
基于电力系统中监控系统即SCADA系统架构,采用IEEE118节点标准测试样例在计算机集群上模拟了控制中心、物理节点、传感器、控制器几大部件。为了使该模拟系统能够真实反应出电网的物理状态,在物理节点网络底层设置了模型计算中心,借助MATPOWER软件包,采用最优电力路径算法(Optimal Power Flow,OPF[6]),实时更新模拟电网状态使其符合物理规律,且在控制中心建立了状态估计机制,包含控制命令转发、MODBUS协议构建等一系列真实电网系统的网络通信、节点部署的模拟,真实全面地动态反映电力系统状态。故采用此系统验证本文所述加密机制。
3.2 认证机制实现
由于模型只是简单对于118节点进行模拟,节点数少,看不出簇间加密效果,故暂且不表述,且簇间加密是基于已有研究成果进行适应性应用,不再探究其性能。对簇间加密模拟,由于实际由TCP/IP作为底层协议,相关网络参数要作一定调整,且要对理想的传感数据做符合实际情况的误差波动。
下面进行简单实验考察配对节点间的电力需求波动情况下传递的误差阈值。式(8)为需求波动模型,其中,α为电力需求调整百分比系数,Pd则是配对节点其中一个的电力需求功率:
在前面的波动假设下,按照式(3)、式(4)在IEEE14bus测试数据集下进行差值估计,图4展示了在不同电力需求调整百分比系数α下的节点预测的偏离度,在每个系数下使用了100组随机数据估测,得到的偏离程度是一致的。图4说明了电力需求波动越小,误差估计越小,越趋近平稳值。在真实情况下,用电高峰期的误差阈值设置和低峰期的阈值设置可以通过理论计算进行动态更改。
3.3 虚假数据注入攻击情景模拟
生成虚假向量,有目的性地选择受攻击的传感设备,查看怎样规模的设备被攻陷数量、结构可能会瞒过系统的检测机制。
3.4 性能分析
该加密方案的独创性在于减少了密钥动态更新的开销,摆脱了固定算法更新密钥的可追溯性,增强了网络结构认证性,对于虚假数据注入攻击有一定的抵御检测能力。
簇间加密算法的优势在于基于对称加密实现,运算及存储开销小,密钥与内容正相关,有不可估量性,认证有独特性。但缺点在于密钥建立算法的可靠性,对于支线功率数据离散度大、随机波动频繁的特性,需设计合适算法、调整因子,较大网络可能较难做到精确性,这也是以后的工作研究重点。
4 总结
本文针对智能电网传感数据的坏数据注入攻击,制定了以簇为分界线的两层认证机制,簇内认证加密采用生成树分担数据聚集任务的方式,以节点拓扑编号为密钥计算标准,结合同态加密的对称算法进行拓扑遍历聚合数据;簇间的认证加密采用密钥基于内容生成的方式进行对称加密,用配对技术设立认证环节,控制中心动态监测簇对健康度。该机制能够有效防御错误数据注入攻击。
本文所提方案还有许多可改进之处,后续工作可围绕基于内容生成密钥的学习算法展开,制定更稳定可实施的加密算法。
参考文献
[1] Yao Liu,Peng Ning,Michael K.Reiter.False data injection attacks against state estimation in electric powergrids[J].ACM Transactions on Computational Logic,2009,V(N):1-34.
[2] 代航阳.分布式无线传感器网络密钥管理研究[A].2010.
[3] LI F,LUO B,LIU P.Secure information aggregation for smart grids using homomorphic encryption[C].In Smart Grid Communications(SmartGridComm),2010 First IEEE International Conference on.
[4] HUANG,D,MEDHI D.Secure pairwise key establishment in large-scale sensor networks:an area partitioning and multi-group key predistribution approach[J].ACM Transactions on Sensor Networks,2007(8):34.
[5] 于尔铿.电力系统状态估计[M].北京:水利电力出版社.1985.
[6] Dommel, Hermann W,William F.Tinney.Optimal power flow solutions[J].IEEE transactions on power apparatus and systems,1968(10):1866-1876.