建设一个安全的一卡通收费系统
来源:中国一卡通网 作者:深圳明华澳汉城市一卡通科技有限公司 李文敏 发布时间:2006-12-12 11:50:31 字体:[大 中 小]
关键字:一卡通收费系统 安全 公交IC卡
摘 要:本文是深圳明华澳汉城市一卡通科技有限公司在总结了自己所参与的多个城市的公交IC卡收费系统的建设、参与多个城市的社保、医保等IC卡应用系统的建设后,特别针对系统安全的问题所提出的建议。
IC卡以其安全保密、使用方便的特点,使得它们在公共交通一卡通收费领域中找到了一个很好的表演机会,同时也给公交收费手段的发展指出了新的方向。然而,公交一卡通收费系统是一个关系到广大市民切身利益,也是关系到公交公司、出租车公司、地铁、轻轨、银行以及加入到系统中的各企业的利益,是一套牵涉面很广的系统,对安全保密有着较高的要求,而系统具有规模大,网点分散,流动范围大等的特点,给系统的安全保密性带来一定的难度。因此,不管是否已建立了应用系统,就如何建立和确保公交一卡通收费系统有足够的安全性,确保系统安全、快捷、准确地运转,是一卡通系统管理者需要认真面对的重大问题。
本文是深圳明华澳汉城市一卡通科技有限公司在总结了自己所参与的多个城市的公交IC卡收费系统的建设、参与多个城市的社保、医保等IC卡应用系统的建设后,特别针对系统安全的问题所提出的建议。
威胁系统安全的人为因素
威胁到一卡通系统的安全有外部的客观环境,更有人为的恶意破坏。
所谓客观环境对公交一卡通收费系统的影响,是指由于系统中使用到的各种IC卡、各类设备广泛散布于市民的手中和公共交通车辆等环境中,它们面临的客观环境非常复杂和恶劣,对IC卡及设备的干扰、破坏如弯折、腐蚀、静电、辐射、尘污、温度、湿度、磁场等因素,可以对IC卡及设备产生重大影响,严重影响系统信息的持久性和准确性。面对这些来源于外部客观环境的破坏,我们可以在系统设计、IC卡制造、机具生产等方面有针对性采取某些特别的措施,通过采用专门的设计和优良的产品,提高系统的抗干扰、抗腐蚀的能力,确保系统的运转不受影响。如何设计系统防止外部客观环境对系统的损坏的问题不是本文讨论的目标。
本文要论述的是那些由于人为蓄意侵犯、攻击而给系统信息的保密性、完整性、真实性、可获取性和持久性进行破坏的可能性,这些才是系统安全技术重点防范的主要威胁对象。
一个系统的安全性,我们应该从以下几个方面进行考察:
保密性:防范对未经授权的信息存取的能力;
完整性:防范对未经授权的信息更改(增、删、改)的能力;
真实性:在信息的发送和接收过程中,对信息真伪性的鉴别能力;
可获取性:防范对未经授权的信息截取的能力;
持久性:对系统信息长久准确、可靠地保存的能力。
我们应该清楚:入侵者对系统进行非法攻击所采取的手段是多种多样,针对不同的对象他们有不同的做法,各种手段层出不穷、无所不用!因此在公交一卡通系统的建设中,我们应该全方位地考察系统的安全性,包括:
对IC卡的攻击
POS机安全技术
密码管理体系数据传输网络安全技术中心数据库安全技术
行政管理措施
系统安全设计的原则
既然公交一卡通系统对安全性有很高的要求,在系统设计时,我们就要把系统的安全性放在重要的位置进行考虑。
对于公交企业的用户们,由于专业着重点的不同,他们不可能对IC卡、对系统安全技术都能有透彻的认识,面对琳琅满目、铺天盖地的广告,如何才能找到一套既适合自己又安全可靠的系统,确实令人眼花缭乱,我们对公交用户的这一心情深感理解。通过参与多个地方的公交系统的建设,通过与众多的公交企业和IC卡界的同行进行交流后,我们总结了一些实际的经验和体会,也总结出一些简单可行的方法,在此愿意向公交用户提出,希望能为他们设计和建设系统的安全性提供参考,也希望能帮助他们去鉴别和甄选市场上各类的系统或产品。
怎样的系统才有可信赖的安全性?我们认为一套安全的一卡通系统至少要符合如下的基本原则:
一定要符合建设部的颁发的行业标准
随着IC卡技术及产品在城市建设事业中的应用越来越广泛,为了提高城市管理水平、促进应用行业社会效益、经济效益的增长,规范建设事业IC卡应用市场,建设部颁发了在有多个企业共同参与制订的关于建设事业IC卡应用的技术规范和应用规范,这是建设部贯彻落实国家对金卡工程提出的统一规划、统一标准、统一发卡、统一管理的原则,同时也是我国建设事业方面应用IC卡技术的最权威的行业规范。
今年(2002年)6月,建设部正式颁发的《建设事业IC卡应用》的规范,是建设部最新颁布的规范,她包括了对IC卡片的要求、对终端技术的要求、对应用技术的要求、对密钥系统和安全认证技术的要求等,不但从一些物理特性、应用特性上对应用进行了规范,而且从应用的安全性上也提出了重要的论述和操作指导,规定了各类安全的操作流程和安全算法,按照这个规范去建设系统,无疑可以严格保证我们所建立的系统的安全性。应该说这套规范是全面而实用的,确实对行业进行IC卡应用具有指导性、指示行、实用性,因此作为一卡通用户的行业用户完全可以用此规范对市场上各种系统和产品进行甄选,也应该是判断各种产品的其中一个重要标准。
符合人民银行关于金融方面的标准
一卡通系统与经济利益、金融结算密不可分,有些系统还需要把银行引入到系统中来。所以这些系统的设计、卡片的规划、机具的应用等还必须符合人民银行的有关规范。
人民银行关于IC卡应用的多项规范,除了是保证各银行的IC卡系统有统一的操作方式、数据信息有统一的交换格式外,更重要的是保证对银行系统的安全特性有统一的规定,以确保我国金融系统的运转有严格的、可控制、规范的安全特性。
人民银行的规范对建设事业单位应用IC卡系统有同样重要的指导与参考作用,事实上,建设部的规范是在参考人民银行的规范的基础上,通过增加自己特色的规定而发展起来的,两者没有冲突。在可能的情况下,特别是在包含金融企业在内的建设事业IC卡系统中,我们应该共同遵守建设部、人民银行制订的各项标准。换句话说,在对市场上各种系统和产品进行考察时,应重点考察它们能否很好遵守建设部、人民银行制订的各项标准。
卡的安全性
在一卡通系统的各行业中,在用现金付费的场合中,假币的出现难以杜绝。同样,在采用IC卡付费时,IC卡作为电子货币的载体,大量散发于广大市民手中,是破坏者最易攻击的对象之一,特别是在一个包含有大量应用在内的一卡通系统中,系统高度的复杂性会给入侵者提供更多的机会,同样会引发假卡的出现。
防范对IC卡的攻击,我们通常要考虑如下几个方面:
芯片的安全技术
防范对IC卡芯片的攻击,是IC卡芯片安全的基础,各芯片厂家在设计时就应注意采取各类的安全保护措施,以防范敌手的恶意攻击和探测,一般较为常用的芯片安全技术有:
(1) 采用烧断熔丝的技术是芯片制造商用于对芯片进行检测的功能无法再次使用;
(2) 加入特别的技术,防止对芯片工作中高低电压变化、频率变化等多项探测的攻击;
(3) 加入监控技术,防止对程序、数据总线、地址总线等信息的非法截取;
(4) 加入对总线和存储器的物理保护层;
(5) 随机数产生的技术;
(6) 实施对存储器的逻辑加密保护,并设置密码输入错误计数器;
对于一卡通系统用户来说,这些技术虽然是属于芯片厂家的问题,但我们也应该对它们有所了解,掌握芯片安全技术的发展动态,通过比较选择出最适合自己系统的产品。
卡片的软件安全技术
上述提到的芯片安全技术,是芯片的硬件安全技术,如果我们采用CPU卡则还可借助卡内的操作系统COS(Chip Operation System),获取更为完善的安全保护,这是卡片的软件安全技术。
通过COS我们可以得到如下的安全保护功能:
IC卡与外部读写器的相互验证;
硬件+软件的测试功能;
随机数的产生与应用;
对信息的加密与解密;
对应用程序流程的控制;
对安全应用级别的控制;
多应用的隔离或结合。
由于有了COS这一软件的产品,使IC卡的安全控制方式可以是多种多样、灵活多变,使我们的应用更加多姿多彩。当然为了保证应用的一致性和安全性,各个行业的管理部门,会根据本行业的特点制定相应的COS规范,如建设部、人民银行都有对COS制定自己的规范,并建立相应的检测和认证部门,对市场上的相关产品进行检测和颁证,为用户的选择提供权威的见证。
卡片的应用安全技术
卡片的应用安全技术也可分为两种:一种是卡片表面的防伪技术,另一种是应用中的信息安全处理技术。
(1)卡片表面的防伪技术:为了进一步提高安全卡片的防伪性,可以在卡基的制造、印刷上采取各种保护措施:
A、荧光图象:采用荧光图象的印刷技术,使得印刷的图象可以在紫外光下显现。
B、微缩曲线:普通看去是一段直线或曲线,但在高倍数的放大镜下却是一段很小的,有一定数学规律的,由字母、文字组成的序列曲线。
C、激光雕刻:利用激光将图形、文字、签名、甚至照片等“刻蚀”到卡基内,而不是普通的印刷。
D、偏振光图象:利用偏振光及材料的印刷技术,一般看去只是卡片的表面图象,但在偏振镜片下,看到的却是“隐藏”的另一幅图象。
随着印刷技术的不断提高,各种各样的卡面防伪技术不断涌现。在我国以上这些卡片表面印刷技术已经可以在国内实现,为卡片的表面防伪也能提供多种选择。
(2)卡片的信息安全处理技术:正如前面提到的,由于CPU卡具有较高的智能判断能力,可以采用完善的验证技术确保信息的发送和接收都可以进行鉴别,防止对卡和POS机具的伪造,保证信息真实性的最佳方法,使系统有较高的安全性,因此CPU卡一定会使用在密钥管理、发卡、充值等这些对安全性要求很高的地方。
对于逻辑加密卡除了卡本身具有密码校验功能外,卡本身没有智能的身份验证功能和技术,因此在系统设计时,就需要为它们设计出一套完善的密码计算和验证功能,以保证系统的安全及系统密码不能外露。正是根据这些需要,同时也是出于指导和保护行业所建设的IC卡应用系统,建设部在颁布的有关规范中,严格规定了采用安全存储模块进行卡的密码计算的方法,切实保证了“一卡一密”的实现,为广大用户提供了经严格证明是安全可靠的科学方法计算方法。
要执行建设部这一规范,我们必须做到:
A、在建设事业IC卡系统中的设备(如车载机、出租车计价器、IC卡智能水表等),必须安装建设部的安全存储卡或安全存储模块;
B、整个系统设计中,必须安装“建设事业IC卡密钥管理系统” ;
C、读写机具对卡的操作流程符合建设部规范的有关要求。
值得注意的是:虽然建设部有严格的规范规定了卡片密码的计算方法,但如果在设计中不能做出全面的考虑,也会给敌手留下可怕的漏洞,下面是一个例子:
在公交IC卡收费系统中有一个著名的难题:分段收费的问题。我们注意到有些系统设计成在分段收费的车辆中安装两个车载POS机,上车门的车载机负责在乘客卡中记录乘客的上车地点,而下车门的车载机则负责对乘客卡进行计费,计费时是根据卡上记录的上车站点与下车所在地点的距离,按照线路的票价体系进行计算,根据计算的结果车载机对乘客卡进行扣费,并把收费情况记录在车载机中。
考虑到有极少数贪心的市民,可能不在下车门的车载机刷卡就跑掉,由此逃票。为了防止这种损失,这些厂家提出方案:在乘客上车刷卡时就按上车点到终点站的票价预先扣除,在乘客下车刷卡时,根据实际应收金额,把可能多收的票款退回乘客卡中,以防上述的逃票现象。但我们认为这种做法在今天普遍采用非接触式逻辑加密卡(如Mifare 1卡)作为乘客票卡的情况下有可能会降低系统的安全性。因为按这种做法,必定要在下车门的车载机中装入卡片的加值密钥的种子,虽然按建设部规范的要求,加值密钥的种子存放于机内的SAM模块中,同时每张卡片具体的加值密钥也由该SAM模块进行计算,窃贼难于偷盗,但如果采用逻辑加密卡,每张卡片的加值密钥最终要加载到读写天线才能对卡片进行操作,这就存在一个明显的安全漏洞,窃贼们只要监控读写头上的信息就有可能偷盗到卡片的写密码,加上车载机大量安装于公交车上,容易被窃取,有了机器,无需对系统的密码进行破译也可实现对任意卡片的充值操作。这种做法在表面上是按照建设部的规定去实施,但却由于应用设计的缺陷,反而给敌手提供了破坏的方便性。
当然为了防止上述的逃票现象,我们让上车门的车载机在写入乘客的上车站点信息的同时写入从该站点到终点站的票价,但并不预先扣费。如果乘客没有逃票,下车门的车载机按正常情况处理完收费后,会把这条上车记录进行“已处理”的标记。一旦乘客逃票,这条上车记录一直处于“未被处理”的状态。这里我们要对收费机的收费流程进行更改,所有的IC卡收费机、充值机(包括上车门的车载机以及一卡通系统中的各种IC卡收费机)在进行卡片的合法性验证后,要先判断卡片是否存在类似的“未被处理”记录,有的话要按该记录所记录的收款金额先完成补扣操作,才能对这张乘客卡进行下一步操作,由此对“逃票”的卡片进行补扣操作。不过我们也清楚:这种方法会对所有应用于一卡通系统的读写器(包括不是公交系统的读写器)的流程都要进行更改,由此造成的影响也是很大的。
实现公交分段收费的方式有多种多样,不仅仅是上述这种方法,但不是本文所要论述的内容,有兴趣的读者可以与明华一卡通公司或本作者联系,共同探讨。
密钥管理系统
建设部为了对全国范围内各城市建设事业一卡通工程提供可靠的安全标准,开发了建设事业IC卡密钥管理系统,为城市交通一卡通提供密钥管理的统一标准和IC卡结构的规范,以便今后建设部能够对各城市通卡使用IC卡进行规范和管理,提高系统的安全性能。在一些当前不具备实施城市交通一卡通的城市,单行业的IC卡工程也可以采用建设事业IC卡密钥管理系统。
建设事业IC卡密钥管理系统采取二级管理的模式,分为部级密钥管理系统和城市级密钥管理系统。
部级密钥管理系统由建设部IC卡应用服务中心管理并具体操作。该系统主要用于生成各类部级主密钥卡、城市主密钥卡和制造主密钥卡。
1、建设部密钥管理模块
建设部密钥管理中心负责产生全国范围内各行业使用的消费(扣款)密钥,为各城市管理中心产生对应子密钥,并以母卡形式传输到各个城市,同时应在卡上和主机上记录发卡的有关信息以便跟踪审计。
主要功能有:产生城市建设一卡通系统的消费主密钥和其他部级主密钥,发行和管理部级领导卡,主密钥卡,各城市主密钥卡,部级母卡,发行城市建设一卡通系统的PSAM卡。
城市级密钥管理系统由经建设部IC卡应用服务中心授权并经城市行政主管部门认可的城市发卡机构管理和操作。该系统主要用于生成管理城市内各有关应用行业的各类消费安全认证卡、充值安全认证卡、用户卡和管理卡。
在应用项目启动之前,由建设部IC卡应用服务中心统一向当地发卡机构提供密钥系统和专用空白卡片。其中密钥系统包括:一张光盘(密钥管理系统程序),一张软盘(密钥管理系统资料电子版),六张母卡(发PSAM卡传输卡,PSAM母卡,PSAM母卡传输卡,主控传输卡,城市主密钥卡,城市主密钥卡传输卡);专用空白卡片用来生成消费、充值、交易安全认证卡,各城市生成用户卡和管理卡所需的空白卡片预装有建设部制造主密钥。而城市用户卡中的消费密钥由建设部IC卡服务中心统一提供给城市发卡机构,充值密钥和交易密钥由应用城市密钥管理系统自行生成。
2、城市密钥管理模块
城市密钥管理模块安装在各城市IC卡应用管理中心,主要功能是生成和安装用户卡、充值SAM卡上的各种密钥。并对指定的卡生产商提供的空白卡进行统一管理,发行和管理本城市的各行业的PSAM卡ISAM卡、TAC卡、以及城市一卡通系统的用户卡,提供系统数据记录的增、删、改查和报表生成等功能,并且提供连机帮助信息。
城市一卡通公司在收到建设部IC卡应用服务中心提供的建设事业IC卡密钥系统后,由城市自主发行四张领导卡,产生该城市的总控密钥,由此生成城市主密钥卡,并用城市主密钥卡及传输卡发行用户卡和操作员卡以及ISAM卡,用PSAM母卡及传输卡发行 PSAM卡。
建设事业IC卡密钥管理系统的开发和使用,避免了城市间盲目上马,低层次重复开发所造成的资源和资金浪费,为应用系统各个环节的安全性提供了强有力的保证,是城市交通一卡通工程必不可少的重要组成部分。
设备安全性
在公交一卡通系统中,各类IC卡设备,特别是车载类POS机设备,分散于各辆汽车上,流动性大,是破坏者最易于攻击的另一个目标,为了保证其安全为了保证其安全,系统在设计时除了对信息处理有严格安全规范外,在设备的结构上,电路控制板上也应采取相应的措施:
按照建设部的规范,我们必须采用安全性能极高的安全存储模块(SAM卡或模块),它必须是符合建设部、中国人民银行的规范,同时应该是得到这些部门认证的。
机器内数据的存放是一式两份,最大限度地保证机器的数据的完整性。
存放于机器内的数据最好是被加密的,以防被盗;
存放于机器内的数据一定是有校验码,以确保数据的不可更改性;
机器在执行完任一操作后,都应忠实地把情况记录下来,以便必要时能对机器的使用情况进行追踪;
对于初始化机、售卡充值机:它们除了有上述的性能外,在对使用人员的控制上,还应加入“操作员身份证卡”的方法,即每个合法的操作员均有一张CPU卡作身份验证,里面放置该人员的信息、密码,操作时只有经过验证是合法的CPU卡才能从中获得进门的密钥;该CPU卡同时还存有对售卡充值金额等方面进行适当限制的信息,防止身份证的恶性“丢失”,每张CPU身份证卡,要定期到控制中心进行“更新”确认。
所有设备的工作流程要按建设部的规范实施。
设备应有较大的黑名单数据容量。
系统的其它安全性
1、网络安全
任何在网上传输的信息都是已加密的,系统实现了应用层的保护。
PC机与IC卡读写器间的通讯有严格的接口规范,它们之间具有动态的识别、加密传输功能,实现了包传输的加密,任何侦听、加插、伪造的操作都是无效的。这些措施也是金融IC卡进行身份验证和数据保密传递的技术。
传输信息与校验信息一起传送,可防止信息的非授权更改。
管理中心在收到信息后,要在数据库中检查正确后才能入库,防止信息的重复投递。
身份权限的控制:实行严格的密码管理制度,每个在系统上工作的人员都有自己的编号和密码,该密码对任何人(包括上级人员)均保密。本系统密码对系统开发者(供货商)也是保密的。
访问权限的控制:通过严格的安全体系保证系统上的开发者、使用者、发行者之间互相绝缘,各有独立密码系统不被别人窃取。
路由控制:网络管理中应配备防火墙,路由控制等多重控制,因而任何想通过这些关卡进入网络中心是极其不易的。
网络数据的传输采用“下取”的方式:即从各数据汇集点收集到的数据量放在站点机器上,由管理中心(或营运公司计算机室)按照时间分配,自动拨号到这些站点机上进行存取,从而使中心通讯机的使用得到控制。
为了防止病毒的攻击,系统设计在网络上只进行数据的交换,而不进行程序的交换,任何程序的交换都是非法的,这不但是技术的控制,更重要的是行政的管理。
2、主机及中心数据库的安全技术
中心数据库是信息汇集的地方,更是攻击的最终目标,系统采用目前流行的C/S或B/S模式,操作终端和数据中心严格分离,只有中心管理员才有权进行数据库级的操作,客户端的操作都是通过系统内部指令而进行。
系统通过采用先进、可靠、安全、成熟的核心平台和技术,这些都是可以令人信服地增强系统安全、可靠性的有力措施。
按照系统的规定及时进行数据备份,及时互换密码,在行政的规范管理上保证系统的安全。
系统应建立完善的日志功能,对进入系统的各项操作都进行真实完备的记录,以便系统今后的追踪回索。
系统中心在处理各类营运信息时,都要对其真实性进行判别(包括解密、校验码认证、身份认证等)后才能加入到主数据库中,其运算量是很大的。因此在中心机房一定要采用一卡通专用的加密机,一方面可以为系统的运转提供较大的数据处理吞吐能力,另一方面可保证不会泄露有关的密钥信息,绝对不能把密码直接存放于计算机中。
3、管理制度的完善
大家都知道,堡垒是最易从内部攻破的。虽然在一卡通的设计与建设中,我们可以加入很多安全技术,确保敌手不易攻破我们的防线。但如果自己内部出现问题,或者破坏者就是操作员,或者是内部人员没有按规范操作,把敏感的东西向外界泄露等,都会给系统带来不可估量的损失。因此建立、健全完善的管理体系,加强系统内部人员的管理,也是保证系统安全性的一个重要方面,这方面的例子已经存在很多,是十分值得系统管理者去认真对待的。
一卡通系统是一个庞大的系统,系统的安全性还涉及多个方面,仔细分析和总结各方面的情况,将会是一项艰巨而又十分有意义的工作。鉴于本文的篇幅,我们不能一一细谈,有兴趣的读者,请与我们公司或与作者联系,我们愿意把我们的教训和经验与大家共享,共同促进我国公交一卡通事业的向前发展。
新闻投稿合作邮箱:yktchina-admin@163.com 字体[大 中 小] [收藏] [进入论坛]