董伟伟, 王 勇, 曹康华, 周 林
(上海电力大学 计算机科学与技术学院, 上海 200090)
智能电表是用户用电信息实时采集的有效工具。它通过双向通信网络与数据集中器、户内外交互终端等设备进行信息交互[1]。电力生产商依据此类数据及时调整生产策略,以实现真正的供需平衡[2]。智能电表采用DL/T 645协议进行通信,但协议本身的脆弱性会对数据采集产生危害[3]。而且原始的数据采集方法仅考虑了采集过程的高效性,忽略了电表以明文的形式进行数据传输时容易遭受攻击、造成数据泄露的风险,对用户的生活造成很大的困扰。不法人员有可能通过中间人攻击手段对通信网络进行攻击,获取控制权限,并对计量数据进行窃听、截获,造成计量数据紊乱和关键参数错误,甚至控制继电器误动作,引发重大安全事故[3-4]。电表的数据经过数据采集器采集、数据聚合器收集后传输给数据存储中心,也就是常说的数据控制中心(Control Center,CC),就可以对电表的用电数据进行统一管理[5-6]。但是,这种电表数据采集方式极易遭受中间人攻击、恶意篡改和数据监听,且攻击者不易被发现。
为了降低此类风险,国内外研究者提出了不同的解决方案。LIN H Y等人[7]通过构建可信的第三方平台来保护隐私的用电数据。SHA K等人[8]为了应对中间人攻击的窃听问题,提出了基于会话密钥数据加密的通信方案。张明远等人[9]针对电表数据的安全问题,从封印、电表安全认证、加密等方面提出了应对策略。邓攀等人[10]针对智能电表发送的用电信息存在被侦听的风险,提出了具有同态性质的对称加密方法。魏永等人[11]为了确保电网数据资源的高效采集,提出了智能终端与GIS/PMS等系统之间有效集成的方法,但未针对中间人攻击提出有效的解决方案。
上述方法采用了各种方式保证电表在数据采集中的安全,对电表数据保护具有很好的借鉴意义,但也存在一些共性问题,如无法完美地解决中间人攻击问题,无法检测潜在的攻击者,无法对采集过程进行实时的监控,无法对不安全的通信作出报警。为了更好地解决电表通信中的不安全问题,保证用电数据采集和传输的安全性,本文提出了基于RAHRM(RSA-AES-HASH-RSA-Monitor)的电表数据采集方法。数据采集中心与电表数据中心实现了RSA-AES-HASH(Rivest Shamir Adleman-Advanced Encryption Standard-HASH)签名认证的方法(在认证过程中利用HASH函数对信息进行摘要)。同时,基于RSA算法对智能电表传输的数据进行加密,并对通信端网关实施流量监控,当第三方发送一些不合法的数据报文时,系统向数据管理员发送报警信息,管理员接收到信息后可以采取相应的安全措施。实验结果表明,此防护方案可以有效地降低数据传输过程的中间人攻击、窃听及其攻击者不易被发现的风险,以保证通信线路的安全。
本方案中智能电表用电数据采集的拓扑结构如图1所示,其中不同的实体具有不同的功能。
图1 智能电表用电数据采集模型
图1中,智能电表(Smarter Meter,SM)专门用于计量用户的用电量,每间隔一段时间传输一段数据,当有其他电表加入或者电表本身发生故障时,数据将无法上传。数据采集器(Data Acquisition,DA)负责采集SM的用电数据,并对数据处理后传输至上一层CC,但DA的安全性能较差,容易遭受第三方攻击。
CC接收并存储DA传输的数据,在电网中负责调度和监控,只有其绝对安全,才能抵御第三方攻击,但是原始的CC没有任何安全防护机制,存在很大的安全风险。
SM数据经DA数据采集器采集、数据聚合器收集后,传输到数据存储中心。
电表通信的安全和稳定对智能电网的稳定运行具有重要意义。目前,SM数据传输仍存在以下3个方面的问题。
(1) SM的数据是以明文的形式在通信信道上传输,极易遭受中间人攻击,造成数据泄露。
(2) SM数据传输至CC,在数据的传输和接收过程中很容易受到第三方的窃听。
(3) 第三方攻击网关时,由于缺乏防护系统,安全措施不够完善,所以攻击者无法被管理人员察觉,从而导致系统存在风险。
安全的SM数据采集过程可分为3个部分。
(1) 签名认证 DA向SM发送认证请求,SM与DA进行签名认证。
(2) 数据加密 签名认证成功后,数据中心将采集指令发送至SM,允许SM开始传输数据,DA将加密后的数据传输至CC。
(3) 流量监控 SM在整个通信过程中对所有的通信流量进行统一监控,当第三方发送奇怪数据时,监控系统向管理员报警,由管理员采取相应的应对措施。
采用身份认证、电表数据加密的方法,可以防止中间人攻击、监听或篡改数据。然而单个加密算法总是在安全性、密钥管理、数据加解密时间等方面存在问题。如果采用混合加密体制实现SM与数据采集中心的身份认证,在认证过程中利用非对称加密密钥体制对对称密钥体制的密钥进行加密传送,就可以集合密钥管理的便利、安全和速度快等优点。
非对称加密算法的密钥管理相对容易,安全性高,但加密速度较慢,不适用于大数据的数据签名,因此本文设计了RSA-AES-HASH认证方案。
RSA-AES-HASH认证方案的主要认证过程如下。数据采集中心利用采集器的授权号(唯一的ID)向CC发送采集命令与认证请求(发送的验证信息经过AES密钥加密,且AES密钥是经过RSA加密后的密钥),信息经过HASH函数摘要与签名一起传到电表数据中心。电表数据中心收到信息和签名请求后,通过HASH函数对接收到的信息进行消息摘要处理,并将生成的消息摘要(解签后的信息)与数据采集中心发送的消息摘要进行比对。如果数据一致,则验证成功,电表数据中心将采集命令发送至SM,电表数据将被采集;否则,验证失败,SM拒绝服务。RSA-AES-HASH签名认证过程如图2所示。
图2 RSAAESHASH签名认证过程示意
SM与数据控制中心签名认证成功后,数据控制中心向SM发送采集指令,SM开始传输数据,DA对采集到的数据进行数据清洗和RSA加密,同时将数据上传到CC。数据处理流程如图3所示。
图3 SM数据处理流程
DA采集到SM用电数据后,对其完整性进行判断:若数据完整,则对数据进行加密和传输;否则,系统自动清除这部分不完整的数据,其目的是保证采集端数据的完整性。数据处理完成后,采用RSA-1024位算法加密,最后将处理好的数据传输到CC,从而保证数据的机密性,进而有效地应对中间人攻击,防止信息被窃取。
数据采集过程中会有第三方攻击网关,且不易被察觉。针对此类风险,本文提出了流量监控的防护方法。当第三方攻击主服务器或网关时,若IP与MAC不对应,或该网络中不存在该IP地址,亦或第三方发送一些异常数据、报文时,可以将这些信息打印出来,告知电表数据采集员和管理员,以便根据该报警信息采取相应的对策。本文采取Python语言编写程序实现异常的抓包和报警功能,从而解决电表数据采集过程中的中间人攻击问题。具体过程如图4所示。
图4 流量监控流程
本文设计了专用于SM的RAHRM安全数据采集方法,为进一步保证通信线路安全,将从签名安全认证、数据采集防护、流量监控与报警等3个方面对该方案进行分析和测试。
DA与CC实现RSA-AES签名认证是在SM数据传输前完成。当攻击者恶意冒充DA或CC时,认证不予通过,大大提高了系统的安全性。认证结果如图5所示。
图5 签名认证结果
SM数据经过RSA加密,以密文形式在通信线路上传输,有效保护了数据的机密性。中间人即使在信道上监听,也无法在短时间内解密、获取所有信息,无法得到用户用电数据中所有的隐私信息。经过加密的SM数据如图6所示。
图6 经过加密的SM数据
在实施流量监控时,大多数企业采用Wireshark抓包工具,针对数据量很大的数据包,需要耗费极大的人力,因此采用计算机进行流量监控是很好的解决方案,不仅可以提高工作效率,还可以及时报警。当系统检测到异常时报告管理人员,管理人员就可以根据该报警信息,采取相应的对策。异常检测的流量监控与报警结果如图7所示。
图7 流量监控与报警结果
当IP不存在或IP与MAC地址不匹配时,系统会报警显示“can not find”或“mismatching”,并通知管理人员。
根据前文所述,本文所提方法的优点主要体现在以下3个方面。
(1) 采用RSA-AES-HASH进行签名认证,保证了电表通信双方身份的合法性,认证方式采用双重防护套索,保证了系统的安全性。
(2) 认证成功后,电表在按照指令传输加密数据时,完美地防止了第三方的监听。本方案将SM的数据变为密文,即使第三方监听到数据,也不能按照DL/T 645规约对该数据进行解析,防止了信息的外泄,保证了数据采集和传输过程中的保密性,很好地解决了中间人攻击中的监听问题。
(3) 本文设计的流量监控系统对数据包、IP和MAC同时进行危险检测处理,提取出异常信息并报告,以便于管理员能够及时采取防护措施,有效解决了SM通信中攻击者不易被发现的问题。虽然很多公司采取Wireshark抓取异常信息,但是由于信息量巨大,工作人员难免有所疏漏,而本文的方法可以及时向管理人员报告异常信息,极大地节省了管理人员的时间和精力。
本文针对智能电表通信过程中存在的通信安全问题,从智能电表安全通信角度出发,提出了基于RAHRM的智能电表数据安全采集方案。首先采用RSA-AES-HASH进行签名认证,并对采集的电表数据采取RSA加密技术,实现了对电表数据的无线采集和传输,同时对网关进行流量监控,即时检测异常信息并报警。这种安全防护方法保证了采集数据的安全性和完整性,避免了中间人攻击,达到了防窃听的目的,同时解决了数据采集中网关遭受攻击且不易察觉的问题,保证了通信线路的安全。