李林,左天才,杜澤新,謝志奇
(貴州烏江水電開發(fā)有限責任公司,貴州貴陽 550002)
為預防水電廠運營故障或異常,設置在線監(jiān)測裝置,實時保障電力設備的安全健康運行[1]。大數(shù)據(jù)安全一直被廣泛關注[2],因此,設計安全存儲系統(tǒng)具有重要現(xiàn)實意義。
谷保平[3]和余海波等[4]的研究成果均對數(shù)據(jù)安全存儲起到一定作用,但忽略了存儲節(jié)點選擇的重要性導致安全性有限。
文中結(jié)合前人研究經(jīng)驗,以水電廠在線監(jiān)測數(shù)據(jù)為研究對象,研究了一種基于LSM 樹的數(shù)據(jù)安全存儲系統(tǒng),增強數(shù)據(jù)安全性和提高存儲效率。
在線監(jiān)測裝置實時采集水電廠數(shù)據(jù)后,自動發(fā)送至處理控制終端,完成數(shù)據(jù)存儲。為保證數(shù)據(jù)安全,設計一種水電廠在線監(jiān)測數(shù)據(jù)安全存儲系統(tǒng)[5]。系統(tǒng)總體分為四部分:硬件接口層、數(shù)據(jù)傳輸層、數(shù)據(jù)存儲層以及安全功能模塊層。系統(tǒng)框架如圖1 所示。
圖1 安全存儲系統(tǒng)框架
1)硬件接口層:與水電廠在線監(jiān)測裝置和數(shù)據(jù)傳輸鏈路相連接,水電廠在線監(jiān)測裝置采集數(shù)據(jù)之后,轉(zhuǎn)發(fā)給傳輸鏈路[6]。
2)數(shù)據(jù)傳輸層:與存儲節(jié)點相連,借助安全傳輸算法或協(xié)議,安全傳輸數(shù)據(jù)到存儲節(jié)點上[7]。
3)數(shù)據(jù)存儲層:包含多個存儲節(jié)點,存放數(shù)據(jù)。
4)安全功能模塊層:包含安全存儲的算法或程序,為實現(xiàn)數(shù)據(jù)安全存儲提供功能性服務[8]。
LSM 樹是基于磁盤的樹狀數(shù)據(jù)存儲結(jié)構(gòu),分為內(nèi)存層和磁盤層[9]。前者指微處理器中的內(nèi)部存儲器RAM,當RAM 存儲量達到限值,數(shù)據(jù)轉(zhuǎn)移到外部磁盤,完成數(shù)據(jù)存儲。此模型包括磁盤組件和RAM內(nèi)存組件C0-Ci,C0 存于RAM,C1-Ci存于磁盤,數(shù)據(jù)從C0 轉(zhuǎn)存到C1-Ci[10]。具體過程如下:
步驟1:采集水電廠在線監(jiān)測數(shù)據(jù),經(jīng)過鏈路傳輸寫入C0;
步驟2:持續(xù)寫入水電廠在線監(jiān)測數(shù)據(jù);
步驟3:判斷C0 寫入的數(shù)據(jù)量是否達到設定的閾值,若達到則下一步,否則回到步驟2;
步驟4:將C0 水電廠在線監(jiān)測數(shù)據(jù)異步滾動歸并至C1-Ci。過程如下:
1)選取C1,將C1 最左下角的葉節(jié)點中數(shù)據(jù)保存到緩存區(qū);
2)C0 與C1 升序合并;
3)將合并后的數(shù)據(jù)存儲到新的磁盤,生成新的存儲節(jié)點[11]。
基于LSM 樹的數(shù)據(jù)存儲模型將數(shù)據(jù)分批寫入磁盤,能緩解內(nèi)部存儲壓力和提高數(shù)據(jù)存儲效率,但不能達安全防護作用[12]。為提高數(shù)據(jù)存儲的安全性,設計三個數(shù)據(jù)防護安全防護模塊。
1)入侵檢測模塊
水電廠在線監(jiān)測數(shù)據(jù)傳輸路徑安全性較為薄弱,在傳輸鏈路設置入侵檢測模型,檢測非法攻擊,及時干預,保證數(shù)據(jù)傳輸安全[13]。其實現(xiàn)的關鍵是在線監(jiān)測數(shù)據(jù)特征的選取以及異常識別。特征選取公式如下:
式中,p代表特征重要性;xi代表在線監(jiān)測數(shù)據(jù)第i個特征的信息熵;n代表特征數(shù)量。
異常識別用分類決策函數(shù)做入侵檢測[14]。函數(shù)表達式如下:
式中,y代表決策值,當存在入侵風險時,y≥1,其他情況y<1;wi代表第i個特征的輸出權(quán)值;f代表激勵函數(shù);ai代表第i個特征的輸入權(quán)值;b代表偏置項。
2)安全訪問模塊
安全訪問模塊是控制用戶對存儲磁盤無權(quán)、越權(quán)的訪問,防止數(shù)據(jù)泄露,保證數(shù)據(jù)安全[15]。具體過程如下:
步驟1:用戶發(fā)出訪問申請;
步驟2:用戶身份驗證。通過則進行下一步;否則,拒絕訪問;
步驟3:計算用戶信任度。收集用戶的行為證據(jù)并標準化處理,記為g1,g2,…,gN,N代表用戶行為證據(jù)的數(shù)量。信任度計算公式如下:
式中,Hkj代表第k個用戶截至第j次請求時的信任度;qkj代表用戶行為證據(jù)與對應權(quán)重的乘積;tj代表第j次請求的服務時間;Rj代表時間衰減函數(shù),取值0~1。
步驟4:根據(jù)信任度為用戶分配服務等級。服務等級決策函數(shù)如下:
式中,L(Hkj)代表服務等級決策函數(shù);L=l1,l2,l3,…,ls代表服務等級空間;s為服務等級數(shù)量。
步驟5:根據(jù)服務等級授予用戶權(quán)限。
步驟6:實時監(jiān)控用戶行為,實時反饋信任狀態(tài)。
步驟7:根據(jù)反饋調(diào)整用戶訪問權(quán)限。
3)數(shù)據(jù)加密模塊
若前兩個安全服務模塊不能保證數(shù)據(jù)安全,還需設計數(shù)據(jù)加密模塊。對數(shù)據(jù)本身進行加密,達到不可篡改和不可破解數(shù)據(jù)的目的[16-18]。數(shù)據(jù)加密過程如下:
步驟1:將用戶的輸入?yún)?shù)B輸入到密鑰生成算法δ,得到密鑰,記為Key;
步驟2:利用混沌系統(tǒng)對數(shù)據(jù)加密。理論公式如下:
式中,a代表混沌參數(shù);f(C)代表加密后的水電廠在線監(jiān)測數(shù)據(jù);f代表混沌函數(shù)。
步驟3:加密之后得到密文并保存到密文空間。其描述如下:
其中,U代表密文空間。
步驟4:將密文保存到明文磁盤空間。
步驟5:合法用戶能利用密鑰Key 解開密文,恢復水電廠在線監(jiān)測數(shù)據(jù)明文。
經(jīng)上述研究,完成基于LSM 樹的數(shù)據(jù)安全存儲模型設計。
水電廠在線監(jiān)測數(shù)據(jù)樣本來自30 個不同監(jiān)測裝置,具體如表1 所示。
表1 水電廠在線監(jiān)測數(shù)據(jù)樣本
針對表1 中數(shù)據(jù)樣本,設置4 個存儲磁盤,容量以及存儲速率如圖2 所示。
圖2 存儲磁盤的容量以及存儲速率
3.3.1 系統(tǒng)存儲性能
將30 個水電廠在線監(jiān)測數(shù)據(jù)樣本寫入4 個存儲磁盤,統(tǒng)計每個磁盤的寫入性能及磁盤存儲空間利用率,結(jié)果如圖3、圖4 所示。
圖3 磁盤的寫入性能
圖4 磁盤存儲空間利用率
由圖3、圖4 可知,4 個磁盤的寫入數(shù)據(jù)量始終維持100 kB 以上,磁盤存儲空間利用率均達到90%以上,說明系統(tǒng)存儲性能較為優(yōu)越。
3.3.2 系統(tǒng)安全性測試
系統(tǒng)安全性測試包括入侵分辨性能測試和密文敏感性測試兩部分。
1)入侵分辨性能測試
以NSL-KDD 數(shù)據(jù)集為對象,測試系統(tǒng)的入侵分辨性能,結(jié)果如圖5 所示。
圖5 入侵防御測試結(jié)果
由圖5 可知,合法數(shù)據(jù)和非法數(shù)據(jù)的靈敏度系數(shù)均大于1.0,表示系統(tǒng)的抵御性能較好,該系統(tǒng)能很好地分辨出非法攻擊,保證數(shù)據(jù)安全。
2)密文敏感度測試
30 個水電廠在線監(jiān)測數(shù)據(jù)樣本加密后的敏感度測試結(jié)果如表2 所示。
表2 密文敏感度測試
由表2 可知,所有樣本的敏感度均小于10%,密文破解風險較低,水電廠在線監(jiān)測數(shù)據(jù)加密后,數(shù)據(jù)安全性較高,實現(xiàn)了安全存儲。
水電廠在線監(jiān)測數(shù)據(jù)對水電廠維修工作有重要參考作用,為保證數(shù)據(jù)安全,文中設計了基于LSM 樹的水電廠在線監(jiān)測數(shù)據(jù)安全存儲系統(tǒng),實現(xiàn)了數(shù)據(jù)高性能存儲和數(shù)據(jù)高安全性,經(jīng)測試,在存儲、安全兩個方面的性能,均達到研究目標。