數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

由于電力需求側(cè)管理系統(tǒng)所需監(jiān)測(cè)的大用戶(hù)點(diǎn)多、面廣,現(xiàn)場(chǎng)情況復(fù)雜,主站和終端之間數(shù)據(jù)傳輸選用了目前較為經(jīng)濟(jì)實(shí)用的GPRS/CDMA無(wú)線(xiàn)信道。

由于無(wú)線(xiàn)信道在用戶(hù)側(cè)、公共無(wú)線(xiàn)網(wǎng)絡(luò)、無(wú)線(xiàn)通信運(yùn)營(yíng)商服務(wù)器等幾個(gè)環(huán)節(jié)安全性低,數(shù)據(jù)傳輸過(guò)程中容易被竊取,篡改和破壞,可能對(duì)電能計(jì)量準(zhǔn)確性、負(fù)荷控制指令的安全下達(dá)造成嚴(yán)重的負(fù)而影響,對(duì)電網(wǎng)的安全穩(wěn)定運(yùn)行構(gòu)成重大威脅。為確保數(shù)據(jù)傳輸?shù)陌踩仨氝x擇一種可靠的加密算法對(duì)數(shù)據(jù)文件加密,既能夠快速、簡(jiǎn)單地完成加密工作,又不影響數(shù)據(jù)的傳輸效率,保證正常的采集和處理。

一、電力需求側(cè)系統(tǒng)現(xiàn)狀

目前國(guó)內(nèi)生產(chǎn)的大用戶(hù)負(fù)控終端和配變監(jiān)測(cè)終端基本上沒(méi)有針對(duì)無(wú)線(xiàn)數(shù)據(jù)傳輸采用相關(guān)的安全措施。在終端中增加包含獨(dú)立運(yùn)算單元和存儲(chǔ)器的加密模塊,用于輔助終端CPU進(jìn)行數(shù)據(jù)文件加密和解密運(yùn)算,能夠快速、簡(jiǎn)單的完成對(duì)數(shù)據(jù)文件加密、解密處理工作。

二、數(shù)據(jù)文件加密模塊的加密算法

1、加密算法選擇

一般加密和解密分為對(duì)稱(chēng)加密算法和非對(duì)稱(chēng)加密算法,對(duì)稱(chēng)密鑰加密算法,又稱(chēng)傳統(tǒng)加密算法、秘密密鑰密碼算法,加密和解密使用相同的密鑰;非對(duì)稱(chēng)加密算法,又稱(chēng)公開(kāi)密鑰加密算法,加密和解密使用不同的密鑰,把加密密鑰公開(kāi),解密密鑰保密。由于非對(duì)稱(chēng)加密算法密鑰管理難度較大,且運(yùn)算效率低,因此,數(shù)據(jù)文件加密模塊主要加密算法采用對(duì)稱(chēng)加密算法。

對(duì)稱(chēng)加密算法用來(lái)對(duì)敏感數(shù)據(jù)等信息進(jìn)行加密,常用的算法包括:

(1)DES(Data Encryption Standard):數(shù)據(jù)加密標(biāo)準(zhǔn),速度較快,適用于加密大量數(shù)據(jù)的場(chǎng)合;

(2)3DES(Triplc DES):是基于DES,對(duì)一塊數(shù)據(jù)用三個(gè)不同的密鑰進(jìn)行三次加密,強(qiáng)度更高;

(3)AES( Advanced Encryption Standard):高級(jí)加密標(biāo)準(zhǔn),是下一代的加密算法標(biāo)準(zhǔn),速度快,安全級(jí)別高;

經(jīng)過(guò)與3DES算法的比較(如表1),AES最為符合電力需求側(cè)管理系統(tǒng)數(shù)據(jù)文件加密的需要。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

2、加密算法的改進(jìn)

雖然以當(dāng)前的計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)水平,要破解128位密鑰幾乎是不可能的,但是由于AES對(duì)稱(chēng)加密算法本身特性,在應(yīng)用于電力需求側(cè)管理系統(tǒng)時(shí),主站和終端使用相同鑰匙,分發(fā)過(guò)程中存在一定的安全漏洞,因此,加密算法在設(shè)計(jì)過(guò)程中,在AES基礎(chǔ)上,補(bǔ)充結(jié)合了地址域拆解與拼接算法、隨機(jī)數(shù)填充算法和CBC算法,進(jìn)一步提高加密強(qiáng)度和實(shí)用性。

(1)地址域拆解與拼接算法

數(shù)據(jù)文件加密傳送采用每終端一密鑰的形式,密鑰與終端地址相綁定,主站端通過(guò)終端地址獲取密鑰進(jìn)行加密/解密,故地址域不參與加密。對(duì)用戶(hù)數(shù)據(jù)進(jìn)行加密前,將地址域從用戶(hù)數(shù)據(jù)中拆分出來(lái),另行保存;加密后,再將地址域與密文進(jìn)行拼接。對(duì)用戶(hù)數(shù)據(jù)密文進(jìn)行解密時(shí)同樣需要先將地址域進(jìn)行拆解,解密后再與明文進(jìn)行拼接。

(2)隨機(jī)數(shù)填充算法

由于AES為塊加密算法,要求的明文塊長(zhǎng)度為128位(16字節(jié)),而需求側(cè)系統(tǒng)數(shù)據(jù)傳輸中大多數(shù)明文數(shù)據(jù)長(zhǎng)度不滿(mǎn)足加密算法的要求,需要填充一定長(zhǎng)度的數(shù)據(jù),使數(shù)據(jù)包長(zhǎng)度為16字節(jié)的整數(shù)倍。填充規(guī)則描述如下:

計(jì)算明文長(zhǎng)度為n,在明文數(shù)據(jù)前增加2字節(jié),用于存儲(chǔ)明文數(shù)據(jù)長(zhǎng)度n,采用BIN編碼,低字節(jié)在前,高字節(jié)在后。如果(n+2) mod 16 >0,在明文數(shù)據(jù)后增加16 - (n+2) mod 16字節(jié),每字節(jié)均為OOH—FFH的隨機(jī)數(shù);如果(n+2) mod 16 =0時(shí)明文數(shù)據(jù)后不做填充。解密時(shí)根據(jù)此規(guī)則進(jìn)行數(shù)據(jù)截取處理。

(3)CBC算法

加密時(shí),每一個(gè)明文塊進(jìn)行加密運(yùn)算之前跟上一個(gè)加密運(yùn)算結(jié)果數(shù)據(jù)塊進(jìn)行XOR運(yùn)算(如圖1)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

解密時(shí),每一個(gè)解密運(yùn)算得到的解密結(jié)果數(shù)據(jù)塊跟上一個(gè)密文塊進(jìn)行XOR運(yùn)算(如圖2)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

3、加密解密運(yùn)算流程

(1)加密

首先把接受到的數(shù)據(jù)包通過(guò)地址域拆解與拼接算法,將數(shù)據(jù)包拆解成2部分,分別是地址域部分和控制域、鏈路用戶(hù)數(shù)據(jù)部分。由于使用AES加密算法要求的明文塊長(zhǎng)度為128位(16字節(jié)),而大多數(shù)明文數(shù)據(jù)長(zhǎng)度不滿(mǎn)足加密算法的要求,需要填充一定長(zhǎng)度的數(shù)據(jù),所以需要使用填充算法將數(shù)據(jù)包填充到16字節(jié)的整數(shù)倍。然后用CBC和AES加密算法將填充好的數(shù)據(jù)進(jìn)行加密處理,得到新的加密后的數(shù)據(jù)包和地址包,最后再使用地址域拆解與拼接算法將地址域填充到數(shù)據(jù)包里面,得到最后經(jīng)過(guò)加密的數(shù)據(jù)包(如圖3)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

由于每次加密處理時(shí),均需要取上次數(shù)據(jù)的最后16字節(jié)數(shù)據(jù)作為初始化向量,這樣就使得在整個(gè)通信過(guò)程中,每個(gè)報(bào)文之間具有邏輯關(guān)聯(lián)性,從而避免了攻擊者對(duì)指令報(bào)文的惡意攔截和偽造。

(2)解密

解密流程與加密流程相反。

三、電力需求側(cè)系統(tǒng)工作流程簡(jiǎn)介

1、文件加密模塊工作流程簡(jiǎn)介

加密模塊安裝在負(fù)控終端或配變監(jiān)測(cè)終端中,從終端中獲取共地的供電電源。模塊與終端之間通過(guò)兩根串行通訊線(xiàn)連接,采用全雙工異步串行通信方式交換數(shù)據(jù)。模塊內(nèi)置獨(dú)立CPU和存儲(chǔ)器,執(zhí)行加解密計(jì)算不影響終端正常運(yùn)行。

終端通過(guò)串行接口連接到加密模塊。終端CPU在對(duì)數(shù)據(jù)進(jìn)行組包、發(fā)送之前,調(diào)用加密模塊,執(zhí)行數(shù)據(jù)加密;在接收到數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行拆包處理后,調(diào)用加密模塊,執(zhí)行數(shù)據(jù)解密。數(shù)據(jù)按約定的串行通信規(guī)約在加密模塊和終端之間傳輸。加密模塊始終等待終端CPU向其發(fā)送數(shù)據(jù)幀,該數(shù)據(jù)幀申明需要加密模塊執(zhí)行何種計(jì)算(加密/解密)、需要計(jì)算的數(shù)據(jù)及其長(zhǎng)度。加密模塊計(jì)算完畢后立即向終端發(fā)送返回?cái)?shù)據(jù)幀,此數(shù)據(jù)幀同樣申明加密模塊執(zhí)行的計(jì)算類(lèi)型、計(jì)算結(jié)果及其數(shù)據(jù)長(zhǎng)度(如圖4)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

2、主站工作流程簡(jiǎn)介

在系統(tǒng)檔案的錄入階段,操作人員首先要將終端地址和其對(duì)應(yīng)的通信密鑰等數(shù)據(jù)事先錄入主站數(shù)據(jù)庫(kù)。

(1)解密

當(dāng)需求側(cè)系統(tǒng)主站接收到來(lái)自終端的報(bào)文時(shí),首先進(jìn)行拆包,得到終端地址和用戶(hù)密文數(shù)據(jù),然后根據(jù)地址到數(shù)據(jù)庫(kù)中讀取對(duì)應(yīng)的密鑰,最后通過(guò)密鑰及調(diào)用解密程序?qū)τ脩?hù)密文數(shù)據(jù)進(jìn)行解密(如圖5)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

(2)加密

當(dāng)需求側(cè)系統(tǒng)主站需要下發(fā)命令(如參數(shù)設(shè)置命令、負(fù)荷控制命令等)時(shí),首先根據(jù)終端地址獲取對(duì)應(yīng)密鑰,然后將密鑰和主站事先組織好的數(shù)據(jù)明文一起通過(guò)調(diào)用加密程序?qū)?shù)據(jù)明文進(jìn)行加密,最后將數(shù)據(jù)密文組包形成數(shù)據(jù)報(bào)文下發(fā)至對(duì)應(yīng)的終端(如圖6)。

數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

3、系統(tǒng)容錯(cuò)處理

終端向加密模塊發(fā)送數(shù)據(jù)后100ms應(yīng)收到返回幀,如果未收到,應(yīng)嘗試重發(fā)1次,重發(fā)后仍無(wú)返回幀的應(yīng)視為加密/解密失敗。對(duì)于下行數(shù)據(jù)(主站向終端發(fā)送的報(bào)文)解密失敗的,應(yīng)向主站返回否認(rèn)幀;對(duì)于上行數(shù)據(jù)(終端向主站發(fā)送的報(bào)文)加密失敗的,應(yīng)直接發(fā)送明文。加密/解密失敗應(yīng)向主站上報(bào)“加密/解密失敗”事件,并使用明文傳送。

四、數(shù)據(jù)文件加密模塊在電力需求側(cè)系統(tǒng)中的應(yīng)用

電力需求側(cè)管理系統(tǒng)的實(shí)際數(shù)據(jù)傳輸,每一幀數(shù)據(jù)最高不超過(guò)320字節(jié),多數(shù)為160字節(jié)以下,模塊完成每次加解密運(yùn)算及與終端通信僅需時(shí)10至60毫秒,而終端與主站通信數(shù)據(jù)傳輸時(shí)間通常需要3至5秒,加解密過(guò)程占整個(gè)通信時(shí)長(zhǎng)比例極低。

自2006年8月電力需求側(cè)管理系統(tǒng)實(shí)施建設(shè)以來(lái),數(shù)據(jù)文件加密模塊已在全國(guó)各地獲得了較大范圍的應(yīng)用,經(jīng)歷了各種復(fù)雜現(xiàn)場(chǎng)環(huán)境的考驗(yàn),至今運(yùn)行效果良好,總體性能滿(mǎn)足設(shè)計(jì)指標(biāo)要求,從未發(fā)生因模塊質(zhì)量和運(yùn)行故障影響終端正常工作的現(xiàn)象,有效杜絕了數(shù)據(jù)被竊取、惡意修改和破壞,取得了良好的經(jīng)濟(jì)效益和社會(huì)效益。

數(shù)據(jù)文件加密模塊采用國(guó)際上先進(jìn)的、高強(qiáng)度的數(shù)據(jù)加密算法,通過(guò)提供唯一的終端身份識(shí)別及硬件級(jí)的密鑰保護(hù),大大提高了抗干擾能力和運(yùn)算、通信效率。它易于安裝使用,在實(shí)際應(yīng)用中,有效的防止了電力需求側(cè)管理系統(tǒng)數(shù)據(jù)傳輸過(guò)程中被竊取、篡改和破壞,保證了電能計(jì)量的準(zhǔn)確性以及負(fù)荷控制指令的安全下達(dá),對(duì)于保障電力需求側(cè)管理系統(tǒng)的正常運(yùn)行乃至電網(wǎng)運(yùn)營(yíng)的安全穩(wěn)定具有重要的意義,創(chuàng)造了較好的經(jīng)濟(jì)效益和社會(huì)效益。模塊將在實(shí)際運(yùn)行過(guò)程中根據(jù)需要不斷改進(jìn)和完善,爭(zhēng)取在今后的電力需求側(cè)管理系統(tǒng)建設(shè)中繼續(xù)發(fā)揮良好的作用和產(chǎn)生更大的效益。

小知識(shí)之電力需求側(cè)管理

電力需求側(cè)管理(Demand SideManagement,簡(jiǎn)稱(chēng)DSM)是指通過(guò)提高終端用電效率和優(yōu)化用電方式,在完成同樣用電功能的同時(shí)減少電量消耗和電力需求,達(dá)到節(jié)約能源和保護(hù)環(huán)境,實(shí)現(xiàn)低成本電力服務(wù)所進(jìn)行的用電管理活動(dòng)。