陳子秋 ,馮瑞玨 ,鄭揚(yáng)富 ,劉嘉昕 ,曾獻(xiàn)煜 ,王智東
(1.華南理工大學(xué)廣州學(xué)院 電氣工程學(xué)院,廣東 廣州 510800;2.華南理工大學(xué) 電力學(xué)院 智慧能源工程技術(shù)研究中心,廣東 廣州 510640)
非侵入式負(fù)荷監(jiān)測(cè)(Non-Intrusive Load Monitoring,NILM)裝置為裝載于智能電表的模塊,通過測(cè)量并分析電力入口處的功率、電壓、電流等電量信號(hào),獲取系統(tǒng)內(nèi)各用電負(fù)荷的運(yùn)行狀態(tài)數(shù)據(jù)[1]。NILM 裝置能準(zhǔn)確統(tǒng)計(jì)和呈現(xiàn)出各用電設(shè)備的用電量及用電時(shí)間,幫助用戶改善用電習(xí)慣,節(jié)約用電,但缺乏可靠保護(hù),極易被追蹤和攻擊,存在數(shù)據(jù)信息泄漏的風(fēng)險(xiǎn)[2]。國家密碼局常用的加密算法是SM 系列加密算法,文獻(xiàn)[3]運(yùn)用國密算法SM2與SM4 加密武器裝備的數(shù)據(jù),并驗(yàn)證了可行性。國際上流行使用的加密算法較多,如DES、AES、RSA 等,文獻(xiàn)[4]利用其中的DES 與AES 算法來保障網(wǎng)絡(luò)環(huán)境下安全通信和信息傳輸?shù)陌踩?。本文分析了NILM 數(shù)據(jù)安全所面臨的風(fēng)險(xiǎn),在國內(nèi)外現(xiàn)有的密碼技術(shù)中尋找最佳的密碼技術(shù)加密方案。利用STM32 單片機(jī)平臺(tái)進(jìn)行方案測(cè)試和數(shù)據(jù)處理分析,最終驗(yàn)證了方案的有效性和耗時(shí)長(zhǎng)短。
NILM 系統(tǒng)結(jié)合智能電網(wǎng),通過互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)傳輸,實(shí)現(xiàn)交互。電力信息安全性主要有完整性、有效性和機(jī)密性。完整性要求保證數(shù)據(jù)信息不被篡改,影響數(shù)據(jù)的真實(shí)性和可用性,如不法用戶篡改用電數(shù)據(jù),進(jìn)行商業(yè)欺詐;有效性要求防止被佯裝和接收錯(cuò)誤指令,如冒充合法用戶,導(dǎo)致接收方被錯(cuò)誤引導(dǎo)并做出損害自身權(quán)益的行為;機(jī)密性是重中之重,若保密性無法保障,直接影響數(shù)據(jù)的完整性和有效性,會(huì)造成用戶信息泄露、行為暴露,涉及隱私安全等諸多問題[5]。
圖1 展示了黑客攻擊NILM 系統(tǒng)的途徑和方式,主要包括:(1)監(jiān)聽攻擊,黑客截取用電大數(shù)據(jù)內(nèi)容,通過NILM 負(fù)荷分解和數(shù)據(jù)分析處理,竊取用戶的身份信息和活動(dòng)隱私,用戶像在黑客的“監(jiān)聽”下生活;(2)篡改攻擊,不法用戶篡改用電數(shù)據(jù),進(jìn)行偷電等違法行為;(3)冒充攻擊,黑客利用截獲的身份信息,假冒合法用戶或電力公司,給對(duì)方發(fā)送有損利益的指令,造成更大的利益損失[6]。
圖1 黑客攻擊NILM 系統(tǒng)
常見的加密算法包括對(duì)稱加密算法和非對(duì)稱加密算法[7]。AES 是一種對(duì)稱加密算法,其具備計(jì)算速度快、使用長(zhǎng)密鑰時(shí)難破解兩方面的特點(diǎn),在信息安全保護(hù)方面,廣泛運(yùn)用于加密敏感大數(shù)據(jù)[8];RSA 是一種非對(duì)稱加密算法,其安全性很高,且具備簽名驗(yàn)簽功能,防止信息被篡改,但RSA 算法計(jì)算速度慢,適合加密數(shù)據(jù)長(zhǎng)度短、有高安全性要求的信息保護(hù)場(chǎng)景[9]。NILM 系統(tǒng)信息交互頻繁、數(shù)據(jù)流量大[10],為了保證用戶信息數(shù)據(jù)安全,本文提出一種AES+RSA 混合加密數(shù)據(jù)隱私保護(hù)方案。
AES+RSA 混合加密方案如圖2 所示。發(fā)送方和接收方都會(huì)生成一對(duì)RSA 密鑰,私鑰自己保留,公鑰對(duì)方保留[11]。發(fā)送方將用電數(shù)據(jù)分析(明文)發(fā)送給接收方流程如下:
圖2 AES+RSA 混合加密流程圖
(1)發(fā)送方使用AES 密鑰加密用電數(shù)據(jù)分析(明文)生成密文;
(2)發(fā)送方使用接收方RSA 公鑰加密AES 密鑰;
(3)發(fā)送方使用自己的RSA 私鑰簽名AES 密鑰,并將密文和已加密簽名的密鑰發(fā)送給接收方;
(4)接收方使用發(fā)送方RSA 公鑰驗(yàn)簽,判斷發(fā)送方的真實(shí)身份;
(5)接收方使用自己的RSA 私鑰解密,生成AES 密鑰;
(6)接收方使用AES 密鑰解密密文,得到用電數(shù)據(jù)分析(明文)。
混合加密算法為NILM 系統(tǒng)信息安全提供了一定的保障。在主頻為480 MHz、型號(hào)為STM32H743IIT6 的ARM芯片搭建的平臺(tái)上,實(shí)現(xiàn)驗(yàn)證混合加解密算法的效率。在計(jì)算機(jī)中利用Visual Studio 2017+Qt5 工具開發(fā)測(cè)試界面,界面顯示算法、算法模式、密鑰長(zhǎng)度、明文數(shù)據(jù)和加密后的密文。從OpenSLL 算法開源庫中抽取的AES和RSA 算法通過串口下載到單片機(jī)開發(fā)板中進(jìn)行耗時(shí)性能測(cè)試。
AES 分為ECB、CBC、OFB、CFB和CTR 共5 種工作模式。為了解AES 在各種工作模式下數(shù)據(jù)長(zhǎng)度與加解密耗時(shí)的關(guān)系,以1 000 B為間隔,測(cè)試了20 組不同數(shù)據(jù)長(zhǎng)度在不同工作模式、不同密鑰長(zhǎng)度下的加解密耗時(shí)情況,并進(jìn)行分析處理。
如圖3 所示,5 個(gè)工作模式所呈現(xiàn)的趨勢(shì)相同,加密耗時(shí)均隨明文長(zhǎng)度的增加而增加,R2=1,呈正相關(guān)的關(guān)系。除CTR 模式外,其余4 種工作模式的回歸方程斜率基本相同。而CTR 模式回歸方程的斜率稍大于其他模式,即CTR 模式的加解密耗時(shí)相對(duì)較長(zhǎng)。根據(jù)AES 各模式的工作原理,ECB和CBC為塊加密模式,CFB、OFB和CTR為流加密模式,流加密模式比塊加密模式安全系數(shù)高,且CTR 模式設(shè)置了時(shí)鐘計(jì)數(shù)步驟[12]。結(jié)合安全系數(shù)和加解密效率,CTR 模式是ARS 工作模式的最優(yōu)選擇。
圖3 AES 各模式下明文長(zhǎng)度對(duì)加密時(shí)間的影響
分別測(cè)試了CTR 模式在128 bit、192 bit和256 bit 3 種密鑰長(zhǎng)度下加解密的耗時(shí)狀況。從耗時(shí)比例圖可得,密鑰長(zhǎng)度越長(zhǎng),加解密耗時(shí)越長(zhǎng),128 bit 的加解密速度最快,隨著密鑰長(zhǎng)度的增加,加解密的時(shí)間也隨之增加,從128 bit 到192 bit,再到256 bit,每個(gè)階梯耗時(shí)增幅為13%,增幅較大。效率是選擇的重要因素,綜上考慮,方案采用AES-128-CTR 加密數(shù)據(jù)。
RSA 算法密鑰長(zhǎng)度有1 024 bit和2 048 bit 兩種,國際常用的是RSA-2048 bit 算法。密鑰長(zhǎng)度越長(zhǎng),破解難度越大[13]。出于安全性方面考慮,選擇用RSA 密鑰長(zhǎng)度為2 048 bit 去加解密AES 的密鑰和簽名驗(yàn)簽,測(cè)試結(jié)果如圖4 所示。
由圖4(a)和圖4(b)對(duì)比得出,RSA-2048 bit 的解密與簽名耗時(shí)較長(zhǎng),適合加密長(zhǎng)度較短的AES 密鑰。由于RSA 算法是塊加密算法,填充模式大部分是自填充模式[14-15]。以2 048 bit 密鑰長(zhǎng)度為例,在加密明文時(shí)若明文長(zhǎng)度不足256 B,加密進(jìn)行前會(huì)在不足256 B 的明文前面填充0,長(zhǎng)度填充到256 B 才開始加密,經(jīng)過填充后都為相同的明文長(zhǎng)度,所以加密的時(shí)間都不受明文長(zhǎng)度變化而影響,同理,簽名驗(yàn)簽和加解密的算法原理一樣。兩者在作用層面上不一樣,加密是為了保證信息安全,簽名是為了防止信息被篡改,簽名和驗(yàn)簽相當(dāng)于多了一道防御系統(tǒng),讓整個(gè)系統(tǒng)更完善。
圖4 2 048 bit 密鑰長(zhǎng)度的加解密和簽名驗(yàn)簽效率
如圖5 所示,以明文長(zhǎng)度5 000 B為例,對(duì)AES-128-CTR+RSA-2048 的混合加解密方案進(jìn)行了耗時(shí)性能測(cè)試,軟件左邊的框圖為測(cè)試的AES 加密明文時(shí)長(zhǎng)、RSA加密密鑰時(shí)長(zhǎng)以及簽名的時(shí)長(zhǎng),右邊的框圖為解密的過程以及時(shí)長(zhǎng)。加密的明文與解密所得的明文完全一致,沒有明顯誤差,證明NILM 組合密碼方案有效。
圖5 混合加密方案測(cè)試
本文針對(duì)非侵入式負(fù)荷監(jiān)測(cè)數(shù)據(jù)存在用戶隱私泄露的安全問題,提出了一種基于AES+RSA 的混合加解密方案,并對(duì)方案進(jìn)行了耗時(shí)性能測(cè)試,測(cè)試結(jié)果如下:
(1)AES 的耗時(shí)性能測(cè)試表明:AES 各模式的耗時(shí)與明文長(zhǎng)度呈線性關(guān)系。CTR 模式在相同明文長(zhǎng)度下,密鑰長(zhǎng)度越長(zhǎng),耗時(shí)呈階梯式上升。本方案選擇AES-128-CRT 模式對(duì)用電數(shù)據(jù)進(jìn)行加密。
(2)RSA-2048 bit 的耗時(shí)性能測(cè)試表明:RSA 解密和簽名時(shí)間耗時(shí)較長(zhǎng),且加解密和簽名驗(yàn)簽時(shí)間都不受明文長(zhǎng)度變化而影響,適合加密長(zhǎng)度較短的AES 密鑰。
(3)AES-RSA 混合加解密方案測(cè)試表明:RSA 在組合加解密耗時(shí)中占主導(dǎo)地位,經(jīng)過加解密和簽名驗(yàn)簽前后明文不失真,數(shù)據(jù)完整,本方案有效可行。