周振華,呂繼偉,徐若然,冒蕾蕾
(1.國網電力科學研究院,北京 102200;2.北京電研華源電力技術有限公司,北京 102200)
隨著網絡信息技術的不斷發(fā)展,網絡信息安全已成為社會關注的熱點。智能配電網建設過程中實施的配電自動化系統(tǒng),主要包括配電終端、配電網通信設備、數(shù)據網絡以及監(jiān)控主站系統(tǒng)設備等,是電力系統(tǒng)面向最終用戶供電的重要基礎設施。配電環(huán)節(jié)作為用戶供電的最后一個環(huán)節(jié),在保證供電可靠性和質量的基礎上,進一步完善信息安全和防止惡意破壞是系統(tǒng)需要考慮的另一重要問題。作為電力系統(tǒng)二次設備,其安全防護的目標是抵御病毒、黑客等通過各種形式發(fā)起的惡意破壞和攻擊,尤其是集團式攻擊,重點保護電力實時閉環(huán)監(jiān)控系統(tǒng)及調度數(shù)據網絡的安全,防止由此引發(fā)的電力系統(tǒng)事故。隨著配電網快速發(fā)展,配電二次系統(tǒng)的安全問題已經非常突出。2006年電監(jiān)會發(fā)布了《電力二次系統(tǒng)安全防護總體方案》及配套的《配電二次系統(tǒng)安全防護方案》,對配電網自動化系統(tǒng)、電力負荷管理系統(tǒng)等二次系統(tǒng)的安全防護措施做出了原則性規(guī)定。2011年國家電網公司制定了《中低壓配電網自動化系統(tǒng)安全防護補充規(guī)定(試行)》,對配電網二次系統(tǒng)安全防護方案中的相關措施做進一步細化與補充。
電力二次系統(tǒng)安全防護的總體原則是“安全分區(qū)、網絡專用、橫向隔離、縱向認證”。配電網自動化系統(tǒng)主站與子站及終端的通信方式原則上以電力光纖通信為主,對于不具備電力光纖通信條件的末梢配電終端,采用無線通信方式,這樣就容易使配電二次系統(tǒng)面臨來自公共網絡攻擊的風險,可能會引起惡意攻擊設備事故。因此,配電網自動化系統(tǒng)的安全防護,除了遵循電力二次系統(tǒng)安全防護總體原則,還應防止通過公共網絡對子站終端進行攻擊,造成用戶供電中斷,同時防止通過公共網絡和用戶終端入侵主站,造成更大范圍的安全風險。目前的解決方案是在終端設備上配置安全加密模塊,安全加密模塊對來源于主站系統(tǒng)的控制命令和參數(shù)設置指令采取安全鑒別和數(shù)據完整性驗證措施,以防范冒充主站對子站終端進行攻擊,惡意操作電氣設備,影響供電安全。
但對于終端以及子站設備的就地操作,目前還缺乏有效的信息安全防護機制,盡管目前終端設備具備基本的防竊、防火、防破壞等物理安全防護措施,以及控制遠程操作的軟硬壓板,然而設備一旦通過外部暴力開啟物理防護措施后,即可通過操作面板的控制按鈕對設備進行操作,或者直接繞開安全加密設備連接子站及終端設備,按照標準規(guī)約查看終端的相關數(shù)據以及對設備進行遙控操作等,從而進一步侵入配電自動化系統(tǒng)網絡。
如何有效防護終端設備的就地安全操作是一個值得思考的問題,借鑒目前互聯(lián)網的安全防護以及身份識別技術,對配電主站系統(tǒng)以及子站終端采用身份識別技術,增加身份識別機制,從源頭確保設備操作的安全和穩(wěn)定。不論從主站對設備進行遠程操作、對終端設備就地進行操作以及數(shù)據查看等都需要先進行身份驗證,具有不同權限的身份經鑒別后才允許對設備進行操作,同時設備的控制閉鎖環(huán)節(jié)才會打開,允許運維人員的進一步操作。未經身份驗證的物理連接和操作控制都被視為非法操作,一旦發(fā)生,將會自動提升設備安全防護級別,閉鎖全部相關設備的操作控制,并及時向主站上傳報警信息并定位,提示系統(tǒng)的異常侵入。
身份認證服務是提供網絡系統(tǒng)安全中其他安全服務的前提和基礎。如果不能準確識別網絡通信端對端實體的真實身份,就不可能建設一個穩(wěn)定、有序、安全可靠的自動化系統(tǒng)。因此,研制和開發(fā)適合配電網自動化系統(tǒng)的身份認證安全機制及技術具有重要意義,能夠極大地提升社會經濟效益,促進配電網建設的信息化、智能化發(fā)展。
USB Key是一種便攜式的硬件載體,具備通用的USB接口,內置控制核心或智能芯片,并且可以存儲持有人的私有密鑰和數(shù)字簽名證書,利用USB Key進行身份驗證可以通過內置公鑰算法進行,而身份認證的安全性在于私鑰保存在USB Key中,常規(guī)方法難以獲得。
USB Key的優(yōu)點包括:體積小巧,攜帶方便,個人PIN碼保護,安全存儲,內置硬件算法。一般地,用戶可以通過USB Key內部的加密算法生成密鑰或者設置個人PIN碼,來實現(xiàn)內部文件的操作權限。USB Key的安全性保障從原理上講,一是提供雙因子認證,即USB Key硬件介質和個人PIN碼(密鑰),獲得USB Key的操作權限需要同時獲取內外部驗證,操作權限獲得后要想對其內部文件進行操作還需要持有人提供個人PIN碼或由USB Key內部生成的私鑰來實現(xiàn);二是私鑰只從USB Key內產生,不會出現(xiàn)在注冊計算機中,外部不可見;三是USB Key只進行加解密和證書驗證操作,不會泄露密鑰實現(xiàn)算法,可以確保數(shù)據的安全?;谝陨蟽?yōu)點,USB Key被廣泛應用于電子商務、金融等信息安全要求極高的場合來進行身份驗證識別,因此考慮配電網自動化系統(tǒng)采用USB Key進行安全身份驗證[1]。
針對配電網自動化系統(tǒng)面臨的安全風險,USB Key作為其安全身份驗證要著重考慮以下幾個問題[2-5]:
(1)抵抗重放攻擊 利用二維認證消息加時間戳、為認證消息添加當前時標以及動態(tài)推進認證消息等方法確保認證信息的及時有效,抵抗重放攻擊。
(2)抵抗密碼分析攻擊 通過對稱、非對稱加密算法保護以及散列函數(shù) (HASH)的單向性來實現(xiàn)認證過程抵抗密碼分析攻擊,確保加密的安全性。
(3)雙向身份認證功能 主站和終端應均能對對方的身份進行驗證,防止信息單向傳遞過程中泄露。
(4)多因子身份認證 高安全強度的身份認證服務往往需要多重因子,即使單一因子的丟失或者泄露也不會引起認證系統(tǒng)的危機或被冒充的風險。
(5)提高身份認證協(xié)議的效率 簡練并且安全的認證協(xié)議可以減少認證通信的次數(shù),提供可靠性,減弱被攻擊的風險。
配電網自動化系統(tǒng)的安全身份認證機制采用動態(tài)口令認證機制中的請求—響應方式,可實現(xiàn)客戶端和認證服務器的雙向認證,同時保證了客戶端和服務器認證信息的同步。基于USB Key的配電網自動化系統(tǒng)安全性身份認證也需要配電網系統(tǒng)對于該接口設備的支持,系統(tǒng)主站側和終端側需要有支持USB Key對應的接口,而且還需要支持客戶端代理程序的運行。一般地,終端應具備人機交互的顯示界面和鍵盤輸入設備,能夠輸入身份認證的相關信息提供給USB Key進行驗證。
配電網自動化安全驗證系統(tǒng)總體構架如圖1所示,架構共分為3層:第一層主站安全認證系統(tǒng)層,包括配電自動化系統(tǒng)主站服務器、安全認證服務器、Key注冊服務器;第二層為網絡層,主要包括系統(tǒng)通信光纖網及通信設備;第三層是設備層,主要包括用戶數(shù)據、運維操作人員、USB Key接入設備、終端以及安全加密設備等部分。
身份驗證機制的流程要依賴于3層系統(tǒng)架構,具體實現(xiàn)分為3個階段:第一階段為設備注冊階段,主要在主站系統(tǒng)層實現(xiàn);第二階段為雙向認證及ID識別階段,需要3層架構配合實現(xiàn);第三個階段為用戶注銷階段,由主站系統(tǒng)層實現(xiàn)。
在認證流程執(zhí)行中,主要用到的加密算法包括:SHA-1,3DES,ECC等。用戶PIN為身份識別碼,ID為USB Key的ID號,此號唯一;R為隨機數(shù);hc()為認證服務器SHA-1加密算法的消息函數(shù);hu()為 USB Key中SHA-1加密算法的消息函數(shù);K,KR,KL為3DES的算法密鑰;h()為單項散列函數(shù)。
設備注冊階段首先需要在身份認證服務器端完成注冊用戶接入設備的認證,注冊通過后才可以參與設備接入的身份認證。對于用戶接入的認證信息,首先由注冊服務器為申請用戶分配一個USB Key,并記錄該Key唯一的ID序列號。服務器在本地數(shù)據庫中為該用戶創(chuàng)建一條包含ID號、服務器端上次認證信息、服務器端本次認證信息的消息記錄。
圖1 配電網自動化安全驗證系統(tǒng)總體構架
隨后,USB Key還需要進行PIN碼和ID的注冊寫入,將兩者信息寫到USB Key硬件存儲區(qū)域,并且USB Key存儲該用戶ID認證過程中所需要的加解密算法。
3.2.1 用戶PIN碼驗證
用戶插入USB Key至終端設備的USB接口,終端液晶界面顯示客戶端代理程序窗口,用戶通過鍵盤輸入PIN碼,客戶端代理程序向USB Key端申請發(fā)送隨機數(shù)。
USB Key收到請求向客戶端程序發(fā)送一個隨機數(shù)R,并標記一次認證。
客戶端程序將得到的R和PIN碼進行3DES加密得到E,加密過程算法對應于E=DES(KL)[DES-1(KR)][DES(KL[R+PIN])]],加密后的密文傳輸給USB Key。
USB Key通過3DES算法解密E得到R和PIN碼,分別與內部存儲的R和PIN碼做比對,如果對比一致說明用戶為合法用戶,然后開啟USB Key-ID驗證程序,同時向終端發(fā)送合法用戶驗證信息,授權用戶使用通信信道進行ID驗證;否則說明用戶為非法,將結果返回給客戶端的認證程序,顯示非法用戶信息,并通過終端的通信通道向主站服務器發(fā)送報警信息,提示異常非認證接入終端節(jié)點。USB Key用戶PIN碼驗證流程圖如圖2所示。
圖2 USB Key用戶PIN碼驗證流程圖
3.2.2 USB Key-ID驗證
USB Key-ID驗證過程實際為雙向驗證,即分別對接入的USB Key和認證服務器系統(tǒng)分別進行驗證,驗證過程如下。
認證服務器接到USB Key,通過終端發(fā)送的請求身份驗證信號后,產生隨機數(shù)C傳給USB Key,并用SHA-1算法加密C得到hc(C)。
USB Key接收C后,根據 ECC(Elliptic Curve Crypto)算法產生一對密鑰(公鑰K1和私鑰K2),并通過同樣的SHA-1算法加密C得到hu(C),同時生成一個時間戳t,發(fā)送密文m={hu(C),K1,t}到認證服務器,請求服務器驗證 USB Key身份,最后再利用SHA-1算法加密K1,得到hu(K1)。認證服務器接收密文m,解密m并提取hu(C),與hc(C)對比,如果不相等拒絕對方的鏈接。
除了驗證隨機數(shù)還需要驗證t′與t之間的有效性。如果(t′-t))≥Δt,認證服務器將斷開連接,小于間隔時間則接受。其中,t′是認證服務器的當前時間戳,Δt是期望的有效時間間隔,此時,USB Key身份驗證完畢。同時,認證服務器將K1用內部存儲的SHA-1算法加密得到hc(K1),同時生成一個時間戳T,根據ECC算法生成一對密鑰(公鑰P1和私鑰P2),發(fā)送密文M={P1,hc(K1),T}給 USB Key,使 USB Key驗證認證服務器的身份,USB Key端接收到密文M后,通過解密算法提取hc(K1)并比較hu(K1)與hc(K1)是否相等,如果不相等斷開鏈接。
同樣地,還需要驗證T′與T之間的有效性。如果T′-T≥ΔT,USB Key將斷開與服務器連接,否則接受。當USB Key確認對方為合法認證服務器身份后,即雙向認證過程通過,認證服務器還要驗證USB Key的ID信息,通過ID信息可以識別出連接發(fā)起人的權限和身份等相關信息,便于開放相應的操作權限,具體過程:USB Key將P1和K2利用ECC加密h(ID)和T,發(fā)送Z=Ep1(EK2(h(ID)+T))給認證服務器。
認證服務器得到Z后利用P2和K1進行解密,得到明文Z′=DP2(DK1(Z))=h(ID)+T,比對T是否一致,如果一致就將h(ID)與數(shù)據庫中存儲的字段進行匹配以確認身份,以便賦予其相關權限;否則斷開鏈接。接入Key和認證服務器的雙向驗證以及ID驗證流程如圖3所示。
整個身份安全驗證算法過程如圖4所示。
用戶忘記PIN碼或丟失USB Key硬件設備,需立即聯(lián)系生產廠商進行索取PIN碼或者注銷。
圖3 雙向驗證以及ID識別流程
圖4 認證服務器算法過程
本文研究了基于USB Key技術的配電網自動化安全身份認證機制,設計了配電網自動化安全驗證系統(tǒng)總體架構,采用的USB Key通過軟硬件相結合雙向雙因子認證模式并基于動態(tài)口令認證的請求—響應方式認證協(xié)議,實現(xiàn)了配電網末端安全風險的有效防控,并具備了如下功能:
(1)能夠抵抗重放攻擊;
(2)能夠抵抗密碼分析攻擊;
(3)可實現(xiàn)雙向身份認證和多因子身份認證;
(4)提高了身份認證協(xié)議的效率。
未來隨著保密需求的不斷加強,將生物特征識別引入USB Key,利用生物特征作為PIN碼,從而確定使用者的確是被授權者,這將在今后USB Key發(fā)展中成為主要的發(fā)展方向。
[1] 宮立圓.公鑰密碼算法在USB Key中關鍵技術的研究[D].濟南:山東大學,2010.
[2] 曹喆.基于USB Key的身份認證機制的研究與實現(xiàn)[D].上海:東華大學,2010.
[3] 候孟波.基于身份和無證書的兩方認證密鑰協(xié)商協(xié)議研究[D].濟南:山東大學,2010.
[4] ZHANG Ping,PEI Ya-nan.A Technology of User Access-Control Table and Identity Authentication Based on USB in LAN[C].Biomedical Engineering and Computer Science(ICBECS),Wuhan,2010.
[5] YU Jiang,ZHANG Chuan-fu.Design and Analyis of a USB-Key Based Strong Password Authentication Scheme[C].Computational Intelligence and Software Engineering(CISE),Wuhan,2010.