【摘 要】 本文主要簡介了 OIML 國際建議,R76《非自動衡器》(2006 年版)和國家標(biāo)準(zhǔn)《非自動衡器》中有關(guān)防止作弊措施的基本內(nèi)容和要求,并闡述了在實(shí)際實(shí)施中應(yīng)當(dāng)注意的問題和建議。 【關(guān)鍵詞】 防作弊措施法制相關(guān)軟件;法制相關(guān)參數(shù);法制相關(guān)數(shù)據(jù);型式特性參數(shù);裝置特性 參數(shù);循環(huán)冗余檢驗(yàn)(CRC)
一、引言 30 多年前,當(dāng)電子計價秤開始在民間貿(mào)易市場中應(yīng)用時,衡器管理人員終于松了一口氣:違規(guī) 者再也不能通過改變游砣和增砣的重量進(jìn)行作弊了。然而,在電子計價秤廣泛應(yīng)用的今天,30 年前 的現(xiàn)象在當(dāng)今的民間貿(mào)易市場中重現(xiàn)了:相當(dāng)數(shù)量的計價秤經(jīng)過改造,就具備了作弊功能,尤其是 通過修改軟件而實(shí)現(xiàn)的作弊功能,更不容易被廣大消費(fèi)者所識破。與機(jī)械衡器相比,對電子衡器進(jìn) 行以作弊為目的的改造,技術(shù)含量高,手法隱蔽,改造后的器具具有逃避監(jiān)督的效果,即使專職人 員也不容易獲取作弊的證據(jù)。對這種現(xiàn)象如不加以制止,不但會嚴(yán)重侵害消費(fèi)者的利益,對社會的 和諧、穩(wěn)定、健康發(fā)展也會產(chǎn)生消極因素。 其實(shí),利用科技手段對電子衡器等計量器具進(jìn)行作弊并不是中國的特有現(xiàn)象,世界各國無論先 進(jìn)與落后,或多或少都有作弊現(xiàn)象發(fā)生。為了遏制作弊現(xiàn)象,國際法制計量組織 OJML 提出了一些 適合在計量器具中采用的重點(diǎn)防止利用軟件技術(shù)進(jìn)行作弊的技術(shù)措施,例如,在 R-76 號國際建議 《非自動衡器》最新的版本 2006 版中,就增加了若干軟件防作弊的要求。由于在世界范圍內(nèi)目前 尚缺乏足夠的實(shí)踐支持,為了更清晰地表達(dá)防作弊要求,R-76 還對防作弊要求做了教科書式的注解, 并列舉了"可接受(采納)的方案",這就為我們研發(fā)具體的軟件防作弊技術(shù)提供了具體的技術(shù)指 導(dǎo)。國家標(biāo)準(zhǔn) GB/T23111《非自動衡器》不但在內(nèi)容上是等同采用 R-76,在版面格式上也完全按照 R-76 編排,這樣,業(yè)內(nèi)人士能夠閱讀到中文版的"R-76 國際建議"的相關(guān)內(nèi)容了。 對于 GB/T23111《非自動衡器》中提出的軟件防作弊措施,我們可以從兩個層面學(xué)習(xí)和理解, 一是在概念層面,是對法制相關(guān)軟件的定義、特征和分類的描述;二是在操作層面,是針對不同類 型的軟件可采用的不同的防作弊方法。另外,國家標(biāo)準(zhǔn) GB/T7724-2009《電子稱重儀表》也引用了 這部分內(nèi)容,稱重儀表的設(shè)計、制造、檢定、計量管理者同樣也要掌握這些內(nèi)容。下面分四個專題 進(jìn)行探討,由于筆者水平有限,歡迎大家對其中的誤謬與遺漏加以指正。 二、法制相關(guān)軟件 法制相關(guān)軟件(Legally relevant software)是 R-76:2006 版新增的最重要的概念,是指衡 器及其電子模塊(以下統(tǒng)稱為衡器)中產(chǎn)生、改變計量結(jié)果和主要指示、影響計量性能的程序、參 數(shù)及數(shù)據(jù)。這些軟件必須納入法制計量管理和監(jiān)督的范圍。在較大的應(yīng)用系統(tǒng)中(例如將 PC 機(jī)用作指示器的衡器),往往包含與法制相關(guān)軟件關(guān)聯(lián)的非法制相關(guān)軟件,例如支持法制相關(guān)軟件運(yùn)行 的操作平臺、設(shè)備驅(qū)動程序等,以及利用衡器計量數(shù)據(jù)控制其他設(shè)備的控制程序與控制指令。如果 法制相關(guān)軟件與非法制相關(guān)軟件能夠被分離并能加以識別,非法制相關(guān)軟件運(yùn)行不會干預(yù)計量結(jié)果 和主要指示,或兩者之間的數(shù)據(jù)交換符合法制計量管理的要求,則無需對非法制相關(guān)軟件進(jìn)行法制 計量管理和監(jiān)督。對于許多無法分離法制相關(guān)軟件與非法制相關(guān)軟件的電子地磅(如計價秤、安裝了稱 重指示器的衡器等),整個軟件均視為法制相關(guān)軟件。 法制相關(guān)軟件包括程序、法制相關(guān)參數(shù)和法制相關(guān)數(shù)據(jù)三部分。 程序是指固化或下載安裝到地磅中的控制、產(chǎn)生、改變和影響法制相關(guān)參數(shù)和法制相關(guān)數(shù)據(jù)的 編碼序列(或稱計算機(jī)軟件),一種衡器通過型式批準(zhǔn),其程序版本即被認(rèn)可,之后無論生產(chǎn)者、 銷售者、管理者、操作者等等所有的人,對其程序進(jìn)行任何改動都是違法的。 法制相關(guān)參數(shù)是指軟件中表示衡器計量特征和計量性能的數(shù)據(jù),又分為型式特性參數(shù)(Type specific parameter)和裝置特性參數(shù)(Device specific parameter)。 型式特性參數(shù)是產(chǎn)品設(shè)計時確定的數(shù)據(jù),比如濾波器結(jié)構(gòu)參數(shù)、穩(wěn)定判斷參數(shù)、零點(diǎn)跟蹤參數(shù) 等等,軟件版本識別碼也是一個型式特性參數(shù)。同一族、同一型號、同一規(guī)格的所有產(chǎn)品的型式特 性參數(shù)是相同的,型式批準(zhǔn)時這些參數(shù)被認(rèn)可,在以后的制造、檢定、貯運(yùn)、銷售、使用中均不得 改變這些參數(shù),否則就是違法行為。 裝置特性參數(shù)是決定每一個單件產(chǎn)品計量特性的數(shù)據(jù),如衡器校準(zhǔn)時產(chǎn)生的某些數(shù)據(jù)(如空秤 調(diào)整值、量程系數(shù)等),即使相同型號、規(guī)格的同一批產(chǎn)品的每一件個體產(chǎn)品,其裝置特性參數(shù)也 各不相同。首次檢定以及周期檢定時,授權(quán)人員可激活專門的操作程序修改裝置特性參數(shù),非檢定 時間以及非授權(quán)人對此類參數(shù)的修改則是違法的。 法制相關(guān)數(shù)據(jù)是指地磅產(chǎn)生的稱重結(jié)果,包括主要指示中的所有諸如毛重、皮重、與重量有關(guān) 的金額等等數(shù)值,以及計量單位、標(biāo)識代碼與指示符號等等,衡器應(yīng)能保證稱量結(jié)果的產(chǎn)生、顯示、 存儲、打印、傳輸?shù)榷际钦_的,使衡器產(chǎn)生不正確稱量結(jié)果的任何改動都是違法的。 三、對通過衡器程序作弊的防范措施 程序是法制相關(guān)軟件的主體,對衡器中的法制相關(guān)參數(shù)和法制相關(guān)數(shù)據(jù)的改動必須通過程序的 運(yùn)行來實(shí)現(xiàn),當(dāng)前最流行的作弊手段就是更換程序:將原衡器上經(jīng)型式批準(zhǔn)、檢定過的正版程序卸 下,更換一個非法程序即可。 GB/T23111 公布的防止通過更改程序作弊的防范措施經(jīng)過"有效申請"、"型式評價"、"周期檢 定與日常監(jiān)督"三個環(huán)節(jié)才可實(shí)現(xiàn): 1、有效申請中的防范措施 首先,在申請型式批準(zhǔn)時,申請人應(yīng)在隨試驗(yàn)樣機(jī)提交的文件中注明: (1)軟件版本標(biāo)識,包括: a)版本號; b)循環(huán)冗余校驗(yàn)(CRC)生成多項(xiàng)式(CRC-16 或 CRC-32); c)實(shí)際安裝在試驗(yàn)樣機(jī)上的程序機(jī)器碼的 CRC 校驗(yàn)和。 (2)所采用的各個保護(hù)措施,包括: a)對訪問裝置特性參數(shù)的授權(quán)人的個人識別碼的識別方法; b)所能提供的被保護(hù)的調(diào)整部件或預(yù)置部件受到干預(yù)的證據(jù); c)帶有存儲裝置的電子器件的序列號及其保存、讀取方法與保護(hù)措施; d)軟件版本標(biāo)識的保存、讀取方法與保護(hù)措施; e)聯(lián)接法制相關(guān)軟件與非法制相關(guān)軟件的接口的保護(hù)措施; f)通過接口的指令、數(shù)據(jù)的保護(hù)措施; g)存儲數(shù)據(jù)的數(shù)據(jù)量與存儲器容量; h)對存儲數(shù)據(jù)的保護(hù)措施; i)當(dāng)能夠安裝由互連網(wǎng)下載的已獲批準(zhǔn)的法制相關(guān)軟件時,軟件下載過程和阻止意外或惡意 修改的安全保護(hù)措施; j)阻止下載未獲批準(zhǔn)的計量軟件的措施; k)存儲由網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)的保護(hù)措施。 (3)法制相關(guān)功能的詳細(xì)描述,包括: a)硬件系統(tǒng)說明,如結(jié)構(gòu)框圖,計算機(jī)型號,網(wǎng)絡(luò)類型等等; b)法制相關(guān)軟件的軟件環(huán)境說明,如操作系統(tǒng),驅(qū)動要求等; c)法制相關(guān)功能的說明,如開關(guān)、鍵、操作過程、顯示、指示等; d)有關(guān)測量運(yùn)算規(guī)則的說明,如穩(wěn)定平衡,價格計算,化整規(guī)則等; e)菜單和對話框的說明(如果存在); f)全部命令和參數(shù)的說明,包括通過受保護(hù)的軟件接口在法定相關(guān)軟件和關(guān)聯(lián)軟件間交換的 命令和參數(shù),以及該清單的完整性承諾。 (4)承諾所采取的保護(hù)措施在型式批準(zhǔn)、檢定后保證軟件版本不被修改。 評價部門首先應(yīng)對申請?zhí)峤坏奈募M(jìn)行審核,文件中包含上述內(nèi)容描述才是有效申請。如果隨 試驗(yàn)樣機(jī)提交的文件的內(nèi)容不完整,其申請就得不到批準(zhǔn)。 2、型式評價中的防范措施 其次,在型式評價中對試驗(yàn)樣機(jī)進(jìn)行所有保護(hù)措施的實(shí)際保護(hù)效果以及法制相關(guān)功能的正確性 進(jìn)行驗(yàn)證,驗(yàn)證內(nèi)容有: a)檢查是否產(chǎn)生覆蓋法定相關(guān)軟件所有機(jī)器碼的校驗(yàn)和或等效信號; b)檢查如果代碼是由文本編輯程序偽造時,是否不能啟動法定相關(guān)軟件; c)檢查法制相關(guān)參數(shù)是否只能由授權(quán)人員經(jīng)特殊的個人識別代碼進(jìn)行修改; d)檢查是否所有裝置特性參數(shù)受到充分保護(hù)(例如通過校驗(yàn)和); e)檢查是否是通過規(guī)定的受保護(hù)軟件接口將規(guī)定的法定相關(guān)程序模塊與關(guān)聯(lián)軟件模塊分開; f)檢查受保護(hù)的軟件接口本身是否是法定相關(guān)軟件的組成部分; g)檢查衡器是否產(chǎn)生合適的軟件標(biāo)識,它覆蓋所有法定相關(guān)軟件和型式特定參數(shù)的程序模塊; h)檢查是否在給出一手動命令后能顯示規(guī)定的軟件標(biāo)識; i)檢查是否按照文件描述的方式產(chǎn)生校驗(yàn)和(或者其它信號); j)當(dāng)存儲的數(shù)據(jù)包含再現(xiàn)初始稱重值必要的所有相關(guān)信息(如毛重、凈重、皮重、小數(shù)點(diǎn)符 號、單位、數(shù)據(jù)組的標(biāo)識,衡器或承載器的標(biāo)識號碼、數(shù)據(jù)組的校驗(yàn)和等等,下同)時,檢查存儲 容量和防止無法接受的數(shù)據(jù)丟失的措施; k)檢查已存儲數(shù)據(jù)和傳遞是否正確; l)檢查存儲的數(shù)據(jù)是否受到合適的保護(hù)(數(shù)據(jù)在向存儲裝置傳送期間是否至少使用奇偶檢驗(yàn) 保護(hù)),以免意外的或惡意修改; m)檢查可下載軟件存儲裝置的數(shù)據(jù)是否采用校驗(yàn)和的方法進(jìn)行適當(dāng)?shù)谋Wo(hù); n)檢查存儲的數(shù)據(jù)是否能夠被識別及顯示,識別編碼的儲存是為以后使用和在正式交易介質(zhì) 上記錄(打印); o)檢查用于交易的數(shù)據(jù)是否是自動存儲,而不取決于操作人員的意愿; p)檢查是否是通過在符合法定受控的裝置上顯示或打印標(biāo)識的方法驗(yàn)證存儲的數(shù)據(jù)組; q)在衡器主板是否留有適當(dāng)位置供粘貼防作弊標(biāo)識以及是否方便粘貼防作弊標(biāo)識; r)其他必要的檢查。 所有檢查項(xiàng)目與文件描述一致并獲得通過,方可認(rèn)為該軟件是符合法制要求的。 3、周期檢定與日常監(jiān)督中的防范措施 有效申請與型式評價中的防范措施的目的是防止可能被作弊行為利用的軟件獲得型式批準(zhǔn),也 就是說,獲得型式批準(zhǔn)的軟件不會被用于作弊。但是,前面兩個環(huán)節(jié)并不能防止取得產(chǎn)品生產(chǎn)許可 以及產(chǎn)品銷售以后合格的軟件被替換,周期檢定與日常監(jiān)督中的防范措施的目的在于防止合格的軟 件被替換。具體監(jiān)督措施有: a)檢查帶存儲裝置的電子器件或組件是否被替換; b)檢查粘貼在主板上的防作弊標(biāo)識是否與型式批準(zhǔn)證書中記載的一致; c)檢查粘貼在主板上的防作弊標(biāo)識是否與檢定證書中記載的一致; d)檢查由電子存儲裝置讀出的防作弊標(biāo)識是否與粘貼在主板上的防作弊標(biāo)識一致。 注:防作弊標(biāo)識包括:帶存儲裝置的電子器件或組件的識別碼及其校驗(yàn)和、軟件版本號、程序機(jī)器 碼的CRC校驗(yàn)和、法制相關(guān)參數(shù)修改標(biāo)記、法制相關(guān)參數(shù)的CRC校驗(yàn)和等。 四、對通過修改法制相關(guān)參數(shù)作弊的防范措施 由于每一臺衡器的計量特性(如Max、d、稱量誤差等)的正確與否決定于法制相關(guān)參數(shù),即使 使用正確版本的地磅軟件,仍可通過修改法制相關(guān)參數(shù)達(dá)到作弊目的,其中修改裝置特性參數(shù)中的 量程系數(shù)是作弊的主要途徑。通常,法制相關(guān)參數(shù)中的量程系數(shù)的確定方法是:先由授權(quán)人員輸入 一個識別碼,激活衡器校準(zhǔn)程序,然后按照程序進(jìn)行衡器校準(zhǔn)操作,例如在承載器上放置規(guī)定質(zhì)量 的砝碼,按指定的按鍵,校準(zhǔn)程序就會按照預(yù)定的算法生成量程系數(shù)并予以存儲。如果激活衡器校 準(zhǔn)程序后沒有按照規(guī)定的質(zhì)量放置砝碼,例如所放置的重物的質(zhì)量只有規(guī)定質(zhì)量的80%,生成的量 程系數(shù)就會比正確的數(shù)值大25%,相當(dāng)于讀到的數(shù)值比真正的重量值大25%。如果故意不按規(guī)定的質(zhì) 量值進(jìn)行衡器校準(zhǔn),就是作弊行為。 GB/T23111公布的防止通過修改裝置特性參數(shù)進(jìn)行作弊的防范措施是: a)為授權(quán)人員開設(shè)一個密碼輸入程序,由授權(quán)人員設(shè)置密碼來阻止他人激活衡器校準(zhǔn)程序; b)提供對法制相關(guān)參數(shù)進(jìn)行修改的證據(jù)。 GB/T23111列舉了一個可以接受(采納)的方案: 在電子地磅電子部件中安裝一個專門用于記錄裝置特性參數(shù)更改次數(shù)的不可復(fù)位的事件計數(shù)器,每 當(dāng)對裝置特性參數(shù)進(jìn)行一次修改,該計數(shù)器就會自動產(chǎn)生一次增量,當(dāng)進(jìn)行一次周期檢定之后,授 權(quán)人讀出該計數(shù)器的值并備案于本次的檢定合格證書中,在下一次周期檢定之前,先讀取該計數(shù)器 的值,如果此時的計數(shù)器值與前一次記下的備案值相等,則認(rèn)為裝置特性參數(shù)未被更改,如果此時 計數(shù)器值與備案值不相等,則認(rèn)為有人曾經(jīng)修改過裝置特性參數(shù)。 在法制相關(guān)參數(shù)中,除了裝置特性參數(shù)外,還有型式特性參數(shù),由于確定型式特性參數(shù)的方法 只有兩種,一是將其寫在程序中,這時修改型式特性參數(shù)如同修改程序。二是修改型式特性參數(shù)的 辦法與修改裝置特性參數(shù)的方法相同。所以以上兩種措施已經(jīng)能夠防止對型式特性參數(shù)的修改,從 而無需單獨(dú)采取防止修改型式特性參數(shù)的防范措施。 五、對通過修改法制相關(guān)數(shù)據(jù)作弊的防范措施 除了更換程序,更改法制相關(guān)參數(shù)能夠取得作弊效果外,直接更改稱重結(jié)果是更簡便的作弊手 段。尤其是將主要指示等法制相關(guān)數(shù)據(jù)存儲、傳輸?shù)搅硗獾姆欠ㄖ朴嬃吭O(shè)備中的進(jìn)行顯示、打印或 存儲的情況下,這時衡器的程序與法制相關(guān)參數(shù)都是正確的,接收數(shù)據(jù)的設(shè)備中則裝有作弊程序, 該程序?qū)⒔邮盏降姆Q重結(jié)果進(jìn)行篡改即可獲得作弊效果。 GB/T23111公布的防止通過更改法制相關(guān)數(shù)據(jù)進(jìn)行作弊的防范措施是: a)所有定義的功能、命令、數(shù)據(jù)等,從法定相關(guān)軟件到所有其他連接的軟件或硬件部分間的 交換都經(jīng)過受保護(hù)的接口。保護(hù)方法如加密、CRC校驗(yàn)等; b)對法制相關(guān)數(shù)據(jù)的存儲是自動進(jìn)行的,不取決于操作人員的意愿; c)存儲的法定相關(guān)數(shù)據(jù)必須包含全部必要的相關(guān)信息以便重現(xiàn)初始稱量信息,其中主要指示包括 毛重值、凈重值和皮重值,小數(shù)點(diǎn)符號,計量單位等。其他信息包括存儲數(shù)據(jù)的CRC校驗(yàn)和、數(shù)據(jù) 識別信息(如序號)、日期、時間以及多臺衡器或承載器與數(shù)據(jù)存儲裝置連接時的衡器識別號或承 載器識別號等; d)打印輸出時,應(yīng)同時打印數(shù)據(jù)識別信息; e)檢定時,所有關(guān)聯(lián)的設(shè)備,無論其是否是法制計量設(shè)備,都要同時交檢。 在GB/T23111提出的以上各防止作弊措施中,都離不開一個基本的技術(shù)手段----CRC校驗(yàn)和,其 專業(yè)稱謂叫做"循環(huán)冗余校驗(yàn)碼",CRC原本是數(shù)據(jù)傳輸?shù)牟铄e控制手段之一,大致原理是:將待 發(fā)數(shù)據(jù)作為被除數(shù),用一個"生成多項(xiàng)式(實(shí)際運(yùn)用中相當(dāng)于一個多字節(jié)二進(jìn)制數(shù)碼,例如CRC-16 實(shí)際就是一個雙字節(jié)數(shù),CRC-32則是四字節(jié)數(shù))"做除數(shù)進(jìn)行除法運(yùn)算,除得的結(jié)果是"商"和"余 數(shù)",將"商"放棄不用而將得到余數(shù)(校驗(yàn)碼)隨數(shù)據(jù)一同發(fā)出,在接收數(shù)據(jù)的一端,再用相同 的"生成多項(xiàng)式"再次與收到的數(shù)據(jù)進(jìn)行除法運(yùn)算,如果計算所得余數(shù)與之前收到的余數(shù)相等,則 收到的數(shù)據(jù)就是原發(fā)出的數(shù)據(jù),如果不等,就表明數(shù)據(jù)被改變,從而確認(rèn)數(shù)據(jù)是否是有效的。 六、結(jié)束語 盡管GB/T23111提出了對法制相關(guān)軟件的管理要求,但由于在世界范圍內(nèi)缺乏足夠的實(shí)踐支持, 與對衡器的計量要求和技術(shù)要求相比,其方法落實(shí)到實(shí)際的操作中的可操作性要復(fù)雜的多。目前來 看還要先解決許多技術(shù)課題和管理課題: