謝 旭,施學鴻,楊 柳?,馬世龍,黃桂華,楊博文
(1.國網重慶市電力公司江津區供電分公司,重慶 400000;2.重慶郵電大學通信與信息工程學院,重慶 400065)
智能電網(Smart Grid)結合了先進的信息、通信和計算技術,以促進發電、輸電和配電各個方面的彈性和智能管理[1]。為了確保可靠的電力供應,結合分布式發電和新的存儲解決方案,智能電網給予用戶更多的控制權,公用事業部門正在推進智能電表和電網的應用和發展。智能電網是一種典型的泛在物聯網絡,其安全問題受到廣泛關注,主要目標是確保通信的可用性、完整性和保密性[2]。與普通的IT網絡不同,智能電網支持靈活和動態的拓撲結構,其關鍵組成部分包括高級計量基礎設施、監督控制和數據采集單元、通信設施以及通信協議和標準。智能電網的安全問題包括設備、網絡、調度和管理等各個方面。
最近的研究揭示了將無線傳感網(Wireless Sensor Networks)納入智能電網的重要性。無線傳感網在發電、輸電和配電方面有著廣泛的應用[3]。在消費者方面的應用,智能無線計量是一個重大突破,智能電網中的無線傳感網可以使智能無線電表與一些基于網絡的應用相結合。像動態定價這樣的關鍵決策可以在更快的時間間隔內輕松完成,而且消除了人工支持,防止了電表被篡改。鑒于電力行業的特殊性和重要性,電力傳感網中的信息安全問題變得越來越重要。因此,高效、可靠的安全技術已成為電力傳感網的研究熱點[4]。
電力傳感網能夠對配電設施進行計量與監控,并進行實時數據傳輸。但在一些特殊的環境里,電力傳感網會因為無法及時維護,導致節點之間的鏈接脆弱,從而會導致數據傳輸能效低等問題。電力傳感網除了可能會受到泛洪攻擊、黑洞攻擊等外部攻擊的威脅,還可能遭受來自內部惡意或者妥協節點的攻擊,這會導致整個網絡失效。電力傳感網中如果出現了惡意節點,則會導致采集的數據信息被泄露,會引起巨大的網絡安全事故。而當惡意節點隱藏在網絡內,間歇性發動內部攻擊,破壞整個網絡的平穩運行,更甚者使得整個區域的網絡癱瘓。因此,如何有效地檢測并防御電力傳感網內部的惡意節點就顯得尤為重要。傳統的身份認證機制可以抵抗大多數外部攻擊,而來自內部惡意節點的攻擊難以檢測。為了解決這一問題,可以在網絡節點之間建立起一種信任關系[5],從而有效地檢測惡意節點并將其從網絡中剔除。
文獻[6]提出了一種基于信任模型的多層不均勻分簇無線傳感網安全數據融合算法,通過該信任模型能夠準確評估結點的可信性,但在網絡能耗上面卻需要進一步改進。文獻[7]提出了一種新的基于主觀邏輯的無人值守無線傳感器網絡信任機制,以應對信任評估的主觀性和不確定性。文中定義了一組信任相似度函數來檢測異常信任值,能夠提高信任評價的準確性,卻沒有詳細說明如何獲取準確的信任證據。
文獻[8]提出了一種基于模糊信任評價和離群點檢測的安全聚類協議。文中的模糊信任評價部分是針對開放無線通信媒介中傳輸行為的不確定性,采用區間二型模糊控制器計算信任值。在網絡運行過程中,節點利用其他節點將數據傳輸到基站,采用行為動態監測系統獲取轉發節點的傳輸行為數據。采用知識庫中的模糊集將節點的傳輸行為數據映射為對應的二型模糊集合,根據模糊規則庫將二型模糊集映射到包含信任值的模糊集中,得到二型信任模糊集。將二型信任模糊集降型為一型信任模糊集。最后對一型信任模糊集進行去模糊化處理,得到直接信任值。此方法有效地降低了由于通信鏈路的不穩定性而造成的行為數據的不確定性。
文獻[9]提出了一種安全數據聚合協議,這種模式是由樹狀拓撲結構形式的邏輯組進行的,每個組采用雙數倍數的離群算法來驗證,然后,樹狀拓撲聚合由每個節點執行,在聚合過程中進行信任評估。然而此聚合模型較少考慮數據路由,在動態路由過程中,信任計算準確性低。
文獻[10]提出了一種基于分布式共識的信任機制,該機制通過共享特定信息來建立節點的信譽以檢測惡意節點,這項技術是通過認知來衡量受信任節點的評價。基站從認知矩陣中收集認知并進行信任評估以檢測惡意節點。然而該信任機制很難控制整個檢測過程和節點的測量來識別惡意節點。文獻[11]提出了一種基于時間因素的無線傳感網信任模型,該方法在直接信任度和間接信任度的計算中間引入了時間衰減因素,通過反饋機制來實時更新結點的信任度,使得整體的信任值具有時效性。但其在對交互時延要求較高的無線傳感網絡環境下才能夠發揮更好的作用。
文獻[12]針對電力傳感網中開關攻擊,提出了一種基于機器學習的信任模型。由于惡意節點能夠交替執行惡意或正常行為。在發起惡意攻擊一段時間后,可以選擇正常行為,以增加其信任級別。重復這個過程,很難根據信任值的水平來檢測惡意節點。作者引入通信狀態、數據包異常、能量消耗異常三種信任證據。首先采用無監督學習算法將初始數據集進行標記。然后使用該數據集訓練支持向量機信任預測模型。然而該方法沒有很好地解決誤判情況。
隨機布置150 個傳感器節點在150 m×200 m 的矩形監測區域內,且每個傳感器節點都具有相同的初始能量和通信能力。本文中采用的是多跳網絡,每個節點在部署完成之后,采集所在區域的傳感數據,并將其發送給距離基站更近的傳感器節點。中轉節點的選擇由采集節點和中轉節點之間的距離(dij)以及節點到基站之間的距離(diS,djS)確定。發送節點為i,中轉節點為j,基站為S。中轉節點選擇需要滿足:
在節點發送數據給中轉節點后,會監聽中轉節點接下來的數據傳輸行為,并收集中轉節點的通信行為作為信任評估證據。當產生孤立節點時,如果孤立節點鄰域內沒有合適的中轉節點,則不經過中轉節點,孤立節點直接將采集的數據發送給基站。
由于電力傳感網是部署在開放的無線通信環境中,會因為距離的遠近產生衰落并且會遭受周圍的電磁波干擾,導致信道質量時好時壞。所以這里引入信道的兩種狀態。S0和S1分別表示信道好的狀態和信道壞的狀態。a0和a1分別表示變成好信道和壞信道的概率,且a0+a1=1。當隨機數p>a0時信道變成好信道,而且當隨機數p 傳感器節點在傳輸數據時的損耗可以是自由空間傳輸模型,也可以是多徑衰落模型,模型取決于發送機和接收機的距離。如果d小于距離閾值d0,則應用第一個模型。否則,選擇第二個模型。距離閾值d0計算方式如式(2)所示,其中參數對應為上述兩種傳輸損耗模型的放大特征常數。 在數據傳輸過程中,傳感器節點對于距離為d的k位數據包所消耗的能量為: 式中:Eelec是發送機或接收機電路消耗的能量。接收機能耗為: 式中:k為接收到的數據包長度。 信任評估的第一步是選取信任因素,根據不同的網絡選取合適的信任因素是設計信任模型的基礎。電力傳感網中內部攻擊的形式是不同的,導致惡意節點的行為證據也不一致,雖然根據更多的行為證據能夠計算更精確的信任值,但由于傳感器節點的資源有限并且計算能力局限,即信任因素的數量和傳感器節點自身資源存在制衡,過于復雜的信任模型不適用電力傳感網,所以不能將太多的因素考慮進去。所以選取如下兩個信任因素。 1.3.1 成功轉發率(SFR) 由于節點資源能力的限制,所以本文選擇的網絡是多跳網絡,遠離基站的節點需要借助其他距離基站更近的節點轉發數據包,部分惡意節點會不配合其他節點進行轉發服務,導致數據丟失進而基站接收不到數據包,還會影響終端對該發送節點產生誤判。因此,為了識別惡意節點對其他節點的不服務行為,定義成功轉發率SFRi,j(t)為周期時間t內成功轉發次數所占總交互次數的比例: 式中:Si,j(t)為周期時間t內,節點j為節點i成功轉發數據包次數;Ri,j(t)為周期時間t內,節點i給節點j發送數據包總次數。 1.3.2 實時轉發率(TFR) 當節點i將數據包發送給j時,節點i會在最大監測時長內監測節點j,以判斷節點j是否實時轉發數據包。當節點j在規定時間內轉發了數據包,節點i則判定節點j實時轉發了數據包;當節點j超過規定時間但是在最大監測時長內轉發了數據包,節點i判定節點j沒有實時轉發數據包;當節點j在最大監測時長內也沒有轉發數據包,節點i會進行數據包二次重傳,此時節點j若轉發了數據包,則判定沒有實時轉發數據包,若仍然沒有轉發數據包,則判定沒有成功轉發數據包。惡意節點沒有實時轉發數據包,會導致發送節點監測至最大時長甚至二次重傳,嚴重浪費資源匱乏的傳感器節點的能量,進而會縮短網絡生存期,增加布網成本。因此,為了識別惡意節點未按時服務的行為,定義實時轉發率TFRi,j(t)為周期時間t內實時轉發次數所占總交互次數的比例: 式中:RTi,j(t)為周期時間t內節點j為節點i實時轉發數據包次數;Ri,j(t)為周期時間t內,節點i給節點j發送數據包總次數。 信任評估的第二步則是根據信任因素來收集節點通信行為證據,在整個電力傳感網部署完成之后,所有節點開始訓練階段的工作。節點讀取本地消息,通過所有節點的位置信息和基站的位置信息,根據距離計算公式得到合適的中轉節點。節點將采集到的數據發送給中轉節點,同時利用行為監測系統監測中轉節點的兩種通信行為證據SFR 和TFR,并將這些信任證據存儲到內存里。 第三步進行訓練階段。每個節點將存儲的兩種行為證據提取出來。將提取出來的行為證據通過k-Means 聚類預處理,以降低由于開放通信環境導致行為證據的不確定性對評估結果的影響。將三種聚類結果分別打上標簽,分別為可信節點、不可信節點和惡意節點行為證據。此時再用帶有標簽的數據訓練決策樹,并將部分行為證據當作測試集去測試決策樹是否收斂。訓練好的決策樹計算量小且有很高的數據敏感性,能夠快速辨別出行為異常的惡意節點。 最后節點將候選中轉節點的實時行為證據數據作為訓練后的決策系統的輸入,然后得到中轉節點的信任等級,進而節點可以根據信任等級判斷中轉節點是否可信。當發現惡意節點時,將惡意節點數據上報基站,基站根據不同節點上報的綜合信息決定是否從網絡中剔除惡意節點。本文所提出的信任決策算法具體流程如圖1 所示。 圖1 算法模型流程圖 為了訓練信任決策模型,首先需要采集信任證據數據,并且對這些數據進行標記。在整個網絡開始運行后,節點按照中轉節點計算公式選取合格的中轉節點,并將這些節點存入表中,每輪開始將從表中隨機選擇一個中轉節點進行數據傳輸,同時使用行為監測系統監測中轉節點的成功轉發率和實時轉發率。且設置一定比例的惡意節點,惡意節點會按照概率進行丟包和延時行為,分別為Pl和Pd,在前20 輪,將收集到的行為證據作為數據樣本進行分類。本文采用k-Means 聚類算法,主要原因是與其他無監督學習算法相比,k-Means 算法更簡單快速,較為適合傳感網。隨機抽取了20 個節點的行為證據組成數據樣本集X={X1,X2,X3,…,Xk},其中每個樣本都具有2 個維度的屬性:SFR 和TFR。開始會初始化,隨機選擇3 個聚類中心{C1,C2,C3},分別代表可信節點、不可信節點和惡意節點對應的信任證據。分別計算數據樣本中的X1~Xk到C1~C3歐氏距離dis(Xi,Cj),如下式所示: 式中:Xi表示第i個對象,1≤i≤400;Cj為不同類別的中心,且1≤j≤3;Xit為第i個樣本的第t維屬性,1≤t≤2;Cjt為第j個聚類中心的第t維屬性。 依次比較樣本集的Xi到設定好的聚類中心Cj的歐氏距離,根據距離最近原則將Xi打上所屬聚類的標簽,將樣本集的所有樣本打上標簽之后則會存在三個聚類。再更新第j個聚類的第t維屬性Cjt: 式中:Xit為第i個樣本的第t維屬性;|Sj|為第j個聚類的成員數量。 重復以上過程,需要重新計算Xi到新定義的聚類中心Cj的歐氏距離,同時再根據距離最近原則將Xi打上所屬類簇新的標簽,同時去掉舊的標簽。一直循環這樣的步驟,直至迭代到聚類中心的變化小于設定的閾值時,結束算法的運算。最終得到三個聚類,并且每個樣本Xi都帶上最后所屬類的標簽。 本文在信任評價過程中采用分類算法對信任程度進行分類,而不是直接計算信任值。因此選擇的是C4.5 算法,它采用了信息增益率進行特征選擇,弱化了主觀性地偏向子類別多的特征選擇。 首先需要將標記好的行為信任證據進行模糊化,它們分別會根據轉發率高低分為三個模糊信任層次{Low、Medium、High}。由于信道的不確定性和惡意節點不同程度的惡意行為,模糊層次的生成由k-Means 的聚類結果決定。所以SFR 和TFR 的模糊層次每個等級界限不同,如表1 所示。再將模糊化的信任證據進一步構成決策樹用于信任等級分類,如圖2 所示。節點信任等級用{T1、T2、T3}表示。 表1 行為證據模糊劃分 圖2 信任證據模糊化與決策樹構建 其中將模糊化的行為證據用于訓練信任決策樹,需要以下幾個步驟: 1.5.1 計算類別信息熵 類別信息熵表示的是所有樣本中各種類別出現的不確定性之和。上文中訓練集X中的數據類別數為m=3,每個類別在樣本中的比例為Pi,即類別信息熵為Info(X),如下式所示: 1.5.2 計算每個屬性信息熵 每個屬性的信息熵相當于一種條件熵。他表示的是在某種模糊等級的條件下,各種類別出現的不確定性的總和。本文中的屬性為SFR 和TFR,即屬性信息熵Info(Xl)的表達式為: 1.5.3 計算信息增益 信息增益表示信息不確定減少的程度,如果一個屬性的信息增益越大,就表示用這個屬性進行樣本劃分,可減少劃分后樣本的不確定性。選擇該屬性可以更快更好地完成分類目標。信息增益(Gain)=類別信息熵-屬性信息熵。 1.5.4 計算屬性分裂信息度量 用分裂信息度量來考慮某種屬性進行分裂時分支的數量信息和尺寸信息,并將這些信息稱為屬性的內在信息。信息增益率=信息增益/內在信息。會導致屬性的重要性隨著內在信息量增大而減小。Qi為此屬性的每個模糊等級在數據集X中的占比。 1.5.5 計算信息增益率 信息增益率IGR 越高,越傾向選取此屬性作為分裂屬性。 因此選擇SFR 為分裂屬性,在分裂之后,在SFR 屬性為Low 的情況下,若其節點類別全部為惡意節點,則將它定義為葉子節點,選擇其他不全為一種等級類別的繼續分裂,重復將模糊化的行為證據訓練成決策樹的過程,直至完成訓練。 在訓練完成后,得到一個完善的節點信任決策模型。隨著網絡的運行,節點會繼續監控中轉節點,將實時獲取到的中轉節點行為數據作為決策模型的輸入,從而得到節點的信任級別。若是節點為惡意節點,便將此節點從中轉節點列表里刪除且上報給基站;若是不可信節點,將會減少與此節點的通信次數;若是可信節點,將會保持通信情況。且隨著網絡的持續運行,此期間的所有中轉節點行為的證據都會被收集,在特定輪次重新訓練決策樹,以適應環境的變化和惡意節點攻擊頻次的改變。 為了分析和驗證本文提出的信任決策算法,使用MATLAB 軟件對實驗進行仿真分析。節點初始能量為1 J;丟包和延遲轉發攻擊概率均為0.2;其他能量及數據包參數設置參考文獻[8]。 惡意節點檢測率結果如圖3 所示,從圖中可以看出,隨著惡意節點的比例增加,本算法的檢測率提高,因為惡意節點增多導致行為數據差異性更大,但是由于采用了初期分類訓練的數據集去訓練決策樹,使得決策樹能夠更好地解決由信道質量和節點惡意行為隨機性導致的行為數據不確定性問題。而LCT 算法由于劃分標準云時對惡意節點容忍度過高,造成部分惡意節點誤判。TEUC 檢測率不高是由于前期決策樹的訓練不足,只將惡意節點和非惡意節點產生行為數據用于訓練決策樹,會導致過擬合。一些正常的節點被誤認為是惡意節點。 圖3 惡意節點檢測率對比結果 網絡吞吐量結果如圖4 所示,從圖中可以看出,隨著惡意節點比例的增加,本文提出的算法的吞吐量逐漸下降。這是由于該算法對惡意節點的檢測率非常高,大量的惡意節點被發現從而被網絡移除,剩下的正常節點繼續充當中轉節點,導致網絡壽命和吞吐量下降。而TEUC 由于過擬合的原因,會將很多正常節點當成是惡意節點。因此,一部分正常節點不再被充當中轉節點,從而使網絡壽命縮短,導致網絡吞吐量下降。 圖4 網絡吞吐量對比結果 本文首先提出了一種基于信任的電力傳感網安全機制,包括傳輸監控、行為數據聚類和信任決策。這種安全機制易于實現,而且是完全分布式的。它可以解決開放無線媒體中由于干擾而產生的傳輸不確定性問題。該決策模型能夠自動更新,以適應動態環境和惡意節點的隨機攻擊。仿真結果表明,該方法能有效提高網絡安全性能。未來的工作重點將放在計算基于推薦的綜合信任值,以緩解開放無線媒介中傳輸的不確定性。此外,為了加快惡意節點檢測過程的收斂速度,將進一步研究有效的輕量級數據準備機制來處理原始信任證據。1.3 信任模型

1.4 信任證據的生成和分類
1.5 信任決策模型訓練及信任決策


2 實驗分析
2.1 惡意節點檢測率結果

2.2 吞吐量實驗結果

3 結束語