馮瑞玨,曾獻(xiàn)煜,劉飄,楊樹(shù)豐,李軒東
(1.廣州城市理工學(xué)院 電氣工程學(xué)院,廣東 廣州 510800;2.廣東電網(wǎng)有限責(zé)任公司東莞供電局,廣東 東莞 523008)
隨著智能電網(wǎng)的深入推進(jìn),大量智能電力監(jiān)測(cè)裝置(intelligent electronic device,IED)被廣泛接入。智能電網(wǎng)通過(guò)將移動(dòng)互聯(lián)、人工智能等現(xiàn)代通信技術(shù)融入到電力系統(tǒng)各環(huán)節(jié)中,更有效地實(shí)現(xiàn)了電網(wǎng)基礎(chǔ)設(shè)施多維信息數(shù)據(jù)的采集。精確到每個(gè)/每類(lèi)設(shè)備的數(shù)據(jù)有助于電力公司優(yōu)化電網(wǎng)規(guī)劃和運(yùn)行,但此類(lèi)數(shù)據(jù)包含的敏感信息和用戶(hù)隱私數(shù)據(jù)也存在著泄露的風(fēng)險(xiǎn)。在智能電網(wǎng)家域網(wǎng)內(nèi),電力用戶(hù)智能電表與智能家居相連,智能家居提取用戶(hù)大量的個(gè)人隱私信息,缺乏安全保障的智能電表成為黑客獲悉用戶(hù)行為等隱私數(shù)據(jù)的重要“后門(mén)”[1-4]。據(jù)騰訊安全威脅情報(bào)中心發(fā)布的《2020年公有云安全報(bào)告》,物聯(lián)網(wǎng)設(shè)備生成流量而發(fā)起的大型分布式拒絕服務(wù)(distributed denial of service,DDOS)攻擊事件呈上升趨勢(shì),是現(xiàn)今最為流行的安全事件之一,保護(hù)智能電網(wǎng)信息安全成為亟待解決的問(wèn)題。
我國(guó)十分重視數(shù)據(jù)隱私保護(hù)的相關(guān)研究,并通過(guò)了政策法規(guī)等形式進(jìn)行安全保障。2017年6月,《中華人民共和國(guó)網(wǎng)絡(luò)安全法》正式實(shí)施,這一法律的頒布為關(guān)鍵基礎(chǔ)設(shè)施重要數(shù)據(jù)和公民個(gè)人隱私信息的保護(hù)提供了法律保障。同年,國(guó)家互聯(lián)網(wǎng)信息辦公室發(fā)布《數(shù)字中國(guó)建設(shè)發(fā)展報(bào)告》,提出加強(qiáng)信息基礎(chǔ)設(shè)施的網(wǎng)絡(luò)安全防護(hù),同時(shí)嚴(yán)厲打擊侵犯公民個(gè)人隱私等違法犯罪行為。除政策法規(guī)外,也采用技術(shù)防護(hù)措施對(duì)數(shù)據(jù)進(jìn)行安全保護(hù)。文獻(xiàn)[3]針對(duì)非侵入式負(fù)荷監(jiān)測(cè)技術(shù)面臨著用電信息泄露的可能,基于國(guó)際經(jīng)典密碼算法提出了一種混合密碼保護(hù)方案。文獻(xiàn)[5]基于可信計(jì)算中心的遠(yuǎn)程匿名認(rèn)證技術(shù),提出可信智能電表概念,以保護(hù)用戶(hù)的隱私信息不受影響。文獻(xiàn)[6]基于混合密碼算法,提出一種新的身份驗(yàn)證和密鑰協(xié)議方案,以保證信息的安全運(yùn)行。文獻(xiàn)[7]針對(duì)智能電網(wǎng)調(diào)度控制系統(tǒng)中的數(shù)據(jù)加解密算法進(jìn)行了優(yōu)化,以提高數(shù)據(jù)保護(hù)的安全性和時(shí)效性。物聯(lián)網(wǎng)網(wǎng)關(guān)中可信計(jì)算平臺(tái)模塊[8-9]的信息安全保護(hù)算法方案,采用SHA-1算法和高級(jí)加密標(biāo)準(zhǔn)(advanced encryption standard,AES)算法對(duì)網(wǎng)關(guān)操作系統(tǒng)和節(jié)點(diǎn)信息采集進(jìn)行驗(yàn)證加密等一系列操作步驟,應(yīng)用到智能設(shè)備的保護(hù)上,可實(shí)現(xiàn)一套完整的物聯(lián)網(wǎng)網(wǎng)關(guān)可信計(jì)算平臺(tái)模塊。
基于對(duì)智能電網(wǎng)數(shù)據(jù)隱私的保護(hù),本文分析電力數(shù)據(jù)所面臨的用戶(hù)隱私泄露問(wèn)題及信息泄露的途徑,并對(duì)國(guó)際經(jīng)典密碼算法進(jìn)行討論,最后對(duì)AES算法在信息安全防護(hù)領(lǐng)域中的應(yīng)用開(kāi)展研究。將AES算法移植入STM32單片機(jī)中,并利用Visio Studio2017+Qt軟件開(kāi)發(fā)測(cè)試界面對(duì)AES算法進(jìn)行性能測(cè)試,分析AES各加密模式和3種密鑰長(zhǎng)度對(duì)加解密計(jì)算耗時(shí)的情況,為今后相關(guān)問(wèn)題研究提供一種方向與思路。
隨著智能IED的廣泛應(yīng)用,電力用戶(hù)與信息世界更加緊密地聯(lián)系在一起。智能電網(wǎng)能夠在電力用戶(hù)與智能IED信息流之間實(shí)現(xiàn)更好的人機(jī)交互。如智能家電的信息多數(shù)使用“云端存儲(chǔ)”技術(shù),采用智能化和網(wǎng)絡(luò)化的信息交互一體化模式,能實(shí)時(shí)記錄用戶(hù)使用家電時(shí)的運(yùn)行情況,根據(jù)用戶(hù)的使用習(xí)慣,提前制訂相應(yīng)的計(jì)劃[10-11]。國(guó)外的“亞馬遜”語(yǔ)音助手,能將收到的每一條語(yǔ)音指令信息收集起來(lái),更好地提升用戶(hù)體驗(yàn)。但隨著這種“跟蹤式”的信息收集技術(shù)的普及,再加上如今市場(chǎng)上還沒(méi)有行業(yè)標(biāo)準(zhǔn)的管制,各運(yùn)營(yíng)商產(chǎn)品質(zhì)量參差不齊,黑客可利用網(wǎng)關(guān)的漏洞繞過(guò)監(jiān)管就能對(duì)電力用戶(hù)進(jìn)行各種攻擊,如圖1所示。
圖1 用戶(hù)信息面臨的威脅和泄露的途徑Fig.1 Threat of user information and the way of leakage
黑客可能攻擊智能電表來(lái)獲取電力用戶(hù)的個(gè)人隱私信息,主要表現(xiàn)在以下3個(gè)方面:
a)竊聽(tīng)攻擊。黑客利用網(wǎng)絡(luò)技術(shù)對(duì)智能電表實(shí)施大規(guī)模的攻擊,攻破其中的保護(hù)程序,從數(shù)據(jù)庫(kù)中截獲用戶(hù)具體到每日或每時(shí)的各類(lèi)用電數(shù)據(jù)[12],并通過(guò)對(duì)所竊取的數(shù)據(jù)加以分析和整合,推算出用戶(hù)各種家電的具體工作模式,如正在開(kāi)啟狀態(tài)還是待機(jī)模式,從而獲取家中是否有人等信息。
b)篡改攻擊。黑客可能攻入服務(wù)后臺(tái),從大量數(shù)據(jù)中篩選出電表的核心數(shù)據(jù)加以篡改,侵入用戶(hù)相關(guān)智能設(shè)備,配對(duì)接管相關(guān)聯(lián)的設(shè)備,使電視機(jī)自動(dòng)播放頻道、照明燈不受控制地亮滅,帶來(lái)極差的用戶(hù)體驗(yàn)[13]。美國(guó)東北大學(xué)的網(wǎng)絡(luò)安全研究員丹尼斯·吉斯就曾談到類(lèi)似的事件,在芬蘭的2棟公寓內(nèi)曾發(fā)生黑客通過(guò)DDOS攻擊用戶(hù)的中央供暖系統(tǒng),致使公寓整個(gè)周末無(wú)法供暖,對(duì)于芬蘭這種高緯度寒冷天氣的城市,黑客的行為無(wú)疑給用戶(hù)的正常生活造成較大影響
c)偽裝攻擊。黑客在截取得用戶(hù)信息后,以私人信息為媒介,偽裝成合作伙伴對(duì)用戶(hù)進(jìn)行詐騙,損害用戶(hù)的財(cái)產(chǎn)和信譽(yù)[14-15]。
為了防止黑客攻擊,保護(hù)電力數(shù)據(jù)的信息安全,常采用密碼技術(shù),以保證即使數(shù)據(jù)被劫持也不會(huì)泄露有效信息。密碼技術(shù)作為最基本的安全技術(shù),是保護(hù)電力數(shù)據(jù)安全存儲(chǔ)和傳輸?shù)挠行窘?jīng)。數(shù)據(jù)加密的基本過(guò)程就是對(duì)明文進(jìn)行處理,使其成為一段不可讀的密文形式,只有輸入相應(yīng)的密鑰之后才能輸出原明文,通過(guò)這種方式防止數(shù)據(jù)被不法分子竊取、閱讀。應(yīng)用于智能電網(wǎng)的國(guó)際經(jīng)典加密算法有哈希算法、非對(duì)稱(chēng)算法和對(duì)稱(chēng)算法,各算法定義如圖2所示。
圖2 密碼算法的分類(lèi)Fig.2 Classification of cryptographic algorithms
哈希算法即散列函數(shù),是一種單向密碼體制,只有對(duì)電力數(shù)據(jù)進(jìn)行加密的過(guò)程,沒(méi)有解密過(guò)程,可用作對(duì)電力數(shù)據(jù)的完整性校驗(yàn)。
非對(duì)稱(chēng)算法為雙密鑰體制,密鑰分為公鑰和私鑰,只有掌握匹配的一對(duì)公鑰和私鑰才能完成對(duì)數(shù)據(jù)的加解密。若公鑰被截取,沒(méi)有與之匹配的私鑰也不能完成對(duì)數(shù)據(jù)的解密,而且對(duì)密文或密鑰加密的密鑰值和對(duì)密文或密鑰解密的密鑰值是不同的,從而對(duì)信息的安全起到了很好的保障作用。非對(duì)稱(chēng)加密算法有RSA算法、SM2算法。RSA算法是目前最有影響力的非對(duì)稱(chēng)加密算法,被普遍認(rèn)為是最優(yōu)秀的公鑰方案之一。RSA算法是第一個(gè)能同時(shí)用于加密和數(shù)字簽名的算法,能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。SM2算法是我國(guó)具有自主知識(shí)產(chǎn)權(quán)的國(guó)產(chǎn)密碼算法之一,在我國(guó)商用密碼體系中用來(lái)替換RSA算法。RSA算法與SM2算法都具有很高的安全性,但其加密原理及構(gòu)造復(fù)雜,因此加解密速度較慢,僅適用較少的數(shù)據(jù)流,可用于需要進(jìn)行密鑰管理和ID認(rèn)證的應(yīng)用場(chǎng)合。
對(duì)稱(chēng)加密算法又稱(chēng)為共享密鑰加密,其加解密效率高,并且使用長(zhǎng)密鑰時(shí)難以被破解,因此在智能電網(wǎng)中常用于加密敏感大數(shù)據(jù)。對(duì)稱(chēng)加密算法共享密鑰,因此密鑰的保管是數(shù)據(jù)安全的關(guān)鍵。若能解決密鑰管理上的安全問(wèn)題,對(duì)稱(chēng)加密算法便能成為智能電網(wǎng)數(shù)據(jù)保護(hù)的“貼身保鏢”。智能電網(wǎng)中包含海量的數(shù)據(jù),需要較快的處理速度,綜合考慮信息安全和加解密效率,對(duì)稱(chēng)加密算法是較優(yōu)的選擇。對(duì)稱(chēng)加密算法有SM4算法、AES算法,SM4算法是我國(guó)采用的一種分組密碼標(biāo)準(zhǔn),AES算法是美國(guó)技術(shù)機(jī)構(gòu)的電子數(shù)據(jù)加密標(biāo)準(zhǔn)。為了適應(yīng)不同的需求和不同的情況,AES算法提供5種不同的工作模式,分別是電碼本(electronic code book,ECB)模式、密碼分組鏈接(cipher block chaining,CBC)模式、計(jì)算器(counter,CTR)模式、密碼反饋(cipher feed back,CFB)模式和輸出反饋(output feed back,OFB)模式。AES算法已成為電力行業(yè)中最流行的算法,基于對(duì)數(shù)據(jù)保密性和效率的要求,本文選擇對(duì)稱(chēng)加密的AES算法進(jìn)行分析與應(yīng)用。
采用密碼算法對(duì)數(shù)據(jù)進(jìn)行加密是一種主動(dòng)的安全防護(hù)策略,智能電網(wǎng)常使用AES算法對(duì)敏感數(shù)據(jù)進(jìn)行保護(hù)。AES算法具有高效且安全性能較好等特點(diǎn),能夠抵御各種侵入式攻擊,如差分攻擊和線性攻擊等[16]。AES算法在數(shù)據(jù)保護(hù)方面既阻斷了不法分子企圖利用智能IED在使用過(guò)程中存在的漏洞進(jìn)行程序攻擊,又確保用電數(shù)據(jù)在傳輸和調(diào)用過(guò)程中的安全性,為數(shù)據(jù)保護(hù)提供一層強(qiáng)有力的屏障[17-18]。
AES算法的密鑰支持3種長(zhǎng)度——AES-128、AES-192、AES-256,密鑰長(zhǎng)度越長(zhǎng),加密輪數(shù)越多。隨著加密輪數(shù)增加,加密過(guò)程更復(fù)雜,破解難度也更高,較長(zhǎng)的密鑰長(zhǎng)度可保證算法的安全性[19-20]。AES算法的處理單元是分組,分組的128 bit數(shù)據(jù)(16字節(jié))會(huì)按照順序賦值到4×4的狀態(tài)矩陣(state)中,所有變換都是基于狀態(tài)矩陣完成的。AES變換是通過(guò)多輪迭代的輪變換實(shí)現(xiàn)的,迭代次數(shù)與密鑰長(zhǎng)度有關(guān)。以AES-128為例,輪變換包括4步變換:字節(jié)替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和輪密鑰加(AddRoundKey)。加解密中每輪的密鑰分別由種子密鑰經(jīng)過(guò)密鑰擴(kuò)展算法得到。通過(guò)非線性變換、混合函數(shù)變換,將字節(jié)替代運(yùn)算產(chǎn)生的非線性擴(kuò)散,達(dá)到重復(fù)混合,使得加密完成后的分組擴(kuò)散更均勻。輪密鑰擴(kuò)展將原始密碼擴(kuò)展成11組,每輪迭代使用不同的密鑰。
為了適應(yīng)不同的需求和不同的情況,AES算法提供了ECB、CBC、CTR、CFB、OFB 5種加密模式[21],各模式性能分析如圖3所示。CBC模式的安全性高于ECB模式,但在分組加密的過(guò)程中會(huì)發(fā)生誤差傳送。OFB模式和CFB模式加密速度快,安全性高,兩者均會(huì)發(fā)生誤差傳送,1個(gè)明文單元損壞會(huì)影響多個(gè)單元。CTR模式加密是沒(méi)有誤差的,解密可能存在誤差。因?yàn)槊芪男枰?jīng)過(guò)網(wǎng)絡(luò)傳輸傳送到接收方,黑客攻擊或網(wǎng)絡(luò)傳輸問(wèn)題的存在會(huì)造成密文數(shù)據(jù)失真。在這種情況下,根據(jù)CTR模式的特點(diǎn),解密結(jié)果只會(huì)在有失真數(shù)據(jù)的分組存在誤差,對(duì)于沒(méi)有失真數(shù)據(jù)的分組,解密結(jié)果與明文一致,即密文的某一處數(shù)據(jù)失真不會(huì)影響到整個(gè)密文的解密結(jié)果[22]。
智能電網(wǎng)數(shù)據(jù)相對(duì)于信息領(lǐng)域的其他普通數(shù)據(jù)而言,對(duì)實(shí)時(shí)性有一定要求,尤其是IED普遍采用嵌入式設(shè)備,其運(yùn)算能力和存儲(chǔ)能力遠(yuǎn)低于信息領(lǐng)域的服務(wù)器,如何在有限的條件下實(shí)現(xiàn)高效的數(shù)據(jù)加密是關(guān)鍵問(wèn)題之一。AES算法對(duì)用電數(shù)據(jù)加解密需要消耗一定的計(jì)算時(shí)間,且AES算法涉及5種工作模式和3種密鑰長(zhǎng)度,因此必須優(yōu)選出一種最佳的運(yùn)行模式。本文以經(jīng)濟(jì)有效的STM32單片機(jī)為載體運(yùn)行AES算法進(jìn)行測(cè)試分析[23],試驗(yàn)平臺(tái)如圖4所示。
圖4 試驗(yàn)平臺(tái)Fig.4 Test platform
試驗(yàn)平臺(tái)由PC上位機(jī)和下位機(jī)單片機(jī)硬件平臺(tái)組成。
a)PC上位機(jī)界面利用Visual Studio 2017+Qt5工具開(kāi)發(fā),其功能為通過(guò)串口發(fā)送命令到下位機(jī)以接收從單片機(jī)反饋回的信息,發(fā)送的命令包括AES算法模式、密鑰長(zhǎng)度和智能電網(wǎng)數(shù)據(jù),接收的信息則是在設(shè)定條件下各種算法模式在單片機(jī)運(yùn)行中所需測(cè)試性能。
b)下位機(jī)單片機(jī)平臺(tái)采用STM32H743IIT6型號(hào)ARM芯片搭建,該芯片為高性能的32位ARM Cortex-M7MCU,工作頻率可達(dá)480 MHz。從OpenSSL函數(shù)庫(kù)中單獨(dú)抽取AES算法并移植到單片機(jī)中,下位機(jī)根據(jù)上位機(jī)發(fā)送的指令運(yùn)行加解密算法,并通過(guò)串口與上位機(jī)軟件進(jìn)行通信。
圖5為自行開(kāi)發(fā)的AES算法測(cè)試界面圖,從圖中可直接讀出明文、密文、加解密耗時(shí)、AES算法的模式選擇等信息,并設(shè)置加密和解密2種方式來(lái)驗(yàn)證測(cè)試的準(zhǔn)確性。
圖5 AES算法測(cè)試界面Fig.5 AES algorithm test interface
AES算法采用分組密碼體制,每個(gè)加密塊大小為128 bit,允許的密鑰長(zhǎng)度為128 bit、192 bit和256 bit。為探究密鑰長(zhǎng)度對(duì)耗時(shí)的影響,本測(cè)試選取AES算法的CTR模式測(cè)試在128 bit、192 bit、256 bit密鑰長(zhǎng)度下的加解密耗時(shí)趨勢(shì),如圖6所示。
圖6 密鑰長(zhǎng)度對(duì)AES-CTR模式加解密耗時(shí)的影響Fig.6 Influence of key length on encryption and decryption time in AES-CTR mode
由圖6可知:128 bit、192 bit、256 bit密鑰長(zhǎng)度下,加解密耗時(shí)均隨明文長(zhǎng)度的增加而增加,呈線性關(guān)系;在同一明文長(zhǎng)度下,隨著密鑰長(zhǎng)度增加,即加解密安全性提升,加解密效率明顯降低。
經(jīng)測(cè)試,AES算法其他模式的加解密時(shí)間與CTR模式表現(xiàn)一致,與明文長(zhǎng)度呈線性關(guān)系,各模式的加解密時(shí)間在同一密鑰長(zhǎng)度下的時(shí)間差分析見(jiàn)表1。由表1可得,CTR模式的加解密時(shí)間幾乎一致,而CBC模式與OFB模式加密和解密耗時(shí)差值波動(dòng)較大。
表1 加密和解密耗時(shí)差值分析Tab.1 Encryption and decryption time difference analysis
圖7為192 bit密鑰長(zhǎng)度下,AES算法不同加密模式的加密耗時(shí)趨勢(shì)。在密鑰長(zhǎng)度一定的情況下,各模式加密耗時(shí)隨著數(shù)據(jù)量的增加而增加,加密時(shí)間均呈完全線性增長(zhǎng),其中:ECB、CBC、CFB和OFB這4種模式加密耗時(shí)相近,均值絕對(duì)值相差小于0.1 ms;CTR模式較前4種模式加密耗時(shí)較長(zhǎng),在明文長(zhǎng)度36 000 bit時(shí)差值約為0.87 ms。CTR模式的加密原理是將明文分為N個(gè)模塊,在N個(gè)時(shí)鐘脈沖下將N個(gè)計(jì)數(shù)器轉(zhuǎn)化為N條密鑰流,在一定條件下將N個(gè)明文模塊和N條密鑰流整合為N個(gè)密文模塊,能完成一次一密。CTR在處理數(shù)據(jù)傳輸?shù)倪^(guò)程中能將誤差降到最低,保證數(shù)據(jù)傳輸?shù)陌踩?。CTR模式在40 000 bit明文長(zhǎng)度下較前4種模式計(jì)算耗時(shí)高出約1 ms,可近似看作當(dāng)數(shù)據(jù)量較少時(shí),AES算法的5種加密模式計(jì)算耗時(shí)相等。因此,可認(rèn)為CTR模式的均衡性較好。
圖7 192 bit密鑰長(zhǎng)度下AES算法各加密模式的加密耗時(shí)趨勢(shì)Fig.7 Time consuming trend of AES encryption modes with 192 bit key length
智能電網(wǎng)實(shí)現(xiàn)了信息流和電力流的雙向融合,但隨著智能電網(wǎng)不斷提升的開(kāi)放性,電力數(shù)據(jù)也面臨著日益嚴(yán)峻的安全和隱私問(wèn)題。本文通過(guò)分析電力數(shù)據(jù)面臨的安全威脅,從保護(hù)數(shù)據(jù)機(jī)密性出發(fā),對(duì)AES算法進(jìn)行了性能測(cè)試。結(jié)論如下:
a)分別在密鑰長(zhǎng)度128 bit、192 bit、256 bit下,對(duì)AES算法進(jìn)行測(cè)試,結(jié)果顯示在2 000~40 000 bit明文長(zhǎng)度時(shí),3種密鑰長(zhǎng)度加解密耗時(shí)均隨明文長(zhǎng)度的增加而增加,呈完全線性關(guān)系。
b)在同一明文長(zhǎng)度下,密鑰長(zhǎng)度越長(zhǎng),加解密耗時(shí)越長(zhǎng)。
c)AES算法各種模式的加密時(shí)間均隨明文長(zhǎng)度的增加而增加,ECB、CBC、CFB和OFB這4種模式的加密時(shí)間基本重合。
d)在數(shù)據(jù)量較少時(shí),可認(rèn)為AES算法5種模式的計(jì)算耗時(shí)相同,且CTR模式在處理數(shù)據(jù)過(guò)程中的誤差程度會(huì)降到最低,高效率保證數(shù)據(jù)傳輸?shù)陌踩?;因此,CTR模式的均衡性較好。