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