智能卡预付费表安全防护研究
1 智能卡表的安全分析
1.1 开放式卡口的安全问题
接触式IC卡表的用户卡与仪表的数据通信是通过卡口进行的,因此开放式的读写卡口极易受到用户的攻击,用户只需要将一个电路板插入Ic卡插槽,就能使IC卡内部电路卡口暴露在外,然后就能对其内部进行攻击。目前,对卡口的攻击方法主要有如下两种。
1.1.1 电压攻击法
这种方法是通过对开放式的卡口施加外部电压,扰乱仪表内部电路的正常工作,达到仪表不计费或少计费的目的。电压攻击法通常有三种:第一种是从卡口给内部电路输入一个反向叠加电压,造成电源滤波电容击穿,使系统电源纹波系数增大,电源不稳定,造成系统工作不正常,单片机不能正常执行程序,也就不能可靠计量或完成切断动作;第二种方法是在开放式卡口上输入高压脉冲,使内部单片机死机,失去计费功能;第三种是在卡口上直接输入220V的交流电,使系统电路彻底瘫痪。
1.1.2 烧死继电器法
为了避免用户通过攻击开放式卡口来偷窃,后期的IC卡表一般都设计了卡口攻击检测功能,卡口一旦遭受用户攻击,则迅速切断用户供电。但这样恰恰给烧死继电器提供了便捷,如用户接人大功率负载,然后反复攻击卡口,使继电器反复通、断,拉弧产生的高温将使触点融化,粘合在一起,造成继电器永远直通。上述两种攻击方法都是借助于开放式读写卡口来实现,因此,开放式的读写卡口存在严重的安全问题。
1.2 用户卡的安全问题
现代的智能卡(Ic卡)使用了论证算法与密钥等安全手段。在读卡前,Ic卡与读写器首先进行三重双向认证,采用DES加密算法和随机数相结合,每次鉴别过程都包括随机数。因此,利用读写器和Ic卡通信来破解Ic卡的密钥几乎是不可能的。然而现代的IC卡并非无懈可击,上个世纪9O年代中期,大部分的Ic卡处理器都被成功地实施了反向工程,IC卡并没有从本质上解决安全问题。
根据是否破坏IC卡芯片的物理封装可以将IC卡的攻击技术分为破坏性攻击和非破坏性攻击两大类。破坏性攻击是使用化学药品或特殊方法去除芯封装后,通过金丝键合恢复芯片功能焊盘与外界的电气连接,最后使用手动微探针获取感兴趣的信号。破坏性攻击的方法又有版图重构与存储器读出两种。版图重构是采用特殊方法揭开芯片的封装后,使用电子显微镜拍摄芯片版图,用氢氟酸(HF)去除芯片各覆盖层后,根据扩散层的边缘辨认出ROM 的内容;存储器读出则是根据智能卡在安全认证过程中,至少访问存放密钥、用户数据等重要内容的非易失性存储器一次的依据,黑客在揭开芯片后常使用微探针监听总线上的信号以获取重要数据。
非破坏性攻击是根据智能卡微处理器是由成百上千个触发器、寄存器、锁存器和SRAM单元组成的原理,结合时序逻辑则可知道下一时钟的状态。常用的非破坏性攻击方法有电流分析法、故障攻击法与测试态攻击法三种。电流分析法是通过分析电源功耗电流的规律了解智能卡的内部工作状态以及一些重要信息;故障攻击法是通过故障攻击可以导致一个或多个触发器位于病态,从而破坏传输到寄存器和存储器中的数据;测试态攻击法是根据智能卡芯片生产时设计测试态来快速完成Ic卡芯片的测试这一依据,通过测试态来攻击Ic卡芯片。
1.3 其他安全问题
除了开放式卡口与用户卡的安全问题外,仪表的其他部分也极易受到攻击,主要的攻击方法如下。
1.3.1 电池攻击法
针对气表与水表采用电池供电的特点,通过供电电池对其进行攻击,主要方法如下。
(1)外置电池攻击法。
早期安装使用的Ic卡气表、水表,采用普通电池供电,由用户更换。当用户卸电池时,电池盒内的传感器被触发,单片机利用电池的能量将电磁阀门关闭,切断用户的燃气供应。外置电池攻击法正是利用这一特点,首先用细导线连接一只外接电池盒,利用外接电池盒为仪表供电,当切断外接电池供电时,并不触发电池盒内传感器,则系统不会切断用户的燃气管电磁阀门,同时由于系统断电而不计量。
(2)内置电池攻击法
为了解决外部电池存在的问题,后期研制的Ic卡燃气表和IC卡水表普遍使用内藏锂离子电池为系统供电。但是,由于Ic卡所需电源也是由该电池供电,因此用户就可以通过开放式卡口将电源线与地线短路来将内部电池能量放尽,使仪表失效,失去计费功能。
1.3.2 强磁攻击法
IC卡燃气表和Ic卡水表,获取计量信号的方法普遍采用的是磁敏传感方法。磁敏传感采用磁体为控制主体,将磁体安装在计数器上,计数器轮每转一周,霍尔元件或干簧管得到一个磁脉冲,从而产生一个电脉冲计量信号。
强磁攻击法是在仪表计数器表面加上一个强大的外磁场使仪表内的霍尔元件或干簧管闭合,从而无法产生电脉冲计量信号。因此,控制器也就无法核减数据,无法实现收费控制的目的。
为了防止外界施加磁场的影响,某些仪表采用两个以上的磁传感器。利用两个磁传感器输出特性来自动识别是否遭到外部磁场攻击,遭到外部磁场攻击仪表关闭阀门,迫使攻击磁场撤消。但这种方案却为用户攻击内置电池造就了机会,用户通过反复的强磁攻击,使阀门反复开关,最终造成电池能量迅速耗尽。
1.3.3 消磁攻击法
所谓消磁攻击法就是利用消磁线圈对仪表内部磁体进行消磁。由于计量仪表广泛采用了磁性材料,因此,采用消磁的方法使内部磁体磁场消失后,就会使磁体失去对控制对象的控制能力。
此外,管理部门把电量(或水量、燃气量)通过用户卡售出后,不能对用户进行跟踪管理,这更增加了智能卡表的不安全因素。对于用户的偷窃行为,管理部门将很难发现、取证与查处,损失很难估量。因此,智能卡预付费表确实存在较严重的安全问题,解决智能卡表安全问题是智能卡表推广的首要问题。
2 智能卡预付费表的安全防护
2.1 选用射频卡作为用户卡解决开放式读写卡口的安全问题
射频卡也属于智能卡的一种,但射频卡与读写器是通过磁耦合或微波的方式来实现能量与信号的非接触传输,解决了接触式Ic卡使用机械电气触点产生的静电击穿、机械磨损、易受污染和潮湿环境影响等问题,同时由于射频卡与读写器之间不存在开放式的读写卡口,因此能解决开放式卡口的安全问题,能有效避免用户从开放式卡口对仪表的攻击。
2.2 增强用户卡芯片的安全性设计
用户卡无论是选用接触式Ic卡还是射频卡,其加密手段基本相同,因此应根据黑客攻击智能卡的方法采用对应的安全措施。
首先在设计、制作智能卡的过程中,一切参数都应严加保密。其次在设计智能卡芯片时还必须根据对智能卡芯片的攻击方法来制定相应的安全措施。例如:外加专防分析存储器内容的若干保护层,让黑客难以全部剥离这些保护层而不损及存储器;在E PROM电路里留有少量表示信息的电荷,防止黑客用探针探测存储器的内容;采用芯片监控程序来防止对处理器/存储器数据总线和地址总线的截听;使用变化的加密密钥和加密算法来防止分析密钥;采用顶层探测器网格来保护非易失性存储器中的内容;永久关闭测试态来防止黑客使用测试态攻击智能卡。
2.3 增加专门抗攻击模块,提高仪表抗攻击能力
针对存在的或可能存在的攻击方式,进行防攻击研究,在仪表中增设相关的抗攻击模块能有效的防止用户对仪表内部的攻击。无论是卡口电压攻击还是电池攻击或强磁攻击,其技术含量都不高,要使这些攻击失效并不难,只要生产厂家或相关利益集团重视预付费表的安全问题,针对攻击方式进行防攻击研究,相信马上就能研究出一些专门的抗攻击与抗干扰模块来抵御外部的攻击与干扰。
2.4 建立完善的用户监控体系
充分利用计算机管理技术,建立详细的用户档案与完善的监控体系,分区域对用户消费情况进行监控,如发现某区域的总消耗量与分户累加总量不符则报警,从而可及时调查取证,有效防止用户偷窃行为。有条件的地方,最好将管理部门的管理微机与用户表通过工业网络、电力线载波网络或无线网络进行联网,以进一步提高管理部门对用户表的监管力度。
2.5 实施强制性检测与准入制度
国家相关职能部门或利益团体应对智能卡预付费表实施强制性的检测与准入制度,在产品批量生产前就应该组织专家对产品进行各种攻击实验,以检测其抗攻击能力,对抗攻击能力不达标的产品则坚决不准上市,从而能将不达标产品拒绝在市场之外,解决潜在的安全隐患。同时,也能促进厂家加大技术改造与产品防攻击的研究力度。
3 结语
随着非接触式智能卡(射频卡)预付费表的研发以及抗攻击、抗干扰技术的改进,智能卡预付费表的安全性有了本质上的提高。只要生产厂家与相关利益集团重视智能卡表的安全问题,通过技术革新,加强监管,严把智能卡仪表的产品质量关,智能卡预付表的安全将不再是问题。这种先交费,再消费的经济实惠的计费工具必将在我国得到广泛推广与应用。
(文/湖南理工职业技术学院,田拥军)