在使用CPU卡的预付费终端中兼容使用M1卡的方法
技术领域
本发明涉及电力供配电预付费终端和非接触式IC卡识别技术领域,特别涉及一种在使用CPU卡的预付费终端中兼容使用M1卡的方法。
背景技术
电力负荷管理终端是广大电力用户用于用电管理、现场监测和远程抄表的设备,不仅能实现负荷预测、负荷控制和错峰避峰的功能,而且可以实现用户负荷现场监测、提高用电效率、发布供电信息等。为解决电力用户抄表收费难的问题,预付费技术已得到广泛应用,其中IC卡预收费已得到广大用户认可。IC卡预购电***即在营业窗口建立IC卡发放、充值管理软件,在客户侧安装IC卡售电装置,客户通过到银行预存电费凭交费单到营业窗口计算预购电量并充值到IC卡,客户再将所购电量刷卡到IC卡售电装置进行用电。
预付费终端是将自助式IC卡售电功能结合到负控终端中,既克服了IC卡售电装置远程通讯和监控问题,又克服了现有的负控终端由控制中心发送信息进行电量定值来实现预付费控制,用户不易接受,当通讯网络遇到故障时将面临用户交费后不能正常用电的问题。而现有的IC卡预购电***使用的非接触式IC卡基本都是使用M1卡。M1卡是Philips Mifare 1卡的简称,是一种非接触式逻辑加密卡。可是由于M1芯片安全算法遭到破解,导致应用M1卡的***出现了应对安全性的冲击。当前,为了应对该安全性,通过将使用M1卡的***升级更换为使用CPU卡的***。CPU卡拥有独立的CPU处理器和芯片操作***,可以更灵活的支持各种不同的应用需求,具有更安全的设计交易流程。当CPU卡进行操作时,可进行加密和解密算法,算法和密码都不易破解。用户卡和***之间需要进行多次的相互密码认证,提高了***的安全性能,对于防止伪卡的产生有很好的效果。
从M1卡升级更换为CPU卡业界也提出了两类方式:一类方式是一步到位使用CPU卡,这种方式全面升级原有M1卡***,将原来只能读写M1卡的交易终端全部更换成可读写CPU卡的交易终端,将原有的M1卡全面更换为CPU卡,这种方式安全性高,但需要对原有***进行全面升级改造,一次性投入很大,推广难度较高。另一类方式是将使用M1卡的***逐步升级更换为使用CPU卡的***。这类方式新布设的交易终端全采用CPU终端,新发行的卡片全部采用CPU卡,CPU终端应同时支持M1卡的读写,实现向下兼容。现有的M1终端应能兼容使用新发行的CPU卡,在使用过程中逐步淘汰。这类方式不需要立即淘汰旧***,升级费用较低,新***升级完毕后有较高的安全性,但在M1卡与CPU卡同时使用的过程中仍会由于M1卡的被破解带来安全性问题。同时为了兼容使用M1卡,新建设的CPU卡终端不能一步到位,必须要到M1卡完全被取代时进行二次升级,关闭M1卡通道。
发明内容
为了解决现有技术中的问题,本发明提供了在使用CPU卡的预付费终端中兼容使用M1卡的方法,解决现有技术中预付费终端在M1卡***逐步升级到CPU卡***的过程中,当两卡并存时由于M1卡被破解对***带来的安全性问题以及将来须对新建设的预付费终端进行二次升级的问题。
本发明解决现有技术问题所采用的技术方案是:设计和制造一种在使用CPU卡的预付费终端中兼容使用M1卡的方法,包括以下步骤,
(a)预付费终端设定卡标识号UID;
(b)该预付费终端进行寻卡操作,并区分选中的卡类型;
(c)如果选中的卡为CPU卡,则直接执行步骤(d);如果选中的卡为M1卡,该预付费终端将寻到的卡标识号UID与存储于该终端内的卡标识号UID进行此较;
(d)该预付费终端进行密码验证,所述步骤(d)进一步包括,
(d1)该预付费终端验证卡密码时,使用该预付费终端中存储的对应卡标识号UID的密码进行此较;
(d2)该预付费终端验证卡密码时,当该卡密码和存储在该预付费终端中对应的卡标识号UID的密码一致时,跳转到步骤(e);否则不进行***操作,并发送告警信息;
(e)该预付费终端进行在线状态检查,若其处于在线状态,则该预付费终端完成刷卡操作并将信息上报到主站;否则跳转到步骤(f);
(f)该预付费终端处于离线状态,检查该预付费终端的操作次数是否超过设定值,所述步骤(f)进一步包括,
(f1)该预付费终端检测存储在其中的操作卡次数;
(f2)该预付费终端将已操作卡次数跟设定的可操作卡次数作此较,看是否超出;
(f3)该预付费终端发现操作卡次数未超过设定值,则完成***操作,并将此次刷卡信息保存,等待并连上主站将信息上报;
(f4)该预付费终端发现操作卡次数已超过设定值,则不进行***操作,并发送告警信息。
作为本发明的进一步改进,所述步骤(a)中,主站将用户使用的固定的M1卡的UID号下载到用户所使用的对应的预付费终端;或者现场手工输入UID号到预付费终端中。
作为本发明的进一步改进,所述步骤(d)中,所述预付费终端中存储的M1卡标识号UID对应的密码由主站生成下发或者所述预付费终端中存储的M1卡标识号UID对应的密码由该预付费终端获得M1卡标识号UID时生成。
作为本发明的进一步改进,所述步骤(e)中,该预付费终端每隔一段时间会与主站通信,上报信息,并接收主站信息,如果已有一段时间未收到该主站信息,则视为不在线;当该预付费终端不在线时跳转到步骤(f)。
作为本发明的进一步改进,所述卡的类型包括M1卡和CPU卡;所述步骤(b)中,该预付费终端选中卡时,通过查询应答和复位响应命令来区分选中卡的类型,若选中的卡是M1卡,则跳转到步骤(c)。本发明的有益效果是:本发明在使用M1卡的预付费终端中锁定M1卡的UID号,克服了双卡并存时因M1卡带来的安全性问题;同时,该方法保证M1卡被绑定在旧终端中使用,让新建终端无需兼容使用M1卡,可做为纯CPU卡***使用,将来无需再次升级,达到降低成本的目的。
附图说明
图1是本发明在使用CPU卡的预付费终端中兼容使用M1卡的方法流程示意图。
图2是本发明在使用CPU卡的预付费终端中兼容使用M1卡的方法中使用M1卡的预付费终端升级流程图。
图3是本发明在使用CPU卡的预付费终端中兼容使用M1卡的方法中预付费终端操作卡流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种在使用CPU卡的预付费终端中兼容使用M1卡的方法,包括以下步骤,
a预付费终端设定卡标识号UID;
b该预付费终端进行寻卡操作,并区分选中的卡类型;
c如果选中的是卡为M1卡该预付费终端将寻到的卡标识号UID与存储于该终端内的卡标识号UID进行此较;
d该预付费终端进行密码验证;
e该预付费终端进行在线状态检查,若其处于在线状态,则该预
付费终端完成刷卡操作并将信息上报到主机;否则跳转到步骤f;f该预付费终端处于离线状态,检查该预付费终端的操作次数是否操过设定值。
所述步骤a中,主站将用户使用的固定的M1卡的UID号下载到用户所使用的对应的预付费终端;或者现场手工输入UID号到预付费终端中,如当主站与终端通信故障,或有其它要求时由操作人员现场输入UID号到预付费负控终端中。
所述步骤d中,所述预付费终端中存储的M1卡标识号UID对应的密码由主站生成下发或者所述预付费终端中存储的M1卡标识号UID对应的密码由该预付费终端获得M1卡标识号UID时生成。
所述步骤e中,该预付费终端每隔一段时间会与主站通信,上报信息,并接收主站信息,如果已有一段时间未收到该主站信息,则可视为不在线;当该预付费终端不在线时跳转到步骤f。
所述步骤f进一步包括,
f1该预付费终端检测存储在其中的操作卡次数;
f2该预付费终端将已操作卡次数跟设定的可操作卡次数作此较,看是否超出;
f3该预付费终端发现操作卡次数未超过设定值,则完成***操作,并将此次刷卡信息保存,等待并连上主站将信息上报;
f4该预付费终端发现操作卡次数已超过设定值,则不进行***操作,并发送告警信息。
所述步骤d进一步包括,
d1该预付费终端验证卡密码时,使用该预付费终端中存储的对应卡标识号UID的密码进行此较;
d2该预付费终端验证卡密码时,当该卡密码和存储在该负控终端中对应的卡标识号UID的密码一致时,跳转到步骤e;否则不进行***操作,并发送告警信息。
所述卡的类型包括M1卡和CPU卡;所述步骤b中,该预付费终端选中卡时,通过查询应答和复位响应命令来区分选中卡的类型,若选中的卡是M1卡,则跳转到步骤c。
做为本发明的一个实施例,***中M1卡与CPU卡并存使用,用户交费购电,营业人员通过IC卡售电管理软件为用户办理新卡或充值旧卡,根据所交电费所购电量对IC卡进行充值。每个使用M1卡的用户只能使用固定的卡,而使用CPU卡可以通用,营业员可在每次M1卡用户充值时建议换用CPU卡。新的终端只使用CPU卡,新开的卡都使用CPU卡。***中对M1卡和CPU卡区分使用,M1卡只能用于对应的预付费终端***将M1卡的UID号发给对应的预付费终端,而CPU卡不作限制,可以在预付费终端中通用,将来可以支持和别的付费***的互联互通。新的终端只支持CPU卡的使用,不再向下兼容M1卡。
图2示出了本发明的使用M1卡的预付费终端升级方法。M1卡与CPU卡两者在读卡终端的硬件上是一致的,在初始的寻卡、防冲突、选卡的操作指令上也是一致的。在选卡完成后可通过查询应答和复位响应命令来区分选中卡的是CPU卡还是M1卡。原来使用M1卡的预付费负控终端需要在选卡后判别选中的是M1卡还是CPU卡,如是M1卡,则按照原来的程序流程,如果选中的是CPU卡,则需要按照CPU卡的操作流程。原有终端需要在软件上升级操作CPU卡的程序以及增加选卡后的卡类型判定操作。
对于使用M1卡的预付费终端,需要在原来的操作M1卡的基础上增加M1卡的UID验证。当终端寻到M1卡时,先读取M1卡的UID号,并将读到的UID号与终端中存储的可用UID号作比较。终端中存储的UID号可由主站在线下发,也可由工作人员在终端上自行手动输入。如果读到的卡的UID号与终端上存储的UID号不符合,则终端发出告警信息并在显示屏上显示错误信息,这样***中其它被破解的卡不会对终端造成任何影响。
图3示出了本方法的一种预付费终端操作流程。
首先是终端的寻卡、防冲突、选卡操作,选中卡后,判别选中的是CPU卡还是M1卡。如果选中的是CPU卡,则按照正常的CPU卡操作进行操作。如果选中的是M1卡,需要读取M1卡的UID号,并将读到的UID号与终端中存储的可用UID号作此较。
如果读到的M1卡的UID号与终端上存储的UID号相符合,终端对卡进行密码校验。发卡时用卡的UID号来生成卡的密码,做到一卡一密。在终端校验卡时,可以直接读取存储在终端上的对应UID号密码来校验卡。如果密码校验不通过,则终端发出告警信息并在显示屏上显示错误信息。
如果终端对卡的密码校验通过,终端查询自身是否在线。终端每隔一段时间会与主站通信,上报信息,如果已有一段时间未收到主站信息,则可视为不在线。如果终端在线,则终端将卡里的电费信息与终端中存储的对应UID号的电费值作比较,如果符合,则完成***,并将刷卡信息上报主站,主站再将终端中记录的操作卡次数清零,并修改对应UID号的电费值。如果不符合,则终端发出告警信息并在显示屏上显示错误信息。主站在用户交费并将卡充值后,将充值信息下发给对应卡的UID号的终端。这样终端在用户刷卡时,如果判断自己在线,则可先用自己存储的电费信息来验证卡的电费信息,完成刷卡后,再将信息上报。
如果终端对卡的密码校验通过,并且终端发现自身处于离线状态。终端查询自身的操作卡次数,如果大于设定的值,则终端发出告警信息并在显示屏上显示错误信息。如果操作卡次数小于设定的值,则终端完成刷卡操作,并将操作卡次数加1,然后将此次刷卡的信息储存在终端中。在终端再次连接到主站时,将此次刷卡信息上报。终端离线时可能发生用户已交费冲值,而主站无法通知终端。所以终端在离线用户刷卡时,不能再验证自己存储的电费信息,而必须完成一次刷卡操作。如果没有采用终端与卡的UID号配对的方式,即使限制了每个UID号的刷卡次数,仍可能出现大量不同UID号的复制卡刷卡可能,造成电费损失。采用终端与卡配对的方式,只有对应UID号的卡能在终端上完成刷卡操作,如果将设定的离线允许刷卡次数设为1,这样同样UID号的复制卡只能使用一次,并且因为UID号与其它终端不配对,不能在其它可能离线的终端上使用,这样离线状态下也不会造成电费损失。而且终端与卡配对的方式也可防止用户的卡被不小心盗用复制,这样即使卡被盗用复制,也不能在其它终端上使用,不会对用户造成损失。
本发明在使用M1卡的预付费终端中锁定M1卡的UID号,克服了预付费终端在M1卡***逐步升级到CPU卡***的过程中,当两卡并存时由于M1卡被破解对***带来的安全性问题。同时M1卡被绑定在旧终端中使用,新建终端无需兼容使用M1卡,可做为纯CPU卡***使用,将来无需再次升级。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。