張瑞
(上海電力大學(xué),上海,200090)
智能電網(wǎng)已逐漸取代傳統(tǒng)電網(wǎng),實現(xiàn)電網(wǎng)智能化、自我監(jiān)測、遠(yuǎn)程控制的功能。像智能電網(wǎng)中的傳感器、智能電表和控制系統(tǒng)等都可以促進(jìn)電網(wǎng)系統(tǒng)的雙向通信。智能電網(wǎng)在進(jìn)行雙向通信時,存在不同的網(wǎng)關(guān)等級,由控制中心到城市網(wǎng)關(guān)(BAN)再到用戶網(wǎng)關(guān)(HAN)(也即終端用戶)有上下級之分,具有各自的訪問權(quán)限,也是電網(wǎng)通信過程中必須考慮的問題。智能電網(wǎng)因其強(qiáng)大而特殊的功能特點而流行,同時智能電網(wǎng)的安全通信也越來越多地受到研究者的關(guān)注。然而,智能電網(wǎng)通信中存在很多安全隱患。通信過程中很有可能會使消費者的信息泄露,導(dǎo)致人身財產(chǎn)安全的損失。信息泄露一種是傳送過程中不法分子的惡意攻擊獲得,一種是管理者為了利益而出賣消費者信息。前者可通過信息加密傳輸保證安全,后者就要管理者本人具有很強(qiáng)的誠信,能夠抵制住利益的誘惑。
為了保證信息傳輸過程的安全,研究者不斷探索,提出了很多相關(guān)方案。Mahmood K等人提出基于混合的Diffie–Hellman輕量級認(rèn)證方案,使用AES和RSA來生成會話密鑰,沒有降低安全性的前提下降低了計算和通信開銷,但開銷依然較大;Abdallah A等人提出一個輕量級的安全與隱私保護(hù)方案,該方案采用非對稱加密及簽名加密實現(xiàn)電量通信預(yù)測,開銷較大。上述方案普遍都沒有考慮到電網(wǎng)通信過程中上下級的特殊關(guān)系,不同級別網(wǎng)關(guān)存在不同訪問權(quán)限即不能實現(xiàn)細(xì)粒度訪問。
針對上述存在的問題,本文提出基于層次密鑰管理的細(xì)粒度訪問的方案。智能電網(wǎng)遠(yuǎn)程控制占據(jù)主要地位,上下級關(guān)系明顯,存在不同的訪問權(quán)限。層次密鑰就是來解決這個問題,上級可以知曉下級密鑰,但下級無法得知上級密鑰,進(jìn)而可以實現(xiàn)細(xì)粒度的訪問。
本文提出一種采用層次密鑰的方案來實現(xiàn)智能電網(wǎng)安全通信并保護(hù)數(shù)據(jù)的隱私,其系統(tǒng)結(jié)構(gòu)模型如圖1所示。該系統(tǒng)模型由控制中心(control central)、NAN(neighbor area network)、BAN(building area network)、HAN(home area network)、可信第三方五部分組成。
圖1 系統(tǒng)結(jié)構(gòu)模型
如圖系統(tǒng)模型中,假設(shè)可信第三方已經(jīng)為各個部分分配了各自的密鑰,控制中心通信密鑰為KCC,依次BAN、HAN對應(yīng)通信密鑰分別為KBAN、KHAN。各個網(wǎng)絡(luò)部分收到分配的密鑰自身保存。
在系統(tǒng)中我們需要設(shè)置一個公告牌,用來公示計算過程所用的單向哈希函數(shù)和計算所得的公共參數(shù)α,其中α是一個二維向量。各級憑訪問控制權(quán)限對公告牌上的信息進(jìn)行修改操作,而不能越權(quán)操作。具體操作過程如下:
假設(shè)公告牌已公布了單向哈希函數(shù),有系統(tǒng)結(jié)構(gòu)模型可得各上下級關(guān)系。下級網(wǎng)絡(luò)通信密鑰經(jīng)安全通道發(fā)送給直接上級網(wǎng)絡(luò)服務(wù)器,例如,HAN網(wǎng)絡(luò)用戶將密鑰KHAN經(jīng)安全通道發(fā)送給BAN網(wǎng)絡(luò)服務(wù)器,BAN收到KHAN后,計算得
同樣可得
然后將所計算得到的公共參數(shù)都公布到公告牌上,上級刪除其所收到的下級密鑰,這樣就不會增加額外的存儲負(fù)擔(dān)。
密鑰導(dǎo)出分兩種情況:
(1)直接上下級關(guān)系時,通過公告牌上的信息,一步即可計算得到:
(2)如果進(jìn)行串級通信,需要找準(zhǔn)通信路徑,多次利用上述公式依次求出對應(yīng)密鑰,從而得到所需密鑰。
當(dāng)在系統(tǒng)結(jié)構(gòu)中加入一個新的網(wǎng)絡(luò)BANj時,相應(yīng)的系統(tǒng)模型會跟著改變。該網(wǎng)絡(luò)BANj加入系統(tǒng)結(jié)構(gòu)時需要向控制中心和可信第三方認(rèn)證注冊,此時可信第三方會給新加入的BANj分配一個密鑰KBANj,并秘密傳給它的所有的直接上級,之后其直接上級NAN,利用公式計算關(guān)系參數(shù)α.并將α公布在公告牌上。BANj還需要向它的所有直接下級索取它們的密鑰,其下級HAN認(rèn)證它確實是自己的直接上級后將密鑰KHAN秘密發(fā)送給BANj,BANj套用公式計算,并將αBjH公布于公告牌上。
(1)底層網(wǎng)絡(luò)節(jié)點刪除
若是底層某個網(wǎng)絡(luò)節(jié)點刪除,如住戶HAN1搬離該處,只需將其從系統(tǒng)中刪除,并修改結(jié)構(gòu)模型,同時對應(yīng)上級BAN1將公告牌上對應(yīng)的公共參數(shù)αB1H1刪除,其他不做任何修改。
(2)非底層網(wǎng)絡(luò)節(jié)點刪除
若刪除節(jié)點不是底層節(jié)點時,操作稍微復(fù)雜一些。例如當(dāng)BAN1要從系統(tǒng)中撤離出去時,系統(tǒng)結(jié)構(gòu)就要發(fā)生變化,它的下級HAN1-3就要直接通過NAN連接至控制中心。此時,為了防止秘密泄露,可信第三方需要給重新分配密鑰,并經(jīng)控制中心計算出相應(yīng)公共參數(shù),同時刪除公告牌上對應(yīng)的參數(shù),即完成刪除操作。
如果某一節(jié)點需要修改密鑰,需要向可信第三方發(fā)送請求認(rèn)證,同意后便可重新分配密鑰完成修改,同時公告牌上的相關(guān)參數(shù)也要發(fā)生改變。如節(jié)點BAN1要修改密鑰,其需要向TA發(fā)送請求認(rèn)證,認(rèn)證通過TA將一個新的密鑰發(fā)送給網(wǎng)關(guān)收到新的密鑰后,需要將此密鑰經(jīng)安全通道發(fā)送給控制中心,控制中心利用公式,計算得到新的參數(shù),將公告牌上的原參數(shù)刪除。網(wǎng)絡(luò)節(jié)點需要重新計算參數(shù)并刪除原有參數(shù),進(jìn)而完成節(jié)點密鑰的修改。
可信第三方(TA)已給各個網(wǎng)絡(luò)分配了對稱密鑰KCC、,然后TA需要給控制中心、BAN網(wǎng)關(guān)提供簽名密鑰,防止出現(xiàn)重放攻擊。這里使用NTRU加密系統(tǒng)中的簽名方案,簽名密鑰生成方法如下:
定義:首先確定一個模數(shù)q,密鑰大小為d,認(rèn)證參數(shù)NB。TA選擇兩個多項式f和g,且f mod q和g mod q可逆,f、g多項式滿足d+1個系數(shù)為1,d個系數(shù)為-1,其余系數(shù)為0。首先TA計算簽名公鑰h為
該通信過程如下:
(1)CC→BAN:控制中心將任務(wù)包M進(jìn)行簽名加密。由M得出
(3)HAN→BAN:用戶HAN收到加密后的任務(wù)包后,先加密驗證包的合法性。如果合法,用戶將其年月或日用電量xi簽名加密,即,然后連同自己身份i發(fā)送給BAN網(wǎng)關(guān)。
(4)BAN→CC:BAN網(wǎng)關(guān)收到來自HAN加密的各用電量數(shù)據(jù)包后,解密驗證簽名和時間戳等數(shù)據(jù)的合法性。驗證通過后,BAN計算總電量,然后BAN網(wǎng)關(guān)需要向控制中心發(fā)送電量x。BAN先對總電量x進(jìn)行簽名,然后再用自身密鑰加密發(fā)送給控制中心。BAN從x中創(chuàng)造 x1, x2(mod q),得出
以上為整個網(wǎng)絡(luò)簡單的通信過程,從消息請求到消息回復(fù),使用了簽名加密和時間戳的方法,更加安全,且可防止重放攻擊。
我們提出的方案是為了保證用戶信息的隱私,并能完成系統(tǒng)安全通信。方案保證了信息傳送的機(jī)密性、完整性和可用性,下面對提出方案的安全性進(jìn)行分析。
本文提出的方案通信采用層次密鑰對稱加密消息進(jìn)行傳送,用戶用電量和消費價格只有其對應(yīng)上級可以獲得,攻擊者無法解密得到用戶消息,保證了用戶的隱私,同時還保護(hù)了信息的機(jī)密性,進(jìn)而實現(xiàn)了細(xì)粒度安全訪問。方案中實現(xiàn)了對電量的簽名加密傳送,并引入時間戳,如果攻擊者中途截取該消息不僅不能獲得明文,也不能偽造或更改數(shù)據(jù)信息,不能通過簽名、時間戳的合法驗證,進(jìn)而可以判斷數(shù)據(jù)的合法性,因此數(shù)據(jù)信息的完整可用性得到了很好的保障。
通信開銷和計算開銷是許多通信環(huán)境中必須考慮的問題,下面對文中提出的方案進(jìn)行分析。
4.2.1 通信開銷
為了簡單起見,由文獻(xiàn)[5]可知,假設(shè)時間戳和網(wǎng)關(guān)身份ID的大小一般為16字節(jié),對稱和非對稱加解密算法的安全大小為128字節(jié)。文中提出的方案BAN網(wǎng)關(guān)和HAN網(wǎng)關(guān)間通信開銷和文獻(xiàn)[2]比較結(jié)果如表1所示。
表1 通信開銷
4.2.2 計算開銷
這里主要分析HAN和BAN網(wǎng)關(guān)兩個實體的計算開銷,主要涉及對稱加密和解密TSED、非對稱加密和解密TASED,哈希Th,簽名Ts和認(rèn)證TV。對稱加密解密時間一般在0.0046ms,非對稱加解密時間TASED為3.85ms,乘法操作時間0.6ms,哈希操作時間0.0023ms。文中方案和文獻(xiàn)[3][4]進(jìn)行計算開銷的比較結(jié)果如表2所示。
表2 計算開銷
由表2可知,文中提出的方案計算開銷相較于文獻(xiàn)[3][4]是有所降低的,節(jié)約計算成本,提高了運行效率。
智能電網(wǎng)中消費者隱私和通信安全是一直是國家電網(wǎng)發(fā)展和建設(shè)的重點內(nèi)容,文中我們采用層次密鑰加上簽名加密的方式來實現(xiàn)用戶和控制中心的安全通信,完成控制中心對電量的統(tǒng)計過程。該方案既可以保證信息的安全傳輸又可以保證的信息的完整可用性。我們的分析結(jié)果展示了提出的方案的滿足基本的安全要求,并降低了計算和通信開銷。