吳 瀛 呂家圣 陳 禾 王 磊
(1.中國(guó)南方電網(wǎng)超高壓輸電公司檢修試驗(yàn)中心,廣州 510663;2.中國(guó)計(jì)量科學(xué)研究院,北京 100013 )
目前,電能表型式評(píng)價(jià)中采用的實(shí)驗(yàn)方法和評(píng)價(jià)標(biāo)準(zhǔn)是與IEC標(biāo)準(zhǔn)相一致的,包括了計(jì)量性能試驗(yàn)、電磁兼容性能試驗(yàn)、機(jī)械性能試驗(yàn)、環(huán)境試驗(yàn)、陽(yáng)光輻射試驗(yàn)和防塵防水試驗(yàn)等。這些實(shí)驗(yàn)項(xiàng)目基本滿足了檢測(cè)電能表硬件特性的需求。隨著我國(guó)智能電能表的大量推廣應(yīng)用,電能表中的軟件需要完成大量復(fù)雜的工作,實(shí)現(xiàn)如復(fù)費(fèi)率功能、預(yù)付費(fèi)功能、電壓電流測(cè)量功能、報(bào)警功能、數(shù)據(jù)保護(hù)功能和電量提示功能等。電能表中軟件的作用愈發(fā)突出,而對(duì)于電能表中越來(lái)越復(fù)雜的軟件,卻沒(méi)有相應(yīng)的評(píng)價(jià)方法和要求。OIML TC12技術(shù)委員會(huì)在IR46的修訂工作中也關(guān)注到這個(gè)問(wèn)題。修訂工作組認(rèn)為,電能表中的控制軟件也應(yīng)該屬于電能表型式中的一部分,電能表中的軟件需要進(jìn)行相應(yīng)的型式評(píng)價(jià)工作。因此,IR46修訂版中加入了軟件評(píng)價(jià)的要求和試驗(yàn)方法。隨著IR46最終發(fā)布,我國(guó)也將會(huì)等同采用,它將會(huì)直接轉(zhuǎn)化為國(guó)內(nèi)型式評(píng)價(jià)機(jī)構(gòu)所必須采用的標(biāo)準(zhǔn)。因此,及時(shí)關(guān)注IR46修訂版中軟件型評(píng)要求,并在國(guó)內(nèi)同步開(kāi)展相關(guān)研究工作,可以學(xué)習(xí)標(biāo)準(zhǔn)中先進(jìn)的試驗(yàn)項(xiàng)目和評(píng)價(jià)方法,促進(jìn)我國(guó)電能表制造水平的不斷提高。
IR46中軟件型評(píng)要求是放在計(jì)量要求這一章節(jié)中,它規(guī)定電能表應(yīng)提供計(jì)量性能的保護(hù)手段。國(guó)家權(quán)威機(jī)構(gòu)應(yīng)決定訪問(wèn)軟件保護(hù),參數(shù)保護(hù),設(shè)備檢測(cè)事件記錄的授權(quán)等級(jí)。
在計(jì)量軟件評(píng)價(jià)項(xiàng)目中,IR46要求電能表能夠?qū)﹃P(guān)鍵計(jì)量信息予以保護(hù)。具體要求如下:
電能表的相關(guān)合法軟件應(yīng)有清晰的軟件版本或其他標(biāo)識(shí)。專用于法律用途的標(biāo)識(shí)由多部分但至少一個(gè)部分組成。標(biāo)識(shí)應(yīng)與軟件不可分離,并應(yīng)當(dāng)在操作過(guò)程中通過(guò)命令或顯示來(lái)呈現(xiàn)。
作為例外,如滿足以下三個(gè)條件,軟件標(biāo)識(shí)可應(yīng)標(biāo)印在儀表外部:
1)用戶界面無(wú)任何控制能力使得軟件認(rèn)證在顯示中體現(xiàn),或顯示屏技術(shù)上不具備顯示軟件認(rèn)證功能(模擬設(shè)備或機(jī)電式計(jì)數(shù)器)。
2)電能表無(wú)界面顯示軟件認(rèn)證。
3)電能表產(chǎn)品化后軟件不可能改變,或只是硬件或硬件組件改變。硬件或硬件組件的制造商負(fù)責(zé)確保電表軟件認(rèn)證被正確的標(biāo)識(shí)在電能表上。
軟件認(rèn)證和認(rèn)證手段應(yīng)在型式批準(zhǔn)證書(shū)中描述。
要求電能表能夠防止誤操作。電能表應(yīng)被設(shè)計(jì)為,使無(wú)意地,偶然地,或故意地誤操作的可能性降至最低。具有欺騙保護(hù)功能,相關(guān)合法軟件應(yīng)防止通過(guò)存儲(chǔ)設(shè)備的交互,在未經(jīng)授權(quán)情況下,對(duì)其進(jìn)行修改,加載,或更改。應(yīng)具有安全手段,如機(jī)械或電子封條,被要求用來(lái)確保電能表有選擇性地加載軟件/參數(shù)。為了不被不正當(dāng)使用,只有明確記載的功能才能被用戶界面激活。軟件保護(hù)包括機(jī)械、電子封條和/或加密手段,使得未授權(quán)的干涉不可能或非常明顯。IR46中列舉了一個(gè)能滿足要求的例子:測(cè)量設(shè)備的軟件只有通過(guò)一個(gè)開(kāi)關(guān)保護(hù)菜單,否則無(wú)法修改參數(shù)和相關(guān)合法配置。此開(kāi)關(guān)被機(jī)械封存在不激活狀態(tài),使得無(wú)法修改參數(shù)和合法配置。如需修改參數(shù)和配置,必須切換開(kāi)關(guān),而這樣做必須破壞封條。測(cè)量設(shè)備的軟件應(yīng)被設(shè)計(jì)為只有授權(quán)人才能對(duì)參數(shù)和相關(guān)合法配置進(jìn)行訪問(wèn)。如果有人想要進(jìn)入?yún)?shù)菜單項(xiàng),他須插入含有加密認(rèn)證PIN的智能卡。該設(shè)備軟件能夠驗(yàn)證PIN的真實(shí)性,并允許訪問(wèn)參數(shù)菜單項(xiàng)。此次訪問(wèn)會(huì)被記錄在審查索引中,包括訪問(wèn)者身份(或至少智能卡的使用記錄)。
要求體現(xiàn)電能表相關(guān)法制特性參數(shù)應(yīng)防止未經(jīng)授權(quán)的修改。如須進(jìn)行必要的核查,則該參數(shù)設(shè)置應(yīng)能夠被顯示。電能表具體參數(shù)只能在特定的運(yùn)行模式下調(diào)整或選擇。這些參數(shù)應(yīng)被列為受保護(hù)類型參數(shù)(不可改變),并且只有授權(quán)人才可訪問(wèn)(設(shè)置參數(shù)),如設(shè)備擁有者、修理人員。對(duì)于參數(shù)保護(hù),采用簡(jiǎn)易密碼方式不是一個(gè)可行的技術(shù)解決方案;授權(quán)人可被允許訪問(wèn)一組有限的設(shè)備具體參數(shù)。如一組設(shè)備特定參數(shù),并且訪問(wèn)限制規(guī)則應(yīng)明確描述。存儲(chǔ)的總電量寄存器置零應(yīng)被視為一個(gè)設(shè)備特定參數(shù)的修改。因此,所有設(shè)備特定參數(shù)的相關(guān)要求應(yīng)適用于置零操作。當(dāng)修改某一設(shè)備具體參數(shù)時(shí),電能表應(yīng)停止記錄電能。
國(guó)家法規(guī)可以規(guī)定某些設(shè)備具體參數(shù)應(yīng)對(duì)用戶開(kāi)放。在這種情況下,電能表應(yīng)能自動(dòng)地、非可擦除地記錄設(shè)備特定參數(shù)的任何調(diào)整,如審查索引。并且設(shè)備應(yīng)有能呈現(xiàn)記錄數(shù)據(jù)。這種可追溯的手段和記錄應(yīng)為相關(guān)法制軟件的一部分,應(yīng)受到同樣的保護(hù)。負(fù)責(zé)顯示審查索引的軟件也屬于法制軟件范疇。
要求電能表計(jì)量的關(guān)鍵部件,無(wú)論是軟件或硬件部分,不允許被電能表的其它部分所影響。電能表執(zhí)行法制功能的子組件或電子設(shè)備應(yīng)被認(rèn)證、明確定義及描述。它們構(gòu)成了測(cè)量系統(tǒng)法制部分。如執(zhí)行法治功能的子組件未認(rèn)證,則所有的子組件應(yīng)都被視為在執(zhí)行法制功能。例如:電能表中用于連接其他電子設(shè)備讀出測(cè)量值的光接口。該電能表存儲(chǔ)所有相關(guān)量值,并被其它設(shè)備讀出。在這個(gè)系統(tǒng)中,只有電能表是法制設(shè)備。其他非法治相關(guān)的設(shè)備可連接到法制設(shè)備的接口上,該非法制設(shè)備自身的數(shù)據(jù)傳輸保護(hù)不是必需的。型式試驗(yàn)期間,應(yīng)驗(yàn)證子組件和電子設(shè)備的相關(guān)功能和數(shù)據(jù)不會(huì)被接口的其它命令接收所影響。
要求作為電能表軟件部分的所有軟件模塊(程序、子程序、對(duì)象等),執(zhí)行法制功能或包含法制數(shù)據(jù)的軟件,應(yīng)進(jìn)行認(rèn)證。如果執(zhí)行法制功能軟件模塊未能認(rèn)證,則整個(gè)系統(tǒng)軟件應(yīng)被視為法制軟件。如相關(guān)法制軟件部分與其他部分軟件進(jìn)行通訊,則軟件接口應(yīng)被明確定義。所有通訊應(yīng)通過(guò)此唯一接口,并且法制軟件部分和接口應(yīng)清晰描述。所有軟件的法制功能和數(shù)據(jù)域應(yīng)被描述,以使型式批準(zhǔn)機(jī)構(gòu)確定軟件子集的正確性。形成軟件接口的數(shù)據(jù)域,包括從法制軟件部分輸出給接口的數(shù)據(jù)域代碼和從接口輸入給法制軟件的代碼,都須清楚地定義和描述。軟件接口的聲明不能忽略。必須對(duì)法制軟件部分中的用于激活功能或數(shù)據(jù)改變的每條命令給予明確的分配。經(jīng)軟件接口通訊的命令應(yīng)聲明和注明。只有已聲明的命令才允許通過(guò)軟件接口激活。制造商應(yīng)編制完整的命令文件。
要求存儲(chǔ)或傳遞的測(cè)量值應(yīng)附有與法制計(jì)量相關(guān)的信息;應(yīng)通過(guò)軟件的方式保護(hù)這些數(shù)據(jù)的時(shí)效性、真實(shí)性和完整性,如果這些數(shù)據(jù)是通過(guò)非加密的信道接收或在非加密區(qū)讀取,則在顯示或進(jìn)一步處理這些數(shù)據(jù)前,必須檢查這些數(shù)據(jù)的時(shí)效性、真實(shí)性和完整性;如發(fā)現(xiàn)不符,數(shù)據(jù)應(yīng)被丟棄或標(biāo)記為不可用;當(dāng)保存最終測(cè)量結(jié)果時(shí),與該測(cè)量結(jié)果相關(guān)的計(jì)算值應(yīng)與最終結(jié)果一道保存;當(dāng)數(shù)據(jù)傳輸結(jié)束后或該數(shù)據(jù)通過(guò)受控設(shè)備打印后,數(shù)據(jù)可以刪除;要求測(cè)量結(jié)果不受數(shù)據(jù)傳輸時(shí)延的影響;當(dāng)傳輸無(wú)效時(shí),測(cè)量數(shù)據(jù)不能丟失;電能測(cè)量不應(yīng)受傳輸延遲的影響。如網(wǎng)絡(luò)服務(wù)變?yōu)闊o(wú)效時(shí),相關(guān)法制測(cè)量數(shù)據(jù)不應(yīng)丟失。時(shí)間標(biāo)記應(yīng)從設(shè)備的時(shí)鐘中讀取。設(shè)置時(shí)鐘被視為一種涉及法制性的行為,應(yīng)采取適當(dāng)?shù)谋Wo(hù)手段。在特殊領(lǐng)域(多費(fèi)率電能表,時(shí)段電能表)必須對(duì)時(shí)間進(jìn)行測(cè)量時(shí),內(nèi)部時(shí)鐘應(yīng)通過(guò)特殊的方法(如軟件方法)減小其不確定度。
更新電能表法制軟件應(yīng)被視為電能表的修改,如電能表中的軟件替換成其他已批準(zhǔn)版本的軟件;電能表軟件修復(fù),當(dāng)重新安裝同一版本軟件時(shí)或已運(yùn)行的電表進(jìn)行軟件修改或修復(fù),則需依照規(guī)定,進(jìn)行電能表的后續(xù)檢定。
當(dāng)不容許對(duì)使用中電能表的軟件進(jìn)行升級(jí)時(shí),可規(guī)定通過(guò)封印設(shè)施(物理開(kāi)關(guān),參數(shù)保護(hù)),使電能表軟件升級(jí)無(wú)法使用。在此種情況下,當(dāng)不破壞電能表封印時(shí),應(yīng)無(wú)法升級(jí)電能表軟件。當(dāng)電能表軟件升級(jí)對(duì)于電能表功能正確性沒(méi)有影響時(shí),電能表中軟件不需要驗(yàn)證。只有通過(guò)型式批準(zhǔn)試驗(yàn)的法制軟件版本才能允許使用。
電能表升級(jí)驗(yàn)證要求,軟件升級(jí)可本地裝載,即直接裝載到電能表中,或通過(guò)網(wǎng)絡(luò)遠(yuǎn)程裝載。裝載和安裝可為兩個(gè)不同的步驟或合并為一個(gè),工作人員應(yīng)在電能表安裝現(xiàn)場(chǎng),對(duì)電能表升級(jí)的有效性進(jìn)行核查。在執(zhí)行電能表驗(yàn)證和更新保護(hù)手段之前,已更新法制軟件的電能表(替換其他批準(zhǔn)版本或重新安裝)不允許被使用。
對(duì)于電能表可追溯升級(jí)的要求,軟件在電能表中的生效應(yīng)符合可追溯升級(jí)條款要求。如可追溯升級(jí)過(guò)程是通過(guò)一已驗(yàn)證的工具或設(shè)備進(jìn)行軟件交換,則負(fù)責(zé)人在現(xiàn)場(chǎng)不是必須的。軟件升級(jí)可本地裝載,即直接裝載在測(cè)量設(shè)備上或通過(guò)網(wǎng)絡(luò)遠(yuǎn)程裝載。軟件升級(jí)應(yīng)在審查索引中記錄??勺匪萆?jí)程序包括以下幾個(gè)步驟:裝載,完整性檢查,來(lái)源檢查(驗(yàn)證),安裝,登錄和激活。
軟件可追溯升級(jí)應(yīng)是自動(dòng)的。對(duì)于軟件升級(jí)過(guò)程的實(shí)現(xiàn),保護(hù)條件應(yīng)符合型式評(píng)價(jià)要求。
對(duì)于實(shí)現(xiàn)可追溯升級(jí)的電能表,其軟件應(yīng)包含所有必需檢查的功能。如應(yīng)保證加載軟件的真實(shí)性,即它來(lái)源于認(rèn)證的所有者。如果加載的軟件真實(shí)性檢查失敗,電能表應(yīng)將被裝載軟件丟棄并使用先前版本軟件或切換到非運(yùn)行模式。
對(duì)于實(shí)現(xiàn)可追溯升級(jí)的電能表,應(yīng)確保加載軟件的完整性,即裝載前軟件不允許被修改。這可通過(guò)添加裝載軟件的校驗(yàn)和或hash值,并在裝載過(guò)程中驗(yàn)證。如果被裝載的軟件驗(yàn)證失敗,設(shè)備應(yīng)將被裝載軟件丟棄并使用先前版本軟件或切換至非運(yùn)行模式,在這種模式下,測(cè)量功能應(yīng)被禁用。
對(duì)于實(shí)現(xiàn)可追溯升級(jí)的電能表,應(yīng)使用例如:審查索引,來(lái)確保設(shè)備中的相關(guān)合法軟件的可追溯升級(jí)能夠徹底追溯,并用于后續(xù)的驗(yàn)證、監(jiān)控或檢查。
審查索引至少應(yīng)包含以下信息:升級(jí)過(guò)程的成功/失敗,安裝版本的軟件標(biāo)識(shí),先前安裝版本的軟件標(biāo)識(shí),升級(jí)事件發(fā)生時(shí)間,下載部分的標(biāo)識(shí)。不管成功與否,每一次的升級(jí)都應(yīng)生成事件記錄。
支持可追溯升級(jí)電能表的存儲(chǔ)單元應(yīng)具備充足的容量,以確保在特定領(lǐng)域至少可記錄兩次連續(xù)的法制軟件可追溯升級(jí)。當(dāng)達(dá)到審查索引存儲(chǔ)上限時(shí),應(yīng)確保進(jìn)一步升級(jí)不可用。
如電能表配備了檢查功能,該功能應(yīng)有記錄至少100個(gè)事件的空間(或由技術(shù)機(jī)構(gòu)確定的量值),并應(yīng)是先入先出的方式。在不破除封印的情況下,事件記錄應(yīng)不被修改或清零,或經(jīng)授權(quán)的訪問(wèn),例如,通過(guò)代碼(密碼)或特殊的設(shè)備(硬件鑰匙等)。
對(duì)于軟件評(píng)價(jià)方法的研究,目前已有了相關(guān)的規(guī)范,如國(guó)際法制計(jì)量組織(OIML)的規(guī)范OIML D 31《軟件控制計(jì)量器具通用要求》[1],歐洲法制計(jì)量組織(WELMEC)的規(guī)范WELMEC 7.2《MID軟件指南》[2],國(guó)內(nèi)的JJF 1182—2007《計(jì)量器具軟件測(cè)評(píng)指南》[3]。這些規(guī)范的核心內(nèi)容是首先分析計(jì)量器具軟件需要滿足的要求,接下來(lái)根據(jù)實(shí)際需求選擇以何種風(fēng)險(xiǎn)等級(jí)進(jìn)行驗(yàn)證,并且使用合適的軟件驗(yàn)證方法進(jìn)行驗(yàn)證。這些規(guī)范在頂層給出了進(jìn)行軟件評(píng)價(jià)的方法,但對(duì)于電能表這一具體而又復(fù)雜的計(jì)量器具如何實(shí)現(xiàn),則必須深入研究。目前最大的難點(diǎn)在于各個(gè)生產(chǎn)電能表企業(yè)的軟件編寫(xiě)方法各不相同,同一企業(yè)不同型號(hào)電能表的軟件也會(huì)有不同,因此首先需要統(tǒng)一電能表軟件的編寫(xiě)規(guī)范。在電能表軟件編寫(xiě)規(guī)范中制定基本要求、特殊要求的內(nèi)容。如在基本要求中需要考慮軟件標(biāo)識(shí)、算法和功能的正確性、軟件保護(hù)、輸入命令的過(guò)濾、預(yù)防意外和無(wú)意更改等內(nèi)容。要求電能表軟件提供故障檢測(cè)功能,提示警告信息、實(shí)施密碼保護(hù)、以及設(shè)置操作系統(tǒng)權(quán)限等手段;要求電能表能防止有意的欺詐性修改。在特定要求中需要考慮電能表遠(yuǎn)程抄表方式中數(shù)據(jù)交換的編寫(xiě)要求,如電能表計(jì)量數(shù)據(jù)的自動(dòng)和長(zhǎng)期存儲(chǔ)要求的內(nèi)容。要求電能表軟件保證測(cè)量數(shù)據(jù)存儲(chǔ)的完備性,測(cè)量數(shù)據(jù)存儲(chǔ)的完整性和真實(shí)性,存儲(chǔ)的容量和連續(xù)性。如在通信系統(tǒng)的傳輸中電能表軟件要滿足當(dāng)受到網(wǎng)絡(luò)延時(shí)和網(wǎng)絡(luò)中斷影響時(shí),測(cè)量數(shù)據(jù)不應(yīng)該丟失等;特定要求中還需考慮軟件分離的要求,保證非法制相關(guān)程序不能未經(jīng)許可地影響法制相關(guān)程序和參數(shù);為了適應(yīng)電能表不斷增加功能的要求,特定要求中還需考慮軟件升級(jí)的要求。如從本地或者從通過(guò)網(wǎng)絡(luò)遠(yuǎn)程加載方式,在升級(jí)的過(guò)程中需要檢查軟件的真實(shí)性和完整性,升級(jí)完成后計(jì)量器具內(nèi)的日志會(huì)寫(xiě)入升級(jí)記錄,保證事后的控制。
在統(tǒng)一了電能表的軟件編寫(xiě)規(guī)范后,還需要研究電能表軟件評(píng)價(jià)方法。但由于軟件的復(fù)雜性,對(duì)其進(jìn)行完全的測(cè)試和進(jìn)行正確性的數(shù)學(xué)推理都是不可行的,沒(méi)有辦法保證軟件是完全沒(méi)有錯(cuò)誤的。因此,對(duì)于電能表中的軟件采取何種評(píng)價(jià)方法,需要基于不大量增加開(kāi)發(fā)和檢測(cè)成本的同時(shí),還能減小軟件出錯(cuò)的可能性這一出發(fā)點(diǎn)。電能表軟件的具體評(píng)價(jià)方法可根據(jù)軟件編寫(xiě)規(guī)范中的通用要求、特殊要求,以及待評(píng)價(jià)的電能表具體功能,開(kāi)展相應(yīng)的驗(yàn)證方法研究。
IR46的修訂從開(kāi)始關(guān)注電能表的計(jì)量性能、電磁兼容性能、儲(chǔ)存環(huán)境性能等方面,到目前最新版中加入了對(duì)電能表軟件性能的要求,反映了全世界電能領(lǐng)域?qū)<覍?duì)電能表認(rèn)識(shí)不斷深化的過(guò)程。而這些方面對(duì)我國(guó)目前智能電能表的發(fā)展,也具有重要的參考價(jià)值。
參考文獻(xiàn)
[1] OIML D 31, General Requirement for Software Controlled Measuring Instruments.
[2] WELMEC 7.2, Software Guide(Measuring Instruments Directive 2004/22/EC).
[3] JJF 1182—2007,計(jì)量器具軟件測(cè)評(píng)指南.