董偉偉, 王 勇, 曹康華, 周 林
(上海電力大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
智能電表是用戶用電信息實(shí)時(shí)采集的有效工具。它通過雙向通信網(wǎng)絡(luò)與數(shù)據(jù)集中器、戶內(nèi)外交互終端等設(shè)備進(jìn)行信息交互[1]。電力生產(chǎn)商依據(jù)此類數(shù)據(jù)及時(shí)調(diào)整生產(chǎn)策略,以實(shí)現(xiàn)真正的供需平衡[2]。智能電表采用DL/T 645協(xié)議進(jìn)行通信,但協(xié)議本身的脆弱性會(huì)對(duì)數(shù)據(jù)采集產(chǎn)生危害[3]。而且原始的數(shù)據(jù)采集方法僅考慮了采集過程的高效性,忽略了電表以明文的形式進(jìn)行數(shù)據(jù)傳輸時(shí)容易遭受攻擊、造成數(shù)據(jù)泄露的風(fēng)險(xiǎn),對(duì)用戶的生活造成很大的困擾。不法人員有可能通過中間人攻擊手段對(duì)通信網(wǎng)絡(luò)進(jìn)行攻擊,獲取控制權(quán)限,并對(duì)計(jì)量數(shù)據(jù)進(jìn)行竊聽、截獲,造成計(jì)量數(shù)據(jù)紊亂和關(guān)鍵參數(shù)錯(cuò)誤,甚至控制繼電器誤動(dòng)作,引發(fā)重大安全事故[3-4]。電表的數(shù)據(jù)經(jīng)過數(shù)據(jù)采集器采集、數(shù)據(jù)聚合器收集后傳輸給數(shù)據(jù)存儲(chǔ)中心,也就是常說的數(shù)據(jù)控制中心(Control Center,CC),就可以對(duì)電表的用電數(shù)據(jù)進(jìn)行統(tǒng)一管理[5-6]。但是,這種電表數(shù)據(jù)采集方式極易遭受中間人攻擊、惡意篡改和數(shù)據(jù)監(jiān)聽,且攻擊者不易被發(fā)現(xiàn)。
為了降低此類風(fēng)險(xiǎn),國(guó)內(nèi)外研究者提出了不同的解決方案。LIN H Y等人[7]通過構(gòu)建可信的第三方平臺(tái)來保護(hù)隱私的用電數(shù)據(jù)。SHA K等人[8]為了應(yīng)對(duì)中間人攻擊的竊聽問題,提出了基于會(huì)話密鑰數(shù)據(jù)加密的通信方案。張明遠(yuǎn)等人[9]針對(duì)電表數(shù)據(jù)的安全問題,從封印、電表安全認(rèn)證、加密等方面提出了應(yīng)對(duì)策略。鄧攀等人[10]針對(duì)智能電表發(fā)送的用電信息存在被偵聽的風(fēng)險(xiǎn),提出了具有同態(tài)性質(zhì)的對(duì)稱加密方法。魏永等人[11]為了確保電網(wǎng)數(shù)據(jù)資源的高效采集,提出了智能終端與GIS/PMS等系統(tǒng)之間有效集成的方法,但未針對(duì)中間人攻擊提出有效的解決方案。
上述方法采用了各種方式保證電表在數(shù)據(jù)采集中的安全,對(duì)電表數(shù)據(jù)保護(hù)具有很好的借鑒意義,但也存在一些共性問題,如無法完美地解決中間人攻擊問題,無法檢測(cè)潛在的攻擊者,無法對(duì)采集過程進(jìn)行實(shí)時(shí)的監(jiān)控,無法對(duì)不安全的通信作出報(bào)警。為了更好地解決電表通信中的不安全問題,保證用電數(shù)據(jù)采集和傳輸?shù)陌踩?本文提出了基于RAHRM(RSA-AES-HASH-RSA-Monitor)的電表數(shù)據(jù)采集方法。數(shù)據(jù)采集中心與電表數(shù)據(jù)中心實(shí)現(xiàn)了RSA-AES-HASH(Rivest Shamir Adleman-Advanced Encryption Standard-HASH)簽名認(rèn)證的方法(在認(rèn)證過程中利用HASH函數(shù)對(duì)信息進(jìn)行摘要)。同時(shí),基于RSA算法對(duì)智能電表傳輸?shù)臄?shù)據(jù)進(jìn)行加密,并對(duì)通信端網(wǎng)關(guān)實(shí)施流量監(jiān)控,當(dāng)?shù)谌桨l(fā)送一些不合法的數(shù)據(jù)報(bào)文時(shí),系統(tǒng)向數(shù)據(jù)管理員發(fā)送報(bào)警信息,管理員接收到信息后可以采取相應(yīng)的安全措施。實(shí)驗(yàn)結(jié)果表明,此防護(hù)方案可以有效地降低數(shù)據(jù)傳輸過程的中間人攻擊、竊聽及其攻擊者不易被發(fā)現(xiàn)的風(fēng)險(xiǎn),以保證通信線路的安全。
本方案中智能電表用電數(shù)據(jù)采集的拓?fù)浣Y(jié)構(gòu)如圖1所示,其中不同的實(shí)體具有不同的功能。
圖1 智能電表用電數(shù)據(jù)采集模型
圖1中,智能電表(Smarter Meter,SM)專門用于計(jì)量用戶的用電量,每間隔一段時(shí)間傳輸一段數(shù)據(jù),當(dāng)有其他電表加入或者電表本身發(fā)生故障時(shí),數(shù)據(jù)將無法上傳。數(shù)據(jù)采集器(Data Acquisition,DA)負(fù)責(zé)采集SM的用電數(shù)據(jù),并對(duì)數(shù)據(jù)處理后傳輸至上一層CC,但DA的安全性能較差,容易遭受第三方攻擊。
CC接收并存儲(chǔ)DA傳輸?shù)臄?shù)據(jù),在電網(wǎng)中負(fù)責(zé)調(diào)度和監(jiān)控,只有其絕對(duì)安全,才能抵御第三方攻擊,但是原始的CC沒有任何安全防護(hù)機(jī)制,存在很大的安全風(fēng)險(xiǎn)。
SM數(shù)據(jù)經(jīng)DA數(shù)據(jù)采集器采集、數(shù)據(jù)聚合器收集后,傳輸?shù)綌?shù)據(jù)存儲(chǔ)中心。
電表通信的安全和穩(wěn)定對(duì)智能電網(wǎng)的穩(wěn)定運(yùn)行具有重要意義。目前,SM數(shù)據(jù)傳輸仍存在以下3個(gè)方面的問題。
(1) SM的數(shù)據(jù)是以明文的形式在通信信道上傳輸,極易遭受中間人攻擊,造成數(shù)據(jù)泄露。
(2) SM數(shù)據(jù)傳輸至CC,在數(shù)據(jù)的傳輸和接收過程中很容易受到第三方的竊聽。
(3) 第三方攻擊網(wǎng)關(guān)時(shí),由于缺乏防護(hù)系統(tǒng),安全措施不夠完善,所以攻擊者無法被管理人員察覺,從而導(dǎo)致系統(tǒng)存在風(fēng)險(xiǎn)。
安全的SM數(shù)據(jù)采集過程可分為3個(gè)部分。
(1) 簽名認(rèn)證 DA向SM發(fā)送認(rèn)證請(qǐng)求,SM與DA進(jìn)行簽名認(rèn)證。
(2) 數(shù)據(jù)加密 簽名認(rèn)證成功后,數(shù)據(jù)中心將采集指令發(fā)送至SM,允許SM開始傳輸數(shù)據(jù),DA將加密后的數(shù)據(jù)傳輸至CC。
(3) 流量監(jiān)控 SM在整個(gè)通信過程中對(duì)所有的通信流量進(jìn)行統(tǒng)一監(jiān)控,當(dāng)?shù)谌桨l(fā)送奇怪?jǐn)?shù)據(jù)時(shí),監(jiān)控系統(tǒng)向管理員報(bào)警,由管理員采取相應(yīng)的應(yīng)對(duì)措施。
采用身份認(rèn)證、電表數(shù)據(jù)加密的方法,可以防止中間人攻擊、監(jiān)聽或篡改數(shù)據(jù)。然而單個(gè)加密算法總是在安全性、密鑰管理、數(shù)據(jù)加解密時(shí)間等方面存在問題。如果采用混合加密體制實(shí)現(xiàn)SM與數(shù)據(jù)采集中心的身份認(rèn)證,在認(rèn)證過程中利用非對(duì)稱加密密鑰體制對(duì)對(duì)稱密鑰體制的密鑰進(jìn)行加密傳送,就可以集合密鑰管理的便利、安全和速度快等優(yōu)點(diǎn)。
非對(duì)稱加密算法的密鑰管理相對(duì)容易,安全性高,但加密速度較慢,不適用于大數(shù)據(jù)的數(shù)據(jù)簽名,因此本文設(shè)計(jì)了RSA-AES-HASH認(rèn)證方案。
RSA-AES-HASH認(rèn)證方案的主要認(rèn)證過程如下。數(shù)據(jù)采集中心利用采集器的授權(quán)號(hào)(唯一的ID)向CC發(fā)送采集命令與認(rèn)證請(qǐng)求(發(fā)送的驗(yàn)證信息經(jīng)過AES密鑰加密,且AES密鑰是經(jīng)過RSA加密后的密鑰),信息經(jīng)過HASH函數(shù)摘要與簽名一起傳到電表數(shù)據(jù)中心。電表數(shù)據(jù)中心收到信息和簽名請(qǐng)求后,通過HASH函數(shù)對(duì)接收到的信息進(jìn)行消息摘要處理,并將生成的消息摘要(解簽后的信息)與數(shù)據(jù)采集中心發(fā)送的消息摘要進(jìn)行比對(duì)。如果數(shù)據(jù)一致,則驗(yàn)證成功,電表數(shù)據(jù)中心將采集命令發(fā)送至SM,電表數(shù)據(jù)將被采集;否則,驗(yàn)證失敗,SM拒絕服務(wù)。RSA-AES-HASH簽名認(rèn)證過程如圖2所示。
圖2 RSAAESHASH簽名認(rèn)證過程示意
SM與數(shù)據(jù)控制中心簽名認(rèn)證成功后,數(shù)據(jù)控制中心向SM發(fā)送采集指令,SM開始傳輸數(shù)據(jù),DA對(duì)采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗和RSA加密,同時(shí)將數(shù)據(jù)上傳到CC。數(shù)據(jù)處理流程如圖3所示。
圖3 SM數(shù)據(jù)處理流程
DA采集到SM用電數(shù)據(jù)后,對(duì)其完整性進(jìn)行判斷:若數(shù)據(jù)完整,則對(duì)數(shù)據(jù)進(jìn)行加密和傳輸;否則,系統(tǒng)自動(dòng)清除這部分不完整的數(shù)據(jù),其目的是保證采集端數(shù)據(jù)的完整性。數(shù)據(jù)處理完成后,采用RSA-1024位算法加密,最后將處理好的數(shù)據(jù)傳輸?shù)紺C,從而保證數(shù)據(jù)的機(jī)密性,進(jìn)而有效地應(yīng)對(duì)中間人攻擊,防止信息被竊取。
數(shù)據(jù)采集過程中會(huì)有第三方攻擊網(wǎng)關(guān),且不易被察覺。針對(duì)此類風(fēng)險(xiǎn),本文提出了流量監(jiān)控的防護(hù)方法。當(dāng)?shù)谌焦糁鞣?wù)器或網(wǎng)關(guān)時(shí),若IP與MAC不對(duì)應(yīng),或該網(wǎng)絡(luò)中不存在該IP地址,亦或第三方發(fā)送一些異常數(shù)據(jù)、報(bào)文時(shí),可以將這些信息打印出來,告知電表數(shù)據(jù)采集員和管理員,以便根據(jù)該報(bào)警信息采取相應(yīng)的對(duì)策。本文采取Python語言編寫程序?qū)崿F(xiàn)異常的抓包和報(bào)警功能,從而解決電表數(shù)據(jù)采集過程中的中間人攻擊問題。具體過程如圖4所示。
圖4 流量監(jiān)控流程
本文設(shè)計(jì)了專用于SM的RAHRM安全數(shù)據(jù)采集方法,為進(jìn)一步保證通信線路安全,將從簽名安全認(rèn)證、數(shù)據(jù)采集防護(hù)、流量監(jiān)控與報(bào)警等3個(gè)方面對(duì)該方案進(jìn)行分析和測(cè)試。
DA與CC實(shí)現(xiàn)RSA-AES簽名認(rèn)證是在SM數(shù)據(jù)傳輸前完成。當(dāng)攻擊者惡意冒充DA或CC時(shí),認(rèn)證不予通過,大大提高了系統(tǒng)的安全性。認(rèn)證結(jié)果如圖5所示。
圖5 簽名認(rèn)證結(jié)果
SM數(shù)據(jù)經(jīng)過RSA加密,以密文形式在通信線路上傳輸,有效保護(hù)了數(shù)據(jù)的機(jī)密性。中間人即使在信道上監(jiān)聽,也無法在短時(shí)間內(nèi)解密、獲取所有信息,無法得到用戶用電數(shù)據(jù)中所有的隱私信息。經(jīng)過加密的SM數(shù)據(jù)如圖6所示。
圖6 經(jīng)過加密的SM數(shù)據(jù)
在實(shí)施流量監(jiān)控時(shí),大多數(shù)企業(yè)采用Wireshark抓包工具,針對(duì)數(shù)據(jù)量很大的數(shù)據(jù)包,需要耗費(fèi)極大的人力,因此采用計(jì)算機(jī)進(jìn)行流量監(jiān)控是很好的解決方案,不僅可以提高工作效率,還可以及時(shí)報(bào)警。當(dāng)系統(tǒng)檢測(cè)到異常時(shí)報(bào)告管理人員,管理人員就可以根據(jù)該報(bào)警信息,采取相應(yīng)的對(duì)策。異常檢測(cè)的流量監(jiān)控與報(bào)警結(jié)果如圖7所示。
圖7 流量監(jiān)控與報(bào)警結(jié)果
當(dāng)IP不存在或IP與MAC地址不匹配時(shí),系統(tǒng)會(huì)報(bào)警顯示“can not find”或“mismatching”,并通知管理人員。
根據(jù)前文所述,本文所提方法的優(yōu)點(diǎn)主要體現(xiàn)在以下3個(gè)方面。
(1) 采用RSA-AES-HASH進(jìn)行簽名認(rèn)證,保證了電表通信雙方身份的合法性,認(rèn)證方式采用雙重防護(hù)套索,保證了系統(tǒng)的安全性。
(2) 認(rèn)證成功后,電表在按照指令傳輸加密數(shù)據(jù)時(shí),完美地防止了第三方的監(jiān)聽。本方案將SM的數(shù)據(jù)變?yōu)槊芪?即使第三方監(jiān)聽到數(shù)據(jù),也不能按照DL/T 645規(guī)約對(duì)該數(shù)據(jù)進(jìn)行解析,防止了信息的外泄,保證了數(shù)據(jù)采集和傳輸過程中的保密性,很好地解決了中間人攻擊中的監(jiān)聽問題。
(3) 本文設(shè)計(jì)的流量監(jiān)控系統(tǒng)對(duì)數(shù)據(jù)包、IP和MAC同時(shí)進(jìn)行危險(xiǎn)檢測(cè)處理,提取出異常信息并報(bào)告,以便于管理員能夠及時(shí)采取防護(hù)措施,有效解決了SM通信中攻擊者不易被發(fā)現(xiàn)的問題。雖然很多公司采取Wireshark抓取異常信息,但是由于信息量巨大,工作人員難免有所疏漏,而本文的方法可以及時(shí)向管理人員報(bào)告異常信息,極大地節(jié)省了管理人員的時(shí)間和精力。
本文針對(duì)智能電表通信過程中存在的通信安全問題,從智能電表安全通信角度出發(fā),提出了基于RAHRM的智能電表數(shù)據(jù)安全采集方案。首先采用RSA-AES-HASH進(jìn)行簽名認(rèn)證,并對(duì)采集的電表數(shù)據(jù)采取RSA加密技術(shù),實(shí)現(xiàn)了對(duì)電表數(shù)據(jù)的無線采集和傳輸,同時(shí)對(duì)網(wǎng)關(guān)進(jìn)行流量監(jiān)控,即時(shí)檢測(cè)異常信息并報(bào)警。這種安全防護(hù)方法保證了采集數(shù)據(jù)的安全性和完整性,避免了中間人攻擊,達(dá)到了防竊聽的目的,同時(shí)解決了數(shù)據(jù)采集中網(wǎng)關(guān)遭受攻擊且不易察覺的問題,保證了通信線路的安全。