南方電網數字平臺科技(廣東)有限公司、廣東省數字電網技術企業重點實驗室(南方電網數字電網研究院) 黃 翔 吳文鵬 劉曉靜 溫海輝 黃信信
在電網運行和維護過程中,加強對電網運行和維護的關注,是目前行業發展的一個重要課題。數據保護和信息加密是數據源平臺的基本操作,在達到數據保護的作用的同時,通過邊緣網絡減少數據上傳云端暴露的風險,并且能夠進入云數據中心保證連接互聯網的數據資源,這樣既可以減少計算的延遲,也能減少數據上傳云端暴露的風險,實現了電力運維數據安全的加密與保護[1]。
通過將訪問機制的重新設計,將屬性重密碼KP-ABE方法與使用密鑰策略的代理性重密碼PRE方法進行適配,從而提供了一個安全而可使用的數據訪問控制方法。
基于數據中對于雙重權限映射機制的使用,首先是訪問控制的設計,對數據對象上所具有的靈活性,對權限映射進行管理和必要的數據控制,從而完成對電力運維數據的云端數據的存儲,而且能夠保有敏感信息,這些敏感信息同樣存儲于公共云中電力運維數據中心。且在上述的基礎上配置對層次中的虛擬數據進行去除,冗余信息的排查后再對數據分配進行RBAC方案的協商,這種方法能夠在清除冗余數據后的訪問信息中對多層次的數據進行資源服務的管理,可以處理不同用戶的訪問請求,并對訪問的限制進行約束。
通過密碼技術對訪問結構進行了設計,所以在訪問結構的基礎上基于邊緣計算模式。該方法能夠在將數據上傳到網絡后,直接對其進行處理,從而更好地對實時要求的電力運行管理數據進行支持[2]。
邊緣計算模型的具體為邊緣節點與密鑰間的變換,邊節點和密鑰的轉化是邊緣計算的核心,其計算過程包括以下步驟:首先為電力運營數據服務機構建立一個管理員的初始化模型,然后產生一個公鑰,公共密鑰在雙線性群中把一個屬性映射為任意一組的元素。管理員選擇了功率運行數據,并創建了密鑰并隨機生成數據抽取,分別生成數據密鑰和運維數據密鑰。運維安全的數據公鑰是:
式中:V代為PK,MK,Ds與ck的初始化表示0。
邊沿計算模型中的密鑰產生是一種產生算法,其是根據每一種屬性的數據,選取一條隨機的金鑰,并將該金鑰與各屬性的金鑰相匹配,選取作為金鑰產生的金鑰Ds,其技術表達式是:
式中:r∈ZP,S友示運維數據用電運行資料的正確性,已計算出具有“電源運行管理”數據權限的密鑰。利用公式(2)來完成密鑰的維護操作數據,由此在邊緣節點執行對功率維護數據的加密傳送處理。數據的擁有者對每一個邊沿節點都產生一個多項式的訪問樹。本項目提出了一種新的基于邊計算的密文屬性加密方法,并將其應用到邊計算中,從而解決了邊計算環境下密文屬性加密的問題。運行維護數據采用密鑰存取,通過變換密鑰將終端的一些復雜的解密操作委托給邊緣節點,極大地提升了系統的運行效率。此外,該方案還具有不可更改的特性,可降低網絡運行過程中數據泄漏的風險,極大地增加數據所有者的安全性。邊緣計算加密模型的構件,不僅設置了數據密鑰,也減少了冗余數據的非必要計算,提高加密的運行速度。
本文采用匿名化加密算法,對各準則識別符的屬性值進行統計,獲取最大值的準則識別符屬性設定通用化屬性;最后,對用戶進行匿名化處理,并對其進行匿名化處理。
在電力運行管理數據的有關指數中,數據準確性和畸變程度的計算方法是:
數據精度計算公式為:
式中:λN(Oi,Oj)是數據精度;O是區域U內各個電力運維數據數值;|U|是U在U區間中,最大和最小值之差,也就是用電運行和維護資料的最大間隔。
數據失真度的公式如下:
式中:A(Oi,Oj)是分類樹中所具有的子樹數量;TD是D的分類樹,H(TD)是TD的高度。
在完成電力運維數據相關指標中的數據精度和失真度的計算后,為了保證數據綜合表的精度,對經過匿名化處理的電力運行維護數據進行了歸納,其公式如下:
式中:RT為匿名化處理得到的泛化集;nq為nq條記錄,對數據進行記錄的同時完成泛化集的收錄;h為泛化的次數以及之后要進行的預備泛化;DHGA為A中所存在的泛化樹的原有高度;t[Q]為準標識符值,m與n為抑制元素個數。公式(5),IL(RT)產生較高的結果,說明丟失了更多的信息[3]。
在對數據進行匿名化的精度和失真度的計算后,生成的泛化集用于模型的加密環節,邊緣計算安全模型分為基礎設施、網絡、數據和應用四個安全層面,本文對邊緣計算的加密安全問題進行細化分解。邊緣計算的安全模型如圖1所示。

圖1 邊緣計算安全加密模型
邊緣模型在構建中不僅建立了問題的細化流程,也要達到外來數據的攻擊防御需求,數據攻擊的優勢定義如下:
式中,Adv為優勢定義,A為對手發起的攻擊,w為關鍵字,Pr()為初始化運行算法;c`為挑戰者;k為私鑰。在模型收到挑戰者對模型內順序編號的訪問請求進行數據密文方面的提交,然后對于自身應存在的數據密文進行檢索,而后對于反饋的密鑰進行機制保護,然后通過挑戰者的傳輸檢索其他節點的數據需求,將所檢測到的加密需求,通過虛擬安全設施進行存儲,與此同時,為了提高解密的效率,在解碼過程中,為挑戰者預留一定的安全加密空間,完成在模型中的安全加密。
在數據的安全加密和模型的構建完成后,對于加密的數據要進行完整性的修復與審計工作。在電力運維數據進行云端存儲之前,加密的過程中必然要保證數據的完整性,所以本文對于電力運維數據完整性的審計過程如下。
首先根據加密數據所存儲的云端服務器進行運維數據的傳輸,進而利用動態認證器和隨機掩碼技術來進行數據傳輸過程中的加密環節,這一措施是為了實現動態審計,而后對于數據存儲服務器中的運維數據進行動態更新,而后,對本地的數據進行刪除,因此在去除靜態數據的基礎上,完成動態的審計過程。其次通過隨機掩碼技術進行審計的第二個環節,但隨機掩碼技術存在一些不確定性,所以本文采用密碼技術與雙線性對中雙線性性質相結合的方式來代替隨機掩碼技術,實現隱私保護。同時,將兩種方法擴展,實現動態數據的隱私保護操作也通過代理重加密算法實現加密過程中低復雜度的要求。最后是對于所加密的數據進行批量審計,當有大量運維數據同時發出審計請求或數據被分塊存儲在多個數據中心時,本文為了提高審計效率,通過提高完整性審計方案應具備的批量審計的能力,在批量審批的基礎上對于邊緣模型下的數據進行加密的安全性證明。通過構造基于塊認證標簽散列樹型結構來改進存儲模型。從而進一步改進了雙線性聚合簽名方法,提高安全加密方法批量審計效率。
在此基礎上,通過對不同方式下的電網運行數據加密方式的比較,對所提出的與邊緣計算相結合的電網運行數據加密方法進行試驗,對同一攻擊方案下的密文傳輸效率進行檢驗。為了試驗具有簡明性,設置本文設計的基于邊緣計算的電力運維數據安全加密方法為實驗組,基于K均值算法的電力運維數據安全加密方法為對照組Ⅰ,基于離散型算法的電力運維數據安全加密方法為對照組Ⅱ。
試驗基于2核中央處理器、4GB運行內存,利用Windows 10對供電運行服務提供商的計算機進行供電運行和運行數據的加密傳送。本試驗采用C++語言進行測試。在此,利用Wireshark3.4.5來統計被捕捉到的數據包的流量。管理人員使用安卓11(1.2GHz)的手機,負責供電運營數據和供電維護數據的管理。為保證試驗電源運行過程中的運行數據的安全,采用了一種基于配對的加密庫。密碼設定采用類型A對,序列長度是160比特,數字字段長度是512比特。本文提出一種基于橢圓曲線的數字簽名方法,該方法用于加密密文,生成簽名,并進行認證,以達到128比特對稱密鑰的安全性。
為驗證該方法的有效性,在試驗中設置一段針對電網運行中的數據進行加密處理的程序。通過試驗,選取了20 kB、30kB、40kB、50kB四種尺寸的電源運行數據文件。比較了兩種常用的加密算法與本論文提出的基于邊界計算的加密算法,并對最后的加密算法進行了驗證。當采用加密方式傳送的數據文件與原來的供電運行數據文件愈相近時,這種方法的有效性就越高。試驗得到的比較結果見表1。

表1 數據加密對比結果(單位:kB)
從表1可以看出,與其他一般的電力運營數據加密方法相比,本文所設計的將邊緣計算與電力運營管理數據進行融合的方法,在面對攻擊程序時,仍然可以進行數據的加密傳輸,并且傳送的數據尺寸與原始分組的數據十分相近,在原始數據包具有50kB時能夠做到49.8kB的數據傳輸,而對照組Ⅰ只能傳輸41.2kB,而對照組Ⅱ智能傳輸39.8kB。試驗結果表明,所提出的基于邊緣計算的電網運行數據加密算法具有更高的效率,能夠對電網運行數據進行更好地加密和傳輸。
本文針對邊緣計算下電力運維數據安全進行加密,以加密后的數據完整性為立足點,設計了相關方法。但是,在試驗準備方面仍存在著一些漏洞,即沒有對密碼算法的運行時間進行檢驗。