提高IC卡写卡数据可靠性方法研究(论文).doc
文本预览下载声明
提高IC卡装置写卡数据可靠性方法研究
杨振野 陈坤城 朱文华
摘要:本文分别从IC卡应用系统的硬件和软件两个方面研究了如何提高IC卡装置写卡数据的可靠性问题,并给出了实用的解决方案。
关键词:IC卡 数据 可靠性
当前,尽管IC卡的安全性和可靠性存在较多问题[1],但仍然大量使用。在IC卡应用系统中,存在的最大问题就是IC卡写卡数据的可靠性问题。IC卡内数据的一旦有错势必导致严重后果。据统计,一般的IC卡应用装置写卡数据出错的概率约在1/40000。尽管概率较小,但若以100张IC卡在同时使用,并以每张卡每分钟写入一次数据计算(如网吧),则会表现为每天都有2-3的出错机率。显然,这令用户难以忍受。造成IC卡写卡数据出错的原因较多,主要有电源、电磁兼容性和人为破坏等因素。本文分别从软件和硬件两方面对上述因素所造成的写卡出错问题进行了深入的研究,并给出了实用的解决方案。
一.电源因素
IC卡的供电电压偏低是导致IC卡写卡出错的主要原因之一。
按照国际标准[2] 的规定,IC卡的供电电压为4.75~5.25V。但事实上,由于IC卡的质量等因素的不确定性,实际应用中供电电压一旦小于4.90V就会变得不可靠。因为IC卡的密码验证过程中有写卡流程,所以极易导致烧卡。
对于采用三极管控制供电电压的方案,由于供电控制三极管的压降(0.6V)存在,真正提供给IC卡的电压已难以满足标准要求。所以,宜采用MOS门(如74HC系列)电路并
图1.IC卡的供电
联的方式供电。对于只有读卡而无写卡(密码校验只在一个瞬间即可完成,故写卡电流不大)要求的场合,仅采用一个门输出并配合储能电容即可,并不需要多个门电路并联。
此外,由于有些地区(尤其是中小城市)电网电压波动范围过大,以至IC卡装置的整流输出电压降至稳压范围以外,导致IC卡供电电压出现向下波动。对于这种情况,必须提高变压器副端电压,并同时加大整流滤波电容。当然,更理想的方案是采用开关电源。
二.电磁干扰因素
产生电磁干扰的因素很多,如当电网电压出现突发脉冲、IC卡装置与PC机连接而又未采取隔离措施、IC卡装置连接有电磁阀或移相触发的晶闸管等情况,都会产生较为严重的电磁干扰。如未采取必要措施,必将出现写卡数据出错、烧坏IC卡或IC卡装置死机等情况。根据具体情况,可以选用的措施主要有如下几种:
220V交流供电回路加装交流电源滤波器
各种电磁干扰中,抑制快速脉冲群干扰最为困难。对于干扰较严重的场合,可采用如图2所示的电路。
图2.抑制快速脉冲群干扰的实用方案
采用上述交流电源滤波器时,务必注意接好牢可靠的低阻大地地线。图2中的电感元件为电源滤波磁珠,购买磁珠自行绕制滤波效果更好。笔者采用图2设计IC卡预付费电能表通过了相关标准的电磁兼容性检验[3],磁珠为φ28.5EMI吸收磁环,绕42匝。
于PC机与IC卡用卡装置的接口线中串联磁珠
由于磁珠限制了数据脉冲的上升斜率,这种方法对于高速数据通讯(1M以上)难以适用。
于IC卡接口各线上加装箝位二极管
如图3所示,确保IC卡接口线上的电压处于允许范围之内。
图3.IC卡接口线电压箝位电路
于5V供电的各易受快速瞬变脉冲群的干扰处加装TVS管.与采用稳压管或压敏电阻相比,采用这种元件的优点在于反映时间短,仅仅几个皮秒。但无论是采用TVS管、稳压二极管还是压敏电阻,都存在一旦被持续脉冲击穿后造成电源短路的问题,从而导致设备故障率上升。所以,若不到必须的程度,不宜采取此项措施。
将IC卡装置的供电电源与产生强电磁干扰的控制元件的用电分开供电。
当成本允许时,将主回路的触点式继电器改为固态继电器;将主回路晶闸管的移相触发方式改为过零触发方式。
三.人为因素
人为因素主要出现在正当进行写IC卡操作时,IC卡突然被拔出。由于许多IC
YES
NO
NO
YES
YES
NO
YES
图4. 能有效避免人为干扰的读/写卡流程
卡写卡时伴随着LED闪烁,IC卡更容易遭受到人为的恶意攻击。这时写入IC卡的数据多为FF或其它的乱码。除非采用自弹式IC卡座,否则这一现象难以避免。针对这种情况,我们采取了如图4所示的软件流程则可以有效地避免。
写卡流程中的两次写卡的内容是完全相同的,但写入IC卡的地址并不相同。实质上是连续写了两次IC卡。如果有人将IC卡拔出,则可以保证至少有一次写卡是成功的。在读卡时,根据金额的变化和写卡成功标志的判别,则完全
显示全部