徐人恒,杜博,依溥治,曲井致,關靚
(1.哈爾濱電工儀表研究所,哈爾濱150028;2.黑龍江大學信息科學與技術學院,哈爾濱150080)
1993年,南非電力公司(ESKOM)制訂了 STS(Standard Transfer Specification)標準傳輸規范。1997年,ESKOM、Merlin Gerin、Conlog、Landis Gyr、Actaris在南非創設了非盈利性的機構—STS協會(STSA)[1-2],其目標是推廣 STS標準,進一步完善 STS標準的功能以及維護必要的基礎組織以向STS協議的使用提供支持服務。同年,南非標委會發布了NRS-009系列國家標準,即STS標準。從2007年開始,IEC/TC 13委員會的WG15工作組逐漸接納并轉化STS標準為國際標準—IEC 62055系列標準。目前,全球已經有超過2 000萬只符合STS標準的電能表安裝在84個國家的500多個電力公司的用戶上[3]。STS協會已經將STS標準和IEC/TC 13 WG15建立對應關系,本文通過IEC 62055系列標準體系介紹對其安全認證方式進行了必要的研究。
在近期的IEC TC13國際標準化年會上對WG15的工作新的工作重點是智能計量系統—功能和流程,確定了信用表(creditmeters)和付費表(payment meters)之間關系,明確了所有的智能電能表通過運行模式的改變可以成為付費電能表。
IEC 62055系列標準范圍涵蓋付費系統、用戶信息系統、售電系統、令牌介質、預付費電能表和存在于這些實體中的接口。IEC 62055總標題為“電能計量—付費系統”由下列部分組成:
IEC 62055-1-0:智能計量系統-功能和流程的術語定義;
IEC 62055-21:付費系統標準架構;
IEC 62055-31:特殊要求-靜止式預付費有功電能表(1級和2級);
IEC 62055-41:標準傳輸規范(STS)-單向令牌介質系統的應用層協議,是針對單向介質載波通信系統的應用層協議標準,未來將擴展到以滿足多能量(水表和天然氣表等)需要;
IEC 62055-42:標準傳輸規范(STS)-虛擬數據交換;
IEC 62055-51:標準傳輸規范(STS)-單向數字和磁卡令牌介質的物理層協議;
IEC 62055-52:標準傳輸規范(STS)-直接局域聯結的雙向虛擬令牌介質的物理層協議;
IEC 62055-61:付費系統功能和元素(WG15規劃);
IEC 62055-71:付費系統流程(WG15規劃)。
未來,WG15正在考慮開展支付系統的測試的標準工作。IEC 62055系列在智能計量方面的構架將參照 IEC/TC13 WG14 IEC 62056-1-0結構和 IEC/TC57 WG19 IEC 62357參考架構兩項國際標準建立。
IEC/TC13WG14工作組就電能測量與負荷控制設備制定的一套完整的國際標準體系,DLMS/COSEM作為其中的核心內容,得到了廣泛認可和應用,付費功能已被包含在中,所以WG15重點專注于付費系統的終端并研究這個層面互操作能力,集中在語義層上,而WG14已經涵蓋了物理層、底層,應用層及COSEM,如圖1所示。圖中顯示了兩個模型通用信息模型(CIM)和COSEM是如何相互關聯的,WG15集中描述了系統架構之間的聯系。

圖1 智能電網和智能儀表的協調框架Fig.1 Harmonization framework for smart grid and smartmeter
圖1中橢圓框圖表示WG14的工作,目前已在IEC 62056-1-0中定義:從概念上提供從物理層到COSEM/OBIS(對象識別系統)的通信堆棧;
長方形框圖表示WG15的工作:
(1)從概念上提供建立在WG14語義層之上的功能和流程標準,也包括通用信息模型的語義層和智能能源對象;
(2)IEC 62055-41,IEC 62055-51和 IEC 62055-52(STS)標準映射到語法層和更下面的層。
圓圈元素表示在各種存在競爭的語義和語法層標準之間的協調一致的特殊標準:
(1)在 STS/DLMS/COSEM之間的映射 1-STS協會已經開始這項工作,并且已經納入WG15議程;
(2)在 CIM/DLMS/COSEM之間的映射 2-JWG 16(聯合工作專家)已經從事此項工作;在 SEP/DLMS/COSEM之間的映射3-未來的可能工作。
圖2顯示了CIM功能如何映射到付費用例(橢圓)和功能(方框)。這個圖表是付費系統中語義協調的基礎,標準將據此定義所有需要的功能。電能通過計量功能測量,其電能的輸送量由計費功能模塊通過開關控制,會計功能管理著信用額度,處理信用充值傳送到交付功能控制開關,送入輸送功能從而控制開關,充值由接收功能發出的收據。

圖2 功能/用例/CIM關聯性Fig.2 Function/use case/CIM associations
其中橢圓是在IEC 62055-21中被描述的關聯功能對象的UML語法構造用例,左側菱形對象是被在IEC 61968-11中定義的通用信息模型建模通用語言的信息分類和聯系。粗線的連接由WG15添加。WG15現在已經定義了付費計量過程的所有構成。
標準傳輸規范(STS)是一部關于信息安全傳遞的協議,用于實現售電終端(POS)和預付費表計之間進行信息傳遞、表計測試和參數配置等功能,并用STA加密算法提高售電系統內信息傳遞的安全性[4]。
在IEC 62055-41標準中講述了STS的參考模型,其包括:一般預付費表功能框圖、STS協議的參考模型、由售電終端應用處理到令牌介質的數據流向、由令牌介質到電能表應用處理的數據流向和ISO標準交易基準號碼[5]。
一般預付費功能框圖如圖3所示,在一體式預付費表中,所有的基本功能位于全部在電能表中,如果解碼器集成了計量功能,那么解碼器基準編碼(DRN)就變成了 “電能表序列號”。而在分離式的預付費表中,令牌介質接口與表計功能在是分離的兩部分中,這樣電能表擁有獨立的表號,此時DRN碼與表號可以清晰地區分,并被標示在裝解碼器的殼體上[6]。在所有情況下,只能有一個應用層,因此DRN與預付費表是一一對應的,無論是一體式還是分離式預付費表計、抑或在同一塊預付費表計中有多個物理層。

圖3 一般預付費表功能框圖Fig.3 Function block diagram of a generic single-part paymentmeter
STS是用于由POS和電能表之間用令牌介質作為傳輸媒介的安全數據傳輸協議。應用層協議處理的是令牌、加密過程和功能,物理層協議處理的是將令牌數據編碼到令牌介質上,如圖4表示。可實體令牌載體設備有:數字、磁卡、記憶卡以及記憶鑰匙等,可作為虛擬令牌載體有:PSTN modem、ISDN modem、GSM modem、GPRSmodem、radiomodem、PLCmodem、紅外線、LAN/WAN以及本地連接等。盡管 IEC 62055-41標準遵循一個分解的兩層OSI架構,但如果有需要或者執行者提出,則還會在這兩層之間擴展更多層。應用協議數據單元(APDU)是應用層協議的數據接口,在IEC 62055-41中有規范;令牌介質數據單元(TCDU)是物理層協議的數據接口,在 IEC 62055-51/52標準中有規范[7-8]。

圖4 STS用兩層OSI協議棧分解的STS模型Fig.4 STSmodelled by a 2-layer collapsed OSIprotocol stack
STS付費計量系統是一個集合,該系統支持電能服務供應商與消費者的契約關系,它包含過程,功能,數據單元,系統實體(裝置和使用者)和接口。因為涉及到財務和費用問題,對于代碼式預付費電表的供應商和消費者來說,安全問題是最重要的。
STS付費系統安全體系主要分為兩個部分:Token碼加密解密和密鑰Key管理。Token碼是STS標準提供的生成的20位代含有信用額度的碼命令,只能在預付費電表上使用一次。密鑰Key由STS協會下屬的密鑰管理中心(KMC)分別向售電終端和表及生產商辦法[9]。
在STS中Token是數據單元的子集,包括存在于POS到Token載體接口應用層APDU的信息,并通過Token載體傳送到預付費表計中,最終用于表計的應用處理,其由一串長20位的BCD碼組成。依據STS協議進行進制轉換,將20位BCD碼轉換成66位二進制數據串,其主要包含了類型、子類型、隨機數(RND)、Token令牌識別碼(TID)、電量及 CRC等信息。Token碼的解密和加解密流程如圖5所示,過程如下:
(1)校驗Token的CRC值,確保是有效的Token,然后提取類號,分類進行解析[10]。Token傳輸數據的總長度為66位,其中最后16位由CRC校驗和組成,該校驗和是由上述50位數據導出;50位左邊用6位二進制數0進行補添組成56位,計算之前CRC校驗和初始化為FFFF;

圖5 Token流程圖Fig.5 Flow chart of Token
(2)Token令牌識別碼TID驗證。從而提取購電量信息,進行電量充值。TID數據域由發行日期和時間導出,表示以基準日期和時間為起點的歷時時間的分鐘數。當驗證TID為有效值后,將除去類號的64位二進制數提取作為待處理明文數據;
(3)Token的加解密過程。Token是通過STA加密算法實現的保密,STA加密算法是一個含一個密鑰隊列和16次反復代換、換位、和密鑰循環移位的過程。經過STA算法,將64位二進制明文數據轉換成64位二進制密文數據;
(4)Token的進制轉換,進一步加強Token安全性。將類型號與由步驟3得到的64位密文合并,再通過STS協議轉換成20位BCD碼,即為Token碼。
STA標準傳輸算法(Standard Transfer Algorithm),是STS協議IEC 62055-41中的售電標準安全傳輸算法,對于代碼式預付費電表Token認證任務模塊軟件來說主要是用STA算法完成對Token的認證和解析,并完成相應的信息功能[11]。該算法是對稱加密算法,加密算法和解密算法互為補充,共享同一個密鑰,標準傳輸算法的加密過程如圖6所示。
STA加密算法包含一個密鑰隊列和16次反復換位、替換和密鑰循環移位過程。首先64位解碼密鑰取補碼并左移12位,然后與64位數據塊結合,再經過64次換位過程,4位替換過程以及密鑰左移1位過程,最后再將上一步驟重復16次,從而完成STA算法加密并得到了64位加密數。

圖6 STA加密算法Fig.6 STA encryption algorithm
從圖5和圖6可以看出,Token是由64位解碼器密鑰經過加密生成的,而根據IEC 62055-41標準,解碼器密鑰則是由售電密鑰經過解碼器密鑰生成算法(DKGA)產生的,售電密鑰的生成過程則如圖7所示。在STS密鑰管理體系涉中主要由售電終端和安全模塊、密鑰管理中心(KMC)、公共服務運營商和表計制造商組成。
(1)安全模塊,作為整個售電系統的核心部分。安全模塊用來存放KMC發布的售電密鑰并且集成了電表密鑰生成算法和代碼加密算法。安全模塊由公共服務運營商向安全模塊制造商下單生產,然后被發送到密鑰管理中心進行初始化并裝載保密的售電密鑰,最后安裝在預付表計中,可通過密鑰裝載文件裝載來自密鑰管理中心的新的售電密鑰;
(2)公共服務運營商給指定的客戶群體提供電能。其一般是根據安全風險,收入評估,地理位置以及電網的特性來劃分客戶群體的界限和規模;
(3)密鑰管理中心主要負責根據公共服務運營商的要求對進行安全模塊的驗證和初始化;分配供應組編碼及售電密鑰;并且根據表計制造商、電力公司以及POS的裝在請求,將售電密鑰裝載到模塊中;
(4)表計制造商根據公共服務運營商訂單要求生產預付費表計,付費表計出廠時將裝載的跟指定的供應組代碼(SGC)關聯的三種密鑰 (DDTK,DUTK或者 DCTK)中的一種[12]。
從圖7中我們可以看出,售電密鑰由KMC集中生產和管理。每一種密鑰無論是售電側的密鑰還是電表的密鑰的生成和傳遞過程都采用密文方式,在任何狀態下密鑰都是不會被明文讀出,有效的防止了數據在傳遞過程中被跟蹤和破解。

圖7 密鑰管理系統中各組織關系圖Fig.7 Relationship diagram of each organization in the keymanagement system
所有的密鑰都是唯一的密鑰,根據以上圖的密鑰管理流程可以看出,密鑰、表號、密鑰版本號、費率索引號、SGC和密鑰類型都離散和關聯在一起,做到了每一塊表擁有唯一的密鑰,從而無法通過外界生成的密鑰威脅售電系統的安全。
同時靈活系統搭建方案,即可單機搭建,也可方便升級為網絡版的售電系統,及銀行聯網,POS機,ATM機方式進行售電。采用生產狀態下的公開密鑰和運行狀態下的私鑰模式,表計制造商的和供電系統的安全性完全分離,徹底保證了系統的安全性。
基于STS代碼預付費電能表已在全球近100個國家開始使用并有推廣趨勢,但是研究機構大多集中在歐美。這些研究機構主要是進行基于代碼式預付費電能表方案的研究,各個公司都嚴守技術秘密,公開的技術資料和設計文獻少之又少,因此基于STS的IEC 62055系列國際標準的制定具有重大意義,IEC 62055是代碼式預付費電能表的核心,對在代碼式預付費電表的實際使用、安全性、可操作性非常重要。在IEC 62055中,對代碼式預付費電能表系統傳輸介質、傳輸內容、加密和解密算法制定了公開技術要求,其具備了一套完整的安全體系,保證了預付費售電體系運行的安全可靠。