梁 捷,梁廣明,黃水蓮
(1.廣西電網有限責任公司計量中心,南寧 530023; 2.南寧百會藥業集團有限公司,南寧 530003)
南方電網公司2015年的技術標準給智能電表定義了本地和遠程兩種費控模式,利用本地模式下電表存儲用戶的剩余金額和購電次數等信息,可實現本地計費和對電表的費控拉合閘操作[1]。但通過購電卡傳輸費控信息需要用戶到指定電力客服網點寫卡,且由于遠程費控系統建設滯后等原因,目前使用最多的仍是遠程模式智能電表。該模式存在的問題是,用戶購電后遠程合閘復電經常因為計量自動化系統信道干擾和終端失電掉線等問題導致合閘失敗[2]。
為了提升用戶購電和復電過程的便捷性和安全性,研究一種既能提供方便快捷服務,又能保證費控系統信息交互安全性的本地費控方案,成為供電公司的工作目標。
隨著新標準智能電能表在南方電網的推廣使用,結合現有技術標準以及電網公司本地費控業務的實際應用需求,基于“一次一密”的密鑰安全機制,設計一種基于二維碼虛擬介質的本地費控業務信息傳輸方案。
隨著網絡信息化發展和移動應用的推廣使用,用戶需求傾向于采用移動支付等手段完成購電充值等業務。為了滿足用戶足不出戶的需求,須提高智能電表本地費控業務辦理的便利性。
基于二維碼虛擬介質的本地費控業務信息傳輸方案的特點在于,當計量系統對用戶遠程購電成功但充值復電指令下發失敗或因故延遲時,用戶可通過智能手機申請獲取自主購電復電虛擬介質,而后只需經過智能交互終端讀取識別該介質并完成兩者間的安全認證,即可對電表傳輸充值、復電指令,從而自主實現本地費控業務。
如圖1,以基于二維碼介質的本地復電業務為例,其信息交互流程為:

圖1 基于二維碼介質的本地復電過程
1) 用戶網上購電付費成功后,費控系統主站調用虛擬介質模塊接口發起遠程復電業務請求流程,虛擬介質模塊接收復電請求,利用該報文內的戶號、表號、充值金額、充值時間等購電信息生成復電虛擬介質;
2)通過加密模塊接口調用加密機對該介質進行加密并計算交互終端數據認證校驗碼MAC1,并將該介質的密文和MAC1返回給費控系統;
3)費控系統通過短信服務模塊發送包含虛擬介質鏈接的短信至用戶手機;用戶接收到短信后,訪問短信中的鏈接,獲取加密后的虛擬介質二維碼;
4)用戶在電表安裝現場或電網購電營業廳設置的智能交互終端上以掃碼方式識讀虛擬介質。交互終端通過其內置的安全模塊對虛擬介質二維碼進行解密和MAC1驗證,生成復電/充值指令,并計算形成電表復電數據認證校驗碼MAC2,從而組成遠程復電指令,并發送給指定電表;
5)電表對復電指令進行解密和認證,從戶號、表號是否匹配,剩余金額是否充足等方面判斷是否滿足復電條件,若滿足則對電表進行合閘復電操作。
所述智能交互終端根據南方電網現行費控交互終端技術規范設計,并在其基礎上增加虛擬介質識讀功能。
為保證第1節所述方案中信息傳遞過程的安全性,設計了一種二維碼數據傳輸的安全加密機制。
加密算法采用國密SM1對稱密鑰算法,該算法不公開,僅以IP核的形式存在于加密芯片中,使用時通過加密芯片的接口進行調用[3]。二維碼的安全加密采用“一次一密”方式,其密鑰傳輸過程如圖2所示。該算法要求每次對明文的加密采用不同的過程密鑰來完成,過程密鑰是密鑰傳輸時在隨機數參與下對主密鑰進行分散產生的。采用這種加密方式時,除非攻擊者知道主密鑰信息,否則須經過2n(n為明文長度)次破解嘗試才能獲得密鑰,當明文較長時計算量劇增,難以在有限的時間內完成,故該加密機制理論上具有較高的安全性。

圖2 “一次一密”密鑰傳輸過程
密鑰管理系統是生成和管理密鑰的專用系統。密鑰生成時,計量主站和智能交互終端首先通過密鑰管理系統獲得共同的傳輸主密鑰和認證密鑰。主站端的主密鑰保存于專用加密機內,智能交互終端的主密鑰保存于終端安全模塊(ESAM)內,僅能在芯片內部解密時使用,無法從外部讀取破解。
加密時首先生成128位隨機數,利用隨機數對傳輸主密鑰執行分散操作。分散過程包括左右循環、分組和單向HASH變換[4]等,目的是為了提高數字串的混亂程度,進而優化生成密鑰的安全性。
使用經過分散獲得的過程密鑰,對二維碼數據明文進行加密獲得密文,同時使用認證密鑰對數據明文進行HASH轉換獲得數據認證驗證碼A。
將數據密文、隨機數和驗證碼A打包形成傳輸報文,然后轉換為二維碼發送給用戶。
用戶獲取二維碼后在智能交互終端掃碼識別。交互終端將二維碼解碼后送入ESAM,ESAM利用內部存儲的傳輸主密鑰和報文中的隨機數進行同樣的分散操作獲得傳輸過程密鑰,再利用該密鑰對數據密文進行解密獲得二維碼明文。然后,ESAM利用內部存儲的認證密鑰對數據明文進行HASH轉換獲得驗證碼B,比較報文中驗證碼A與B是否相同即可確定接收報文與傳輸報文是否一致。
智能交互終端硬件設計如圖3,主要由RFID模塊[5]、虛擬介質識別模塊、安全模塊、通信模塊、主控模塊構成。除了傳統購電卡的讀取功能,智能交互終端還支持二維碼等虛擬介質的讀取,并與營銷主站及手持服務終端等維護設備構成智能化的用戶費控業務信息管理系統。

圖3 智能交互終端硬件設計框圖
南方電網公司本地費控智能電表購電卡使用13.56 MHz的射頻IC卡,又稱非接觸式IC卡,屬于高頻標簽的一種,具有較高的數據傳輸速率和響應速度[6]。圖3中,智能交互終端的RFID模塊主要是通過射頻天線產生一個能量來供給購電卡工作,使購電卡內芯片完成數據讀取、修改和存儲,并返回相關信息給RFID模塊。主控模塊主要根據用戶命令調度交互終端中其他功能模塊完成購電卡或二維碼等虛擬介質中的用戶信息采集及其他指定功能。
虛擬介質識別模塊主要由攝像頭、補光設備、圖像識別算法單元組成。其中,虛擬介質識別模塊對當前數字或圖形信號進行捕獲,并將捕獲到的信號進行處理,得到虛擬介質承載的二進制原始數據,并發送至相關模塊進行下一步處理。
為了用戶敏感數據的安全,購電卡和虛擬介質的數據均需進行加密,因此終端內嵌專用安全模塊。數據交互過程中的安全認證及加、解密流程均在安全模塊內完成。安全模塊符合中國南方電網公司《費控電能表信息交換安全認證技術要求》中的安全性和功能性要求,支持SM1國密算法,具有真隨機數發生器[7]。
為了驗證所設計的信息傳輸方案的可行性和智能交互終端的功能,搭建測試平臺對二維碼復電和充值功能進行模擬測試。
二維碼復電功能測試平臺架構如圖4,主要包括ESAM工裝、讀卡器和上位機。測試時,交互ESAM安裝在工裝內,將卡片形式封裝的電表安全芯片插入讀卡器主卡槽,然后分別連接到測試主機的USB口,在測試主機上運行交互終端安全模塊測試軟件進行二維碼復電功能驗證。軟件界面如圖5所示。

圖4 二維碼復電功能測試平臺

圖5 虛擬介質交互終端專用安全模塊流程測試
在測試軟件內選擇執行復電指令測試命令,進行智能交互終端安全模塊的二維碼復電命令測試。測試結果如圖6所示,上位機下發模擬復電命令至模擬智能交互ESAM工裝后,安全模塊能夠正常解讀。然后轉發至電表ESAM芯片,該芯片解密后,從電表芯片中能夠讀取出復電命令明文(即遠程控制命令),解密報文與所下發的一致,則表明測試成功。

圖6 復電命令測試
二維碼充值功能測試平臺包括上位機和智能交互終端,上位機用于產生充值復電密文二維碼,智能交互終端內置專用ESAM,并具備二維碼掃碼設備,可以直接掃描識別測試主機產生的密文二維碼。
在測試軟件內執行二維碼充值指令測試命令,上位機生成充值命令二維碼,使用智能交互終端掃描讀取該二維碼。測試結果如圖7,可見,交互終端完成了與電表的交互充值,充值命令發送成功。

圖7 充值命令測試
若重復掃描二維碼,由于“一次一密”的安全機制,可觀察到電表內充值金額未重復增加,驗證了充值二維碼一次性使用的特點。
設計了一種通過二維碼等虛擬介質為費控電能表進行充值及復電的信息傳輸方案,解決了遠程費控模式下,智能電表實現充值及復電功能必須依賴計量自動化系統的問題。同時,結合該方案設計了一種智能交互終端,它能夠讀取識別以二維碼形式傳輸的購電和復電信息,并通過本地通信信道下發給智能電表,使其執行本地費控功能。為了防止該過程可能發生的偽造、篡改、重復攻擊等信息安全問題,設計了基于“一次一密”的安全加密機制。
該方案的傳輸及充值復電過程操作簡便,不僅可為電網公司減少業務成本,還可提升用戶用電滿意度。