胡東方1,楚占鋒1,王 麗1,連新凱1,儲昭碧2,李 華2
(1.河南許繼儀表有限公司,河南 許昌 461000;2.合肥工業大學 電氣與自動化工程學院,安徽 合肥 230009)
摘 要: 本文針對智能電網中智能電表的移動抄表系統,在討論了基于無線通信的網絡結構與數據傳輸流程之后,分析了其數據安全性需求。基于CPK組合公鑰原理,提出了一種基于標識的移動抄表數據安全系統架構,給出了智能電表和移動終端的注冊與認證、敏感數據的加密與解密、傳輸差錯控制的算法,可實現對電力用戶隱私的保護,增加了數據的完整性,提高了智能電表計量和移動抄表系統運行的可靠性。
0 引言
在智能電網中,智能電表是測量和收集用戶側信息的最重要的終端設備。智能電表可以定時記錄用電數據,并將記錄的數據發送回電力企業,用于實時監測和管理;同時,通過接收電力企業發出的分時電價、分時段策略信號,可以地提示用戶或自動調整用電模式,從而實現需求側響應,做到“削峰填谷”以減少能源浪費和提高電力系統可靠性。
近年來,隨著無線通信技術和移動通信網絡的發展,越來越多的智能電表支持無線通信[1],主要包括WIFI、ZigBee、藍牙等技術。同時,越來越多的電力企業采用移動抄表終端抄錄電力用戶的用電信息,再通過中國移動、中國電信等移動公共網絡,把多個用戶的用電信息傳送到供電營銷系統。
這種基于無線傳輸的用電數據采集和通信極大地方便了用戶和供電企業,然而隨之而來的安全和隱私問題不容忽視。例如,不法分子可能通過無線傳輸傳輸偽造數據給智能電表,從而擾亂智能電表的正常運行;不法分子可能通過無線信道竊聽并分析用戶實時用電數據可能,從而推斷出用戶隱私信息,如住宅中使用的電器類型或用戶是否在家;如果對某一用戶收集了大量這樣的信息,則用戶的日常行為習慣也可能暴露。這些泄漏的隱私信息可能被用于有針對性的營銷或某些非法目的。因此,在方便收集并利用用戶用電數據的同時,保護與之相關的隱私信息不被泄露,是智能電表以及移動抄表技術領域的一個重要課題[2]。
近年來, 相關學者針對如何智能電網數據安全和保護電力用戶的隱私性做了大量的研究。鄧攀等[2]利用具有加法同態性質的對稱加密算法保護用戶實時用電數據的安全;劉文軍等[3]提出了一種使用IBE算法的安全方案;孟祥萍等[4]提出了基于盲簽名的數據聚合策略;刁鳳等[5]利用直接匿名認證過程中簽名者的匿名性隱藏用戶的身份,設計了一種根據用戶用電時間和用電量而動態改變費率的計費方案,獲得用戶真實賬單的同時,保護了用戶的實時消費數據。
此外,基于橢圓曲線難題的組合公鑰體制CPK(Combined public key),自提出以來,獲得廣泛關注[6-9]。該CPK體制具有復合特性,基于標識的組合密鑰體制,認證時不需要第三方證明,簡化系統結構,方便運行維護。本文依據CPK的原理,設計適合智能電網移動抄表系統的數據安全策略。
1 移動抄表的數據安全性需求
1.1 網絡結構與數據流程
常用的移動抄表系統的網路結構和數據傳輸流程如圖1所示,主要設備包括支持無線通信的多功能智能電表、移動抄表終端以及電力營銷系統。智能電表與移動抄表終端之間采用無線通信技術,主要包括WIFI、ZigBee、藍牙。移動抄表終端與營銷系統之間采用移動公網傳輸數據。
如圖1所示,一般的移動抄表的流程包括幾個步驟:第一步,移動終端通過S1、S2經由移動公網登錄營銷系統,營銷系統通過S3、S4把當前的抄表任務下達給抄表終端;第二步,抄表終端采用無線傳輸方式,通過S5的連接智能電表,通過S6獲取該用戶的用電數據;第三步,移動終端再通過S1、S2,把所抄錄的各個智能電表的用電數據傳送到營銷系統中,完成后一個完整的抄表任務。下次抄表任務的實施,表現為上述過程的循環。
此外,營銷系統的分時的時段信息、電價信息等供電政策性的控制與管理數據,也可以經由移動抄表終端下傳到各個智能電表中,以方便電力用戶據此調整自己的用電策略。
1.2 數據安全性需求分析
在以上結構和數據流程中,由于易受監聽而泄漏用戶隱私,或者接收到偽造的數據,因此所有無線信道都被認為是不安全信道。該移動抄表系統的數據安全性需求主要包括以下幾個方面:
(1)對智能電表而言:在傳輸數據之前,需要確定移動抄表終端身份的合法性;在傳輸用電數據給抄表終端過程中,要保證敏感數據的保密性,以維護用戶的隱私,要確保用電數據的完整性,不缺少內容。在從移動終端接收時段、電價等供電政策性信息時,要確認數據的真實性和完整性。
(2)對移動抄表終端而言:在與智能電表交換數據時,要確定所抄錄智能電表身份的合法性;要檢驗所收到的用戶用電數據的真實性和完整性,要保證傳輸給電表的時段、電價等供電政策性信息的完整性。在傳輸智能電表及其用電數據到營銷系統時,要確認營銷系統能夠接收自己的數據,要確保數據的完整性,還要確保用戶敏感數據的保密性,在接收營銷系統傳輸過來的數據時,要檢驗數據的真實性和完整性。
(3)對營銷系統而言:首先要檢驗每個移動終端身份的合法性,其次要檢驗每個移動終端所傳輸來的數據的真實性和完整性,最后要保證傳輸給每個移動終端的任務、時段、電價等控制與管理數據的完整性與保密性。
為達成上述數據安全性要求,本文提出的策略注重以下幾個方面[2]:
(1)設備認證。任何智能電表和移動終端的身份必須通過安全認證,才可以接入移動抄表網絡,才能與其他設備有效地交換數據。
(2)數據保密與隱私保護。所有重要數據,包括用電數據,重要的控制及管理信息都必須進行加密,然后再在營銷系統、移動終端、智能電表之間進行傳輸,只有具備相應解密密鑰的設備才可以獲取特定的真實的數據。其中,涉及用戶隱私的數據,只有具備特定權限的特定的設備才能解密獲取其真實內容。
(3)差錯控制與數據完整性。為了確保數據在傳輸過程不會由于某些干擾導致部分數據的缺失與損壞,需要采取傳輸差錯控制技術,通過發送方與接收方的多次確認,以保證數據的完整性。
上述方案的首要問題,在于采用合適的密鑰實現身份認證與數據加密,下面先簡單介紹一種組合密鑰技術(CPK)的原理。
2 CPK原理簡介
本文采用的組合公鑰技術CPK-ECC是在ECC 體制基礎上實現的基于標識的非對稱公共密鑰體制,密鑰分為私有密鑰和公有密鑰[9]。ECC體制可描述為:在有限域Fp 上,給定一組參數 (a, b, G, n, p)可定義橢圓曲線E:y2≡(x3+ax+b) mod p。其中:G為加法群的基點,(x, y)∈Fp ,n是以G為基點的群的階。令任意小于n的整數r為私鑰,則r G =R為對應公鑰。
ECC具有復合特性:任意多對私鑰之和與對應的公鑰之和構成新的公、私鑰對。設私鑰之和為:
(r1+r2+…+rm)mod n = r(1)
則對應公鑰的點加運算之和為:
R1+R2+…+Rm=R(2)
那么,r 和R剛好形成新的公、私鑰對。
基于標識的CPK密鑰的產生過程為:
(1)構建組合矩陣。CPK 的組合矩陣分為私鑰矩陣和公鑰矩陣,其大小均為32×32,分別用[ri,j]或[Ri,j]表示,ri,j是小于n 的隨機數,i,j=0,1,...,31。私鑰矩陣[ri,j]由密鑰管理中心KMC (Key Management Center) 保有,用于私鑰的生成,公鑰矩陣由私鑰矩陣派生
ri,j G=(xi,j, yi,j)=Ri,j (3)
公鑰矩陣分發到每一個實體,用于公鑰的計算。
(2)將實體標識映射為矩陣坐標。先依據標識映射密鑰HKey對標識ID進行Hash變換,得到二進制的比特序列,將輸出結果分為4個組,每組再分為9個比特碼,記為:
YS=Haah(ID,HKey)=(Wij)(4)
其中:i=0,1,2,3,j=0,1,…,8。在每個比特組中,Wij(i=0,1,2,3;j=1,2,…,8)的字長為5比特,用于選擇組合矩陣的行坐標。將組合矩陣的32個列分為4組,分別進行置換變換,得到組合矩陣的列坐標tij。置換變換的依據是W00、W10、W20、W30,其字長都為6比特,分別指出置換序號(3-bit)和置換起點(3-bit)。置換算法表示為:
tij=Table(Wi0)(i=0,1,2,3)(5)
其中:Table表示置換表,大小為8×8,屬于機密的。
(3)計算組合密鑰。用于標識ID的組合私鑰由密鑰管理中心KMC依據下式進行計算:
對應的組合公鑰,由依賴方依據下式計算:
基于上述原理,可以構建應用于移動抄表的數據安全系統,實現基于標識的身份認證、數據加密等數據安全保障措施。
3 基于CPK的移動抄表系統數據安全系統
3.1 系統結構
本文所提出的基于CPK的數據安全系統的架構如圖2所示,其中虛線箭頭代表離線傳輸數據[6]。
系統初始化模塊主要確定CPK的參數,包括ECC的參數(a, b, G, n, p),標識映射密鑰HKey,標識映射置換表Table,加密和解密函數。再在橢圓曲線密碼中,隨機選取32×32個公私鑰對(ri,j,Ri,j),分別構建私鑰矩陣和公鑰矩陣,生成CPK的組合矩陣,進而得到密鑰生成基。為保證密鑰系統的安全性,采用離線方式,將密鑰生成基提交給密鑰管理中心KMC。
在該數據安全系統中,智能電表、移動終端均作為客戶實體,各自具有唯一的標識ID值。
智能電表和移動終端的密鑰申請可在檢定環節完成。其流程為:
(1)把每個智能電表和每個移動終端當作用戶,分別依據其ID值向密鑰管理中心KMC的提出密鑰申請。KMC的注冊管理服務模塊受理用戶的申請,首先審查用戶身份,確認用戶是否已經存在、不同用戶名是否有相同的映射值。通過身份審查后,注冊管理服務模塊代理用戶利用專用網絡,向密鑰生成服務模塊提出密鑰申請。
(2)密鑰生成服務模塊初始化生成CPK系統所需的參數,包括公私鑰矩陣和其他參數;根據用戶標識ID和這些參數來計算該用戶的私鑰cskID,返回給注冊管理服務模塊。
(3)注冊管理服務模塊通過安全的途徑或者離線傳輸方式,把用戶私鑰cskID、公鑰矩陣一起發放給用戶。相當于用戶一次性獲得了所有的公鑰并完成了所用公鑰的認證。注冊管理服務模塊還可以通過安全的途徑或者離線傳輸方式,把該用戶的標識以及公鑰生成基等參數傳送給營銷系統的用戶標識數據庫。
3.2 數據安全的實現
針對圖2的數據安全系統架構,給出實現數據安全的思路。
(1)設備認證與數字簽名
設備的認證存在于智能電表與移動終端之間、移動終端與營銷系統之間。營銷系統和智能電表在接收數據之前,需要通過數字簽名認證技術確定移動終端的合法身份。兩次認證的思路基本相同,以下以營銷系統對移動終端的認證過程為例,說明設備認證的流程。
移動終端的簽名過程為:首先,選擇一個隨機數k(0<k<n),然后按下式依次計算:
kG=(x1,y1)c=(x1+y1)2 mod 2ms=k-1(h+c CSK) mod n (8)
其中:m用于選擇校驗碼的長度,可取值64,CSK代表移動終端的組合私鑰,h代表簽名對象,包括標識ID值、日期時間、Hash碼等,s是簽名碼,c為核對碼。移動終端把計算結果sign=(s, c)發送到營銷系統。
營銷系統的驗證過程為:依據移動終端的標識ID值,按照(7)式計算組合公鑰IPK,然后依據收到的sign=(s, c),按下式以此計算:
最后,比較計算得到d值與接收到的c值,若d=c,則通過身份認證,否則認為該設備非法。
(2)隱私保護與數據加密
為保護電力用戶的隱私,其用電信息等敏感數據需要進行加密處理,然后從智能電表傳輸給移動抄表終端,以及從移動終端傳輸給營銷系統。下面說明智能電表對數據加密,以及移動終端對數據解密的過程。
智能電表的加密過程:首先依據移動終端的ID值,計算移動終端的組合公鑰IPK,再選擇隨機數r,然后采用系統初始化確定的非對稱數據加密函數ENC,按照下式依次計算:
最后,智能電表把信息(msg,β)發送給移動終端。
移動終端解密的方法為:先利用自己的組合私鑰csk,計算解密密鑰Key,然后再對信息msg進行解密得到數據data,具體過程為:
(3)差錯控制與數據完整性
數據傳輸的完整性,首先要從鏈路層的數據協議方面保證。目前,已有多種校驗數據完整性的方法,主要有字節數據的奇偶校驗位校驗方法,信息幀的二進制和校驗碼的校驗方法。
另外,前述的數字簽名與身份認證方法,以及數據加密與解密的算法,均在一定程度按上保證了數據的完整性。這是因為,如果數據傳輸過程中,數據有所損壞或丟失,恰好又沒有被差錯控制算法檢測出來,在進行簽名認證和數據解密時,則難以通過認證檢驗及解密計算校核。
在絕大多數的數據傳輸協議中,都采用了檢錯重傳技術。如果由于字節奇偶校驗沒通過、信息幀校驗和校驗沒通過、數字簽名認證沒通過等原因,導致數據傳輸的完整性被破壞,接收方通常要重新發起數據通信的請求,在此進行新傳輸過程,3次傳輸失敗以后,才認定數據傳輸不能完成后,并且記錄數據傳輸失敗這一事件的時間等相關信息,以備將來查詢。
3.3 策略特色
本文所提出的數據安全策略,是基于CPK組合密鑰技術,具有以下特點[8]:
(1)基于標識的CPK安全系統的公私鑰對是通過選擇和組合公私鑰矩陣中的元素而產生的,從而實現基于標識的超大規模的密鑰生產與分發,并且不需要第三方的證明,簡化了系統結構;
(2)CPK的用戶公私鑰根據其標識由密鑰管理中心產生,有限的種子密鑰可形成非常大的密鑰空間,能實現對超大規模的智能電表及移動終端的管理;CPK可以采用靜態分發靜態管理的模式,可以理解為一個主管方的單層CA結構,用戶在注冊時就確認了認證關系,公私鑰可以分開存儲,認證管理的層級少、效率高,公鑰信息維護容易,不需要太多后續維護;
(3)CPK公、私鑰是統一由密鑰管理中心生成,用戶公鑰由用戶的ID值唯一確定,與智能電表或移動終端的編號之間的關系是一一對應的,密鑰的更換和撤銷相對比較容易,使得密鑰的管理便捷、高效、經濟;
(4)密鑰管理中心在將個體的私鑰分發給用戶的同時,還可以一次性傳輸所有的公鑰給該用戶,即一次就可實現對所有公鑰的認證,這特別適用于智能電表的密鑰管理。
4 結束語
本文討論了基于無線通信的智能電表移動抄表系統的數據傳輸流程,分析了移動抄表過程中的數據安全需求。基于CPK組合公鑰原理,提出了移動抄表數據安全系統架構,給出了設備認證、數據加密、傳輸差錯控制的算法,為供電企業建立移動抄表數據安全系統,提供了有實用意義的參考。
參考文獻
[1]陳俊,鄧桂平,戴曉華.基于無線傳感網絡的智能電網抄表系統研究[J]. 電測與儀表, 2010, 47(8):32-35.
[2]鄧攀,韓光輝,范波,盛義發. 一種智能電表的安全通信方案[J]. 電力信息與通信技術, 2015, 13(2):16-21.
[3]劉文軍,王棨,張宗萍,賈崢,蔣丹. TD-LTE智能電網中數據安全協議算法研究[J]. 電測與儀表,2014, 51(7):90-93.
[4]孟祥萍,周來,王暉,紀秀,程志明. 面向云計算的智能電網數據安全策略研究[J]. 電測與儀表, 2015, 52(13):105-110.
[5]刁鳳, 張方國. 智能電表的完整隱私保護系統[J]. 密碼學報, 2014, 1(4): 400–409.
[6]鄧輝舫, 鄧文, 田文春, 鄭東曦. CPK認證系統的設計及實現[J]. 計算機工程, 2008, 29(19): 4920–4922.
[7]張思高, 王麗芬, 蔣澤軍. 基于CPK的安全電子郵件系統的設計[J]. 微電子學與計算機, 2008, 25(6): 201-204.
[8]劉巧瑜. 基于CPK的云安全身份認證和訪問控制技術研究[D]. 西安:西安電子科技大學, 2014, 03.
[9]南湘浩. CPK 組合公鑰體制(v8.0)[J]. 信息安全與通信保密. 2013,34(3):39-44.