摘 要:本文对城市自来水公司进行IC卡水表改造中所涉及到的安全性、用户缴费、系统管理进行了分析,提出了城市自来水公司IC卡水表改造的技术要求,并给出了具体的操作步骤。
一、项目需求
如果在一个城市实施“一户一表,抄表出户”的改造工程,目前比较可行的方案是:在自来水用户中推广使用IC卡式水表,用户持卡缴费购水,然后插入IC卡,水表开始用水,当所购水量用完后,IC卡水表将自动关闭阀门禁止用户继续用水,必须再次持卡到银行购水才能恢复使用。由于一个城市的改造工程涉及的用户不仅数量多,而且分布面很广,这样该项目在实施过程中必须重点考虑安全性和可操作性。
1、安全性:
安全性的考虑可以分为三个方面:卡片介质的安全性、表计生产过程的安全性、运行管理的安全性。
卡片介质的安全性:由于用户群体庞大,并且表计安装后IC卡数据向表计传递管理过程系统无法监控,因此必须要求用户卡片具有较高的安全性。
表计生产过程的安全性:严格区分表计的生产过程和运行管理过程,保证IC卡水表一旦安装运行,对水表中任何数据的修改都应该在运行管理系统的控制下进行,坚决杜绝生产厂家或管理部门工作人员持有特殊工具卡不经管理系统而对水表数据进行改写的行为。
运行管理的安全性:在IC卡水表系统中,系统的安全主要取决于密钥的发行和管理,因此必须有一套合适的IC卡以及ESAM模块密钥发行和传递方式。
2、居民用户缴费的可操作性:
由于居民用户的群体较大,户表改造工程的时间较长,为了方便用户的缴费购水工作,单靠自来水公司建立营业网点运营管理费用较高并且服务效率较低,比较好的方式是利用现有的银行网点完成缴费购水工作。用户在安装了IC卡水表并且从自来水公司领到IC卡后,就可以直接到银行进行缴费购水,同时自来水公司也能够非常方便地和银行建立水费的结算和转帐等业务,这样自来水公司就能够非常容易借助银行完成水费的征收工作。
网络收费管理系统的结构如下所示:
3、用户卡的可操作性:
用户卡的可操作性考虑体现在四个方面:用户卡开户过程、用户卡操作过程、补卡过程、故障表维护过程。
用户卡开户过程:用户卡开户过程要完成用户信息、水表信息、水价信息和用户卡的对应。这个过程应尽量流程简便,以避免用户在银行和自来水公司多次往返。
用户卡操作过程:考虑到用户使用过程中,插拔用户卡的随意性,应该尽量使用户卡与IC卡水表进行数据交换的时间降到最短,以避免由于用户在数据处理过程中将卡拔出而造成的数据错误,给用户购水过程造成不方便。
用户在使用过程中,如果由于购水量用完造成不能继续用水,而当时用户又不能方便地购水,应该考虑允许用户采用应急赊欠的方式暂时继续用水,可以根据需要设定赊欠门限,在用户下次购水时将赊欠值扣除。
考虑到IC卡水表在应用过程中存在参数修改的可能性,可以将某些参数通过用户卡进行传递,在用户购水过程中对IC卡水表进行修改。
补卡过程:当用户卡遗失后,应该能够重新给用户补发用户卡。最简单的方式是直接补给用户一张卡片,对用户遗失卡片中的购水数据不再补发,损失部分用户自己负责,这样用户补完卡的同时就可以进行下次购水。
故障表维护过程:在IC卡水表安装过程或在运行时由于某种原因都有可能造成需要对现场IC卡水表中的数据进行修改,这时需要有工具卡对IC卡水表进行操作,这种操作应该有别于IC卡水表生产厂家在生产过程中修改IC卡水表数据的操作。要杜绝生产卡未经授权可以在运行现场使用。应该设计一种现场数据设置卡,这种卡使用运行密钥,里面的设置参数可以灵活设置,插卡一次就应该将IC卡水表数据修改完毕。
4、自来水公司管理的可操作性
不同的生产厂家由于掌握的需求不一样,所制订的设计规范也是不同的,这样就导致在自来水公司安装的不同生产厂家的IC卡水表的功能以及数据交换协议是互不相同的。
同时,由于市场需求的不断变化以及新的设计技术的不断应用,即使是同一个生产厂家在不同时期制订的设计规范也有可能是不相同的,从而导致自来水公司在不同时期安装的同一家IC卡水表生产厂家的水表功能和数据交换协议也有可能是互不相同的。当现场表计出现故障时,不同的表要采用不同的维修更换方法也增加了自来水公司维修服务的难度。
二、城市范围实施IC卡水表改造的几个技术要求
1、选用CPU智能卡作为IC卡水表设计的卡片介质
由于在IC卡水表及系统中,IC卡是数据存储和传递的载体,因此IC卡的数据存储安全性是需要着重予以考虑的。
IC卡根据对EEPROM读写处理方式的不同,可以分为存储卡、逻辑加密卡以及智能卡(CPU卡)三大类,它们具有不同的数据保护安全级别。
由于智能卡内部具有CPU芯片,在具有数据判断能力的同时,也具备了数据分析处理能力,因此智能卡可以随时区别合法和非法读写设备,并且由于有了CPU芯片,具备数据运算能力,还可以对数据进行加密解密处理,因此具备非常高的安全性,其安全级别很高。
从对攻击方式的分析可以看到,保证IC卡内数据的安全性是最基本的要求,如果非法设备可以容易地与IC卡进行数据信息交换,进而进行分析处理,IC卡水表及系统就不再具备任何安全性。因此提高IC卡的安全性是设计好的IC卡水表及系统的关键。
根据上面的分析,如果IC卡水表及系统对数据的安全性非常重视,应该选用安全级别高的IC卡,从发展趋势看,应尽量选用CPU卡做为IC卡水表信息传递的介质。
2、在IC卡水表中安装嵌入式ESAM安全模块
由于CPU中的程序是需要生产厂家(或第三方)的设计人员进行设计的,这部分程序的功能和处理流程可以是由IC卡水表使用方提出需求而委托设计的,需求本身也是公开的。但如果要在CPU的控制下存储密钥和进行加密运算,出于安全性的考虑,密钥值应该是不公开的,因此这部分程序编制是不能委托开发设计的,必须掌握在IC卡水表使用方手里。换言之,IC卡水表的功能、数据操作流程和数据的安全性是两个不同的概念,应该由不同的功能模块去完成。解决这个问题最好的方案就是在IC卡水表中增加嵌入式安全模块(ESAM模块)。
在IC卡水表中使用ESAM模块技术可以实现IC卡水表数据流程和数据安全的分离,便于实现产品的兼容和升级,可以不断推动技术进步,是规范IC卡水表技术发展的有效技术手段。为此自来水公司应在新安装的IC卡水表中一律使用嵌入式ESAM安全模块,以实现投入安装运行的IC卡水表的安全性完全由自来水公司掌握。
3、制订统一的IC卡水表设计规范
在IC卡水表的设计过程中,都需要有一个设计规范用来描述IC卡水表的功能,IC卡水表中的数据项定义、IC卡水表和CPU卡进行数据交换的流程以及CPU卡和收费管理系统进行数据交换的流程。
城市自来水公司在新安装的IC卡水表项目中,必须由自来水公司出面,集合IC卡表生产厂家,IC卡厂商以及银行、系统集成商统一制订IC卡水表及收费管理系统的设计规范,并要求参与该项目的各方提供的产品和系统都必须满足规范要求,通过技术测试验收后才能够提供产品和系统。
4、委托银行和系统集成商统一设计收费管理系统
以往的单机运行的收费管理系统都是由IC卡水表生产厂家根据自己的设计规范独立进行编程设计维护。但城市级的网络收费管理系统还采用这种方式运行是存在问题的:
IC卡生产厂家的设计人员的重点主要集中在相关表计产品设计上,对大型数据库系统、网络编程等技术的掌握上能力相对不足,这样设计的收费管理系统可能会在技术上存在缺陷,从而对系统的稳定运行带来障碍。银行和专业的系统集成商一方面具有专业的收费管理系统设计所需的各项技术和经验,同时他们不会参与IC卡水表生产厂家之间的商业利益,所以能够独立地保持技术的中立性,最大程度地为自来水公司提供优质的服务,使自来水公司运行的收费管理系统能够长时间地保证安全和稳定。
三、城市自来水公司IC卡水表项目实施办法
实施过程如下:
1、 为了保持统一设计规范的公正性,自来水公司决定委托一家系统集成商作为IC卡水表及收费管理系统设计规范的制订者。
2、 为了能够使新设计的CPU卡水表的功能更能够与现有IC卡生产厂家的产品接近,首先入围的IC卡生产厂家将向自来水公司提供现在各自的IC卡水表设计规范,在此基础上,一方面自来水公司将规划对现有运行的IC卡水表的管理,另一方面将在此基础上汇总形成统一的设计规范中的水表功能。
3、 统一的CPU卡水表规范草案制订完毕后,自来水公司将召集IC卡生产厂家、银行、系统集成商对方案进行讨论修改,并最终确认形成正式的CPU卡水表及收费管理系统的设计规范。
4、 在统一规范的基础上,各个IC卡生产厂家修改各自CPU卡水表的设计。
5、 在统一规范的基础上,自来水公司委托系统集成商制订测试验收大纲,并编制测试软件。
6、 在统一规范的基础上,自来水公司委托银行和系统集成商共同设计自来水公司CPU卡收费管理系统。
7、 由自来水公司主持,分别用测试软件对IC卡生产厂家设计完毕的CPU卡水表进行测试要求,只有通过功能测试的IC卡生产厂家才能够进行批量生产。
8、 由自来水公司主持,用测试软件对CPU卡收费管理系统软件进行测试。
9、 由自来水公司主持,召集IC卡生产厂家、银行和系统集成商共同对整个CPU卡水表及收费管理系统进行联调测试并最终验收。
10、自来水公司建立发卡密钥管理系统,IC卡生产厂家在自来水公司领取嵌入式ESAM安全模块组织CPU卡水表的批量生产和供货。
11、 自来水公司向银行提供PSAM认证卡,为居民用户发行有运行密钥的用户卡,系统投入正式运行。
四、IC卡水表具开发进度
卡式IC卡水表具的开发应该经历以下几个过程:
关于CPU卡以及TIMECOS操作系统的技术培训,需要组织表厂、系统集成商对有关CPU卡片、TIMECOS指令、IC卡读写设备等内容进行培训。
讨论确定卡式IC卡水表的总体方案,包括卡片结构和操作流程、表计功能和操作流程、银行交易操作流程以及卡片和ESAM模块发行管理流程。
表厂开始表具电路设计,微控制器编程、调试,卡片供应商提供必要的技术支持。
系统集成商开始设计编制整个管理系统软件以及卡片发行密钥管理程序,卡片供应商进行必要的技术支持。
表厂作出功能样表与管理系统进行联合调试,并对出现的问题进行修改。
表厂和系统集成商对产品进行完善,进入小批试运行考察。
定型验收,组织正式生产和运行。
初步测算,表厂完成样机试制需要两个月左右的时间,系统调试完毕需要三个月左右的时间,联调及试运行至少应该需要两个月左右的时间。为此完成整个开发过程估计需要四到五个月左右的时间。