JF 1182—2007《计量器具软件测评指南技术规范》的出台规范了计量器具软件测评的程序和方法。 本文综合软件测评指南和JJG 907-2006?动态公路车辆自动衡器》检定规程的要求,针对动态汽车衡应用软件现场测评中如何实现对软件保护的检测,结合实例,提出我们的实际有效的解决方案,供同行探讨、商榷。
0.引言
JJG 907—2006《动态公路车辆自动衡器》的颁 布实施,规范了对动态公路车辆自动衡器的检定方 法和型式评价内容,并且在其通用技术要求中第2条操作安全性和第6. 5. 8条软件中针对软件防 护和防止欺骗性使用做出了要求,但是并没有 提供具体的软件测评操作方法。随着JJF1182— 2007《计量器具软件测评指南技术规范》的出台,计 量器具软件测评成为计量器具检测和评价中非常 重要的一部分。近年来,动态汽车衡调试软件作弊和私自修改计重参数的事件时有发 生,因此必须对其进行严格的软件测评,我们积累 了一些现场测试经验和发现的问题,下面就常见 的问题进行分析探讨,提出解决方案,供同行们 商榷。
1.动态汽车衡的控制系统和调试软件介绍
1.1控制系统
一般常见的有以下三种形式:
1)单片机系统。该系统的优点是模块简易、安 装方便、设备操作简便、维修成本低。但随着用户 对计重设备准确度、稳定性等要求的提高,该系统 已经不能满足要求,目前大部分生产厂商都不再 使用。
2)安装Windows或Linux操作系统的工控机。 该系统的优点是人机界面友好,调试、维修程序直 观、易懂。缺点是工控机须24小时开机运转,长时 间不间断运行易导致硬盘温度过高,发生死机、硬 盘烧毁等故障.从而影响计重设备整体运行。
3) ARM嵌人式系统。该系统的微处理器耗电 少、数据处理功能强大、程序编译方便、硬件稳定, 目前应用较为广泛。
1.2调试软件
根据测评指南中第4. 1条对计量软件技术特性 的分类,下述两种类型的软件都属于U类型,即基 于通用的计算机系统。
1)通过调试面板上的调试按键进行调试。这 种调试软件一般应用在单片机和ARM系统中,各 个按键对应不同车型、重量、速度,改变对应参数从 而达到调试的目的。该方法操作复杂,且容易造成 参数曲线阶跃较多,不够平滑,调试效果不够 理想。
2)调试软件在Windows或Linux操作系统下运 行。检测时需先运行调试软件,这种调试软件人机 界面友好,但容易进行欺骗性操作,目前发现的作 弊软件绝大部分都属于这类。
1.3实现软件保护检测的两个方面
测评指南4. 2. 3中针对软件保护提出了 6条要 求,我们认为应从两个方面来实现:一是如何在现 场检测中防止和发现应用软件作弊,即“要避免用 于欺骗性使用的目的”;二是检定合格后如何进行 合理、有效的封印,即“通过采取机械封装或电子加 密等措施防止未经授权的访问和修改”.
2.如何在现场检测中发现和防止应用软件作弊
2.1作弊程序的一般运行方式
初期的作弊程序比较简单,只会随机显示合格 的车重数据,可通过改变车重或车型来发现和破 解。图1所示为我们在实际检测过程中发现的一种 相对较为完善的作弊程序流程,这种作弊程序增加 了三个判据来增强其反破解的能力,依次为:
1)检衡车通过称重区域后,首先判断车型是否 发生变化。如果车型发生变化,对应的车重和轴重 肯定有变化,只能输出真实检测值。如果超差,则 进入标定程序,等待输人新的标准车重,如果车型 没有发生变化,则进人第2个判据。
2)比较实际检测车重和标准车重的差值。若 超过设定值就认为检衡车重量发生了变化(设定值 一般小于标准车重的3% ),输出真实检测值。如果小于设定值’则可以认为检衡车没有变化,进人第3 个判据。
3)检测时间的判断作为辅助判据。通过程序 中的计时器计算从标定完毕’重新运行检测程序到 检衡车完全通过称重区域一次所用的时间。如果 时间过长,则认为检测过程中检衡车有变化,输出 真实检测值;如果时间合理,则输出随机产生的合 格数据。
2.2如何判断是否可能作弊
如果检测过程中连续几台计重设备检测数据 都在允许误差范围以内,理论上不需要标定、调整, 但现场使用情况并不理想(可通过向收费站人员了 解该收费站计重设备的使用情况),尤其是在车流 量大、设备陈旧的收费站检测中出现首检合格率很 高的情况,那就要引起特别重视。因为高速公路计 重检测已经开展了很多年,在用的计重设备经过一 个检定周期的使用后准确度和稳定性都会发生变 化’大部分设备检测时都需要调试。
2. 3防止和破解作弊的检定方法
检测过程中增减砝码操作复杂,耗时较长,效 果有限,我们在实践中摸索出了一种新的检定方 法。不再单一使用维护厂家的检测程序,而是对检 测程序和收费程序显示的数据分别进行记录,两种 程序的数据互相参比,参比时只要注意收费程序的 下调系数进行一个相应的简单换算即可。这种方 法虽然还不能算是测评指南4. 2. 3要求6中提到的 “采用第三方的信号与采集标准信号比对来验 证,但是这种混合型的检定方法可以增加其作 弊的难度,有效防止检测程序作弊。具体使用时要 注意以下几点:
1)数据参比时一定要重启设备和程序后进 行。如果确定有作弊的嫌疑,待该车道或该收费 站检测完毕后,关闭检测程序,断开调试设备(如 笔记本电脑)与计重设备的连接,对整个计重设备 断电重启,重启过程中调试人员不得对计重设备 进行任何操作。重启后用检衡车重新进行检测, 在计重收费的程序界面里读取重量信息,并与检 测程序界面记录的数据对比,如果数据相差较大, 则可以判定检测时进行了程序作弊。两种程序同 时显示数据意义不大,因为同时显示时测试数据 的来源途径是同一个动态链接数据库,不能算作 真正的参比测试。
2)无规律的使用。因为这种检定方式需要的 检测时间比较长,考虑到兼顾效率的问题,不需要 每个车道都采用这种方法,只需在每天的检定中随 机的抽取一部分车道使用即可,作弊程序都是建立 在有规律的检定步骤之上的,这样无规律的变化不 利于其在后台运行,也容易让其暴露。
3)要防止作弊,最根本的解决办法是由计量检 定人员进行调试。调试程序的开发人员是不可能 把作弊程序告知和拷贝给计量检定人员的,因此计 量检定人员只需使用计重设备对应的调试程序进 行调试即可。这种方式我们和其他部分省院的检 定同行已经开始采用,但是目前只限于部分计重设 备。还无法大规模推广的原因如下:检定人员毕竟 不是专业的计重设备维护调试人员,只进行计重调 试尚可,但是计重设备是24小时不间断运行的机电 设备’随时可能出现各种故障,经常需要维修,维护 厂家为了技术保密,不可能把全部调试和维护方法 告知,检定人员也没有能力和设备对计重设备进行 维修,一旦计重设备故障无法排除,再通知维护人员 赶到现场反而会浪费更多的时间。因此目前我们 只是在部分设备状态较稳定的路段使用这种方法。
3.检定合格后如何进行封印
检定合格后如何对调试程序和设备进行封印, 是目前计重检测中遇到的另一突出问题。封印设 备和程序时应注意,一方面要确保不破坏封印就无 法运行调试程序,进行计重参数的修改,这是封印 的主要目的;另一方面要确保不能影响计重设备的 正常维修,计重设备长年运行,经常会出现各种故 障,需要维护人员进行维修,应该不需要破坏封印 就能进行日常的维护。
3.1现有的封印方法
设置电子修改密码,由检定人员单独设 置。这种方法操作简单,不会影响调试程序的维 护功能,缺点是电子密码容易被破解。
用铅封、封条等物理闭锁装置封印。有的 维护程序进入调试状态时,需要一个特定的物理操 作,如需要拨动特定的拨码开关或切换到特定的调 试串口等,这种情况下只需封印拨码开关或调试串 口即可;但是也有相当多的维护程序不需要进行物 理操作就能直接进入调试状态,针对这种设备的封 印,目前普遍采取的是直接封印控制柜和数据连接 线,这种封印的结果会影响到日常的设备维护,给 设备使用者和维护者造成不便。
3.2一种新式的封印方法
如表1所示是某收费站22出口车道的计重参 数,调试合格后对计重参数进行详细的记录,或者 对调试界面的参数窗口直接截屏保存,后续检定中 首先对比调试参数,参数是否变化就是是否私自调 整的最好判据。调试人员不可能在每次周期检测 前将上百台设备的数以万计的计重参数更换回去, 这种封印方法能够有效震慑住私自调参数的违法 行为,我们目前采用这种封印方法收到了很好的效 果,私自调整计重参数的现象基本杜绝.
4.结语
本文主要论述了目前动态汽车衡现场软件测评过程中遇到的两个难点:如何防止软 件作弊和如何更好的封印。现场检测不同于型式 评价,其环境恶劣,设备和人员目前还不能完全满 足规范中的要求的方法,上述方法都是我们自己在 实际检测过程中不断试验、积累和总结出来的,目 前收到了较好的效果。汽车衡产品的软件测评工作 已经在我院全面开展,许多工作都刚刚起步,希望同行能对这些方法和思路提出批评、指正。