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