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