赵庆 邵慧莹 董会国
摘要:针对智能电网中遭到攻击者精心合成的虚假数据注入攻击后,影响系统状态估计的结果,从而导致控制中心做出错误的决策的问题,本文提出一种基于密码学的虚假数据注入攻击检测方法。该方法应用密码学原理对系统测量值进行加密,并利用云对系统量测值进行存储。有效地对虚假数据注入攻击进行负荷完整性检测,并进行正确性分析。
关键词:完整性检测;智能电网;虚假数据攻击;云存储
中图分类号:TM76 文献标识码:A 文章编号:1007-9416(2019)03-0055-01
0 引言
在智能电网深入推进的形势下,电力系统的数字化、信息化和智能化快速发展[1]。智能变电站、智能电表、实时监测系统等的应用,使数据的规模和种类高速增长[2]。云存储技术是通过集群应用、网络技术或分布式文件系统等功能,将集群内的物理存储资源无缝整合为统一的存储系统,从而可以存储智能电网中的大数据。因此,在智能电网的环境下,分析系统存在的数据漏洞,研究相应的检测与防范方法,具有重要的理论与现实意义。
本文提出了一种基于密码学的负荷完整性攻击检测方法,通过加密技术保护系统量测值,减少量测值冗余,适用于虚假数据注入攻击。通过云存储技术,将采集到的海量系统量测值存储到云端,使负荷完整性攻击检测适用于大规模数据。
1 负荷完整性攻击检测模型设计
负荷完整性攻击(Load Integrity Attack,LIA)检测模型的实体主要分为三个部分:数据采集者;云存储器;数据分析者。LIA检测主要分为如下三个步骤:
(1)数据采集者将智能仪表中采集的量测值存储到云存储器,云端处理并存储量测值。(2)数据分析者可对云存储器中的量测值进行负荷完整性验证。(3)验证通过时,数据分析者可以下载数据并进行系统状态分析;当验证不通过时,则证明云存储器中的数据不正确,可以查找错误数据甚至重新采集。
2 LIA检測算法设计
2.1 LIA检测算法设计思想
首先对采集的数据进行预处理操作,将各种数据结构处理成CIM/XML格式,并对文件进行分块操作。其次数据采集者进行初始化操作,生成公钥和私钥以及每个基本块的标签信息。然后由数据分析者发起验证攻击,验证存储在云存储器中的量测值是否完整。进而云存储器生成验证证据。最后数据分析者进行攻击验证,并依据验证结果决定对云存储器中的数据进行分析操作或者重新采集操作。
2.2 LIA-AD算法描述
2.2.1 预处理
数据采集者将智能仪表中的数据采集后,调用密钥生成算法生成密钥参数,公钥公开,私钥自己保存。首先把各种结构的数据处理成CIM/XML数据文档格式F,并把F划分为n个子块,得到子块。然后把每个子块划分为k个基本块,得到基本块。
2.2.2 初始化
数据采集者在此阶段生成私钥pk=(N,e)和公钥sk=(p,q),用于数据分析者对存储在云存储器中的数据进行验证和解密。并为每个基本块生成标签信息,有:
, (3-1)
且: (3-2)
把子块与子块的标签信息关联到S-Table上。其中为同态哈希函数,是伪随机函数。
最后,信息采集者把文件F和关联表S-Table上传到云存储器中保存,并把S-Table共享给数据分析者。
2.2.3 发起验证攻击
攻击验证的主要目的是由数据分析者对云存储器中存储的数据进行公开验证,从而保证被存储的量测值未被窜改或者删除。验证的过程是数据采集者随机选择存储块中的c块进行验证。
数据分析者随机输入一个系数c(1≤c≤n)发送给云存储器, 云存储器接收c后,查找到对应的c个子块,并根据子块包含的基本块的标签信息计算得到子块的标签信息。生成随机数,并把攻击验证信息chal={r.c}发送给检测者。
2.2.4 生成验证证据
数据分析者为了验证云存储器中的量测值是否被正确存储,向云存储器发起挑战要求验证。云存储器接收到数据分析者的挑战后,生成挑战信息,即攻击验证证据,然后发送给数据分析者进行完整性验证。
攻击验证信息包括公钥pk和验证请求chal。云存储器收到攻击验证信息后,计算:, (3-3)
并计算输出验证证据: (3-4)
2.2.5 攻击验证
数据分析者收到验证证据后,开始进行负荷完整性验证。验证过程如下。
由验证证据R、待检测文件的公钥pk、子块的标签信息以及验证请求chal,计算: (3-5)
数据分析者为待检测文件生成正确的验证信息:
(3-6)
验证由云存储器生成的验证证据R和数据分析者生成的正确的验证信息是否相等。若: (3-7)
返回0代表數据被正确的存储;1代表云数据已被窜改或者删除。
3 LIA-AD算法的正确性分析
本文负荷完整性攻击验证方法主要是针对保护系统量测值进行验证。将系统量测值动态存储到云存储器,防止被攻击者获取、窜改或者删除,数据分析者为了正确的对系统量测值进行状态分析。对于本方法的正确性进行证明如下:
得到等式R′=R,证明本文方法是正确的。若存在不等式,则证明存储在云存储器中的系统量测值被攻击者窜改或者删除。
4 结语
智能电网中虚假数据注入攻击影响系统运行状态,从而使控制中心得到错误的系统运行信息继而做出错误的决策,还会误导系统进入一个不安全的操作状态,导致在部分传输线上负载可能超过承受能力。本文针对此问题采用密码学的检测方法,通过云支持大数据存储,并对算法进行了正确性分析。
参考文献
[1] 彭小圣,邓迪元,程时杰,文劲宇,李朝晖,牛林.面向智能电网应用的电力大数据关键技术[J].中国电机工程学报,2015,35(3):503-511.
[2] 张东霞,苗新,刘丽平,张焰,刘科研.智能电网大数据技术发展研究[J].中国电机工程学报,2015,35(1):2-12.
[3] 唐文左,段磊,王鹏举,颜伟,赵霞,余娟. 基于B样条函数的不良负荷数据改进辨识方法[J].电力系统及其自动化学报,2015,27(8):37-42.
[4] 王以良.智能电网虚假数据攻击检测及防范研究[D].北京:华北电力大学,2014.
Research on the Detection Method of Load Integrity Attack in Smart Grid for Cloud Storage
ZHAO Qing,SHAO Hui-ying,DONG Hui-guo
(Xingtai Polytechnic College,Xingtai Hebei 054035)
Abstract:The false data injection attacks are compounded elaborately by the attackers in smart grid. It can influence the result of system state estimation, then it makes the control center do a series of wrong decisions. So this paper proposes a detection method of false data injection attacks based on cryptography. The method uses the theory of cryptography to encrypt the measured values of system, and stores them in the cloud storage. The method can detect false data injection attacks effectively by load integrity attack, and the correctness of the analysis.
Key words:integrity attack;smart grid;false data attacks;cloud storage