一种ic卡读写实现的方法、ic卡以及读卡器和系统的制作方法

文档序号:6578490阅读:247来源:国知局
专利名称:一种ic卡读写实现的方法、ic卡以及读卡器和系统的制作方法
技术领域
本发明涉及电子技术领域,尤其涉及一种IC卡读写实现的方法、IC卡以及读卡器 和系统。
背景技术
随着通信技术的发展及其应用领域的拓宽,集成电路(Integrate Circuit, IC) 卡的应用也越来越广泛,但随着Crypto-I算法被破解和相关研究成果的公开,基于Mifare Classic IC卡的储值卡系统的安全性遭遇到非常严重的挑战,主要包括1、虽然使用安全 模块组(Security Authentication Module, SAM)卡对卡号认证码进行认证能够防止IC卡 的非法克隆,但无法阻止通过对既有IC卡密钥的破解后对储值额等关键信息区域进行篡 改而实现非法增值,使用一卡一密也只能轻微延缓破解速度。2、由于使用的工具成本较低 和可公开获得,破解单张IC卡的成本非常低廉。3、由于通常使用脱机读卡器,后台系统无 法进行实时检查及时发现异常状态的IC卡。4、因黑名单更新频率的限制,黑名单不能及时 下载到脱机读卡器,无法及时锁定异常IC卡而造成损失。现有防破解的方法主要包括两种1、将所有脱机读卡器改造或升级为联机读卡 器。由于联机读卡器能够实时从后台系统获得黑名单,可以及时锁定异常状态的IC卡并 拒绝支付;如果更进一步,后台系统还可以和联机读卡器配合,实时检查及时发现异常状态 的IC卡,对其锁定并拒绝交易。由于所有联机读卡器需要增加联机通讯模块和建立到后 台系统的永久通信链路,涉及的设备改造成本非常巨大,而且还需要长期支付后续的通讯 费用。2、将现有IC卡全部更换成安全级别更高的其他类型IC卡,如Mifare Plus.Mifare DESFire和MifareSmartMX或其他支持ISO 14443Type A协议的CPU卡。由于需要更换所 有IC卡,涉及的改造费用非常巨大。发明人在实现本发明的过程中发现,现有主要防破解方法存在很大的缺点,包括 工程量较大,所需时间较长,涉及改造或更新费用太高。

发明内容
鉴于上述现有技术所存在的问题,本发明实施例提供了一种IC卡读写实现的方 法、IC卡以及读卡器和系统,通过设置最大存储额度值和目标存储额度值以实现只需要调 整IC卡的数据存储方式和增加少量储存内容而不用更换新IC卡,免除了大量的换卡费用。为了解决上述问题,本发明提出了一种IC卡读写实现的方法,包括在对IC卡进行增值或者减值操作前,判断所述IC卡的制式,判断所述IC卡的制 式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为最大 存储额度值与目标存储额度值之差;若存在所述最大存储额度值和目标存储额度值时,脱机读卡器对所述IC卡执行 减值操作指令时,仅对所述IC卡中的最大存储额度值进行单向的减值指令操作;或者联机 系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC卡中的目标存储额度值进行单向的减值指令操作。相应地,本发明还提供了一种联机读卡器,包括判断单元,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述IC卡 的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为 最大存储额度值与目标存储额度值之差;减值操作单元,用于当所述判断单元判断所述IC卡中存在所述最大存储额度值 和目标存储额度值时,联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所 述IC卡中的目标存储额度值进行单向的减值指令操作。相应地,本发明还提供了一种脱机读卡器,包括判断单元,用于在对IC卡进行减值操作前,判断所述IC卡的制式,判断所述IC卡 的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为 最大存储额度值与目标存储额度值之差;减值操作单元,用于当所述判断单元判断所述IC卡中存在所述最大存储额度值 和目标存储额度值时,对所述IC卡执行减值操作指令时,仅对所述IC卡中的最大存储额度 值进行单向的减值指令操作。相应地,本发明还提供了一种IC卡系统,包括联机读卡器,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述IC 卡的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值 为最大存储额度值与目标存储额度值之差,当判断所述IC卡中存在所述最大存储额度值 和目标存储额度值时,联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所 述IC卡中的目标存储额度值进行单向的减值指令操作;联机系统,用于对所述联机读卡器获得所述IC卡中的增值认证码进行增值操作 指令的认证,并在认证通过之后,通过联机读卡器对IC卡执行增值操作指令。相应地,本发明还公开了一种IC卡,包括存储单元,用于存储设置有最大存储额度值和目标存储额度值,所述IC卡的实际 存储值为最大存储额度值与目标存储额度值之差;其中在存储设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度 值所对应的存储控制位为执行单向的减值指令和读指令;在存储设置所述IC卡最大存储 额度值时,还存储了设置所述最大存储额度值所对应的增值认证码,所述增值认证码为消 息认证码MAC。实施本发明实施例,具有如下有益效果本发明所提供的储IC卡读写实现的方法 及IC卡,由于通过设置最大存储额度值和目标存储额度值,并对其所在数据块对应的存取 控制位设置为执行单向的减值指令和读指令,所以即使用户破解了 IC卡的操作密码,也只 能减少最大存储额度值的值,而目标存储额度值一般情况下从大到小,由联机系统负责减 值操作,无法减少其额度值的值,由于IC卡的实际存储值为最大存储额度值与目标存储额 度值之差,既然无法增加最大存储额度值的值,也无法减少目标存储额度值的值,所以用户 最终无法通过篡改等方法增加实际储值,达到不用更换大量IC卡就能保护IC卡的安全性, 降低改造费用,减少改造时间。


图1为本发明实施例中的IC卡读写实现方法第一流程图;图2为本发明实施例中的IC卡读写实现方法第二流程图;图3为本发明实施例中的IC卡联机增值操作流程图;图4为本发明实施例中的IC卡脱机减值操作流程图;图5为本发明实施例中的IC卡联机系统架构图;图6为本发明实施例中的联机读卡器的结构示意图;图7为本发明实施例中的脱机读卡器的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。本发明实施例提供的一种IC卡读写实现的方法、IC卡以及读卡器和系统,通过设 置最大存储额度值和目标存储额度值,并对其所在数据块对应的存取控制位设置为执行单 向的减值指令和读指令,达到即使用户破解密码也无法自行对储值额进行增值的目的。参见图1,图1示出了本发明实施例提供的一种IC卡读写实现的方法第一流程图, 包括需要说明的是,本发明的IC卡是存储了设置有最大存储额度值和目标存储额度 值的,这里的IC卡的实际存储值为最大存储额度值与目标存储额度值之差;在存储设置所 述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应的存储控制位为执 行单向的减值指令和读指令;在存储设置所述IC卡最大存储额度值时,还存储了设置所述 最大存储额度值所对应的增值认证码,所述增值认证码为消息认证码MAC,这里主要通过在 联机模式操作时,针对目标存储额度值进行减值操作来完成。具体的,以Mifare Classic系列及其兼容芯片的Mifare Classic IK芯片为代 表,以下简称Ml,在Ml卡中设置最大存储额度值Vmaxl和目标存储额度值Vmax2,其初始值都设 置为231-1,表示初始的储值额为零。由于MlIC卡的存贮区域划分为16个扇区,每个扇区划 分为4个块,每个块具有16个字节存储空间,MlIC卡以块为存取单位,即读和写操作以一 个块的16个字节为单位,每个扇区的前三个块用于存储数据,通常称为数据块,最后一个 块存储本扇区的操作密钥和扇区的各个块的存取控制位数据,通常被称为控制块。所以将 设置的Vmaxl保存在Ml的数值块中,Vfflax2保存在Ml的数据块中,用Vmaxl与Vmax2的额度差值 (即Vmaxl_Vmax2)来表示IC卡的实际存储值。Vmaxl和Vmax2都只允许执行单向的减值操作,通 过Vmaxl和Vmax2的组合操作实现储值额的增值和减值,Vmax2的减值操作通过联机系统计算后 由读卡器写入IC卡完成,Vfflaxl的减值操作通过读卡器直接使用Ml的数值块专用减值指令 完成。由于控制块本身能够通过读/写操作存取,也能够通过设置对应的存取控制位数据 禁止修改,为了使Vmaxl只允许执行单向的减值操作,对Vmaxl所在的数值块对应的存取控制 位进行调整,将存取控制位设置为001,这样Vmaxl所在的数值块只允许执行单向的减值指令 和读指令,不允许执行增值指令和写指令。同时对Vmaxl所在扇区控制块对应的存取控制位
7进行调整,将存取控制位设置为100,只允许改写每个扇区具有的操作密钥KeyA和Key B, 不允许改写控制块,避免用户通过改写控制块的方式改变对Vmaxl只允许执行单向的减值操 作的限制。步骤SlOl 获取所述IC卡的唯一序列号,并对获取到的唯一序列号进行安全认 证;具体的,联机读卡器获取所述IC卡的唯一序列号,并对获取到的唯一序列号进 行安全认证,所述安全认证包括黑名单认证、卡号认证等等,通过安全证认之后执行步骤 S102。步骤S102 判断所述IC卡的制式,是否设置有最大存储额度值和目标存储额度 值;具体的,联机读卡器在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述 IC卡的制式中是否设置有最大存储额度值Vmaxl和目标存储额度值Vmax2,如果是则执行步骤 S103,否则执行步骤S104。步骤S103 获取所述IC卡中的增值认证码,并对获取到的增值认证码进行增值操 作指令认证;具体的,联机读卡器使用对应数据扇区的操作密钥Key A和Key B从IC卡中读取 Vfflax2和MAC,送往联机系统进行认证,通过认证之后执行步骤S105。步骤S 104 提示增值操作失败;步骤S105 对所述IC卡中的目标存储额度值进行单向的减值指令操作;具体的,联机系统在旧的Vmax2值上减去欲增值金额得到新的Vmax2,然后将得到的新 的Vmax2送往联机读卡器中,这样就完成了 Vmax2单向减值指令操作,执行步骤S106。步骤S106 提示增值操作成功。需要说明的是,在联机操作模式下,该联机系统还可以为旧的IC卡,即该IC卡不 是存储了最大存储额度值和目标存储额度值的卡时,可以为该IC卡设置一个最大存储额 度值和目标存储额度值,这样在该IC卡设置了最大存储额度值和目标存储额度值,就可以 通过对目标存储额度值进行减值操作指令,那么就可以对该IC卡实现增值。该IC卡在进 行下次脱机减值操作时,可以针对该设置的最大存储额度值进行减值操作。同样的,在为该 IC卡存储设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应的 存储控制位为执行单向的减值指令和读指令;在为该IC卡存储设置所述IC卡最大存储额 度值时,还存储了设置所述最大存储额度值所对应的增值认证码,所述增值认证码为消息 认证码MAC。实施本发明实施例,由于正常情况TVmax2的值是从大到小、由后台系统负责减值 操作的,旧的Vmax2值大于新的Vmax2值。如果用户通过自行篡改减少Vmax2的值,由于用户无 法获得与篡改后的Vmax2对应的正确增值认证码,会导致脱机读卡器使用SAM卡的专用认证 指令认证Vmax2等数据和增值认证码时认证失败,进而识别出非法篡改;如果用户不自行篡 改Vmax2,但预先保存Vmax2等数据和对应的增值认证码,经过一段时间后,使用保存的旧Vmax2 及对应的增值认证码来覆盖新的Vmax2和增值认证码,这时旧Vmax2及对应的增值认证码虽然 能够通过SAM卡的认证,但由于旧的Vmax2值大于新的Vmax2值,实际上导致了 Vmax2值的增加。 这样只需将增值的读卡器改造为联机读卡器,其他设备和系统只需进行软件升级,极大地降低了改造费用,减少改造时间,同时提高了 IC卡的安全性。参见图2,图2示出了本发明实施例提供的一种IC卡读写实现的方法第二流程图, 包括需要说明的是,本发明的IC卡是存储了设置有最大存储额度值和目标存储额度 值的,这里的IC卡的实际存储值为最大存储额度值与目标存储额度值之差;在存储设置所 述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应的存储控制位为执 行单向的减值指令和读指令;在存储设置所述IC卡最大存储额度值时,还存储了设置所述 最大存储额度值所对应的增值认证码,所述增值认证码为消息认证码MAC,这里主要通过在 脱机模式操作时,针对最大存储额度值进行减值操作来完成。具体的,以Mifare Classic系列及其兼容芯片的Mifare Classic IK芯片为代 表,以下简称M1,在Ml卡中设置最大存储额度值Vmaxl和目标存储额度值Vmax2,由于MlIC 卡的存贮区域划分为16个扇区,每个扇区划分为4个块,每个块具有16个字节存储空间, MlIC卡以块为存取单位,即读和写操作以一个块的16个字节为单位,每个扇区的前三个块 用于存储数据,通常称为数据块,最后一个块存储本扇区的操作密钥和扇区的各个块的存 取控制位数据,通常被称为控制块。所以将设置的Vmaxl保存在Ml的数值块中,Vfflax2保存在 Ml的数据块中,用Vmaxl与Vmax2的额度差值(即Vmaxl_Vmax2)来表示IC卡的实际存储值。Vmaxl 和Vmax2都只允许执行单向的减值操作,通过Vmaxl和Vmax2的组合操作实现储值额的增值和减 值,Vfflax2的减值操作通过联机系统计算后由读卡器写入IC卡完成,Vfflaxl的减值操作通过读 卡器直接使用Ml的数值块专用减值指令完成。由于控制块本身能够通过读/写操作存取, 也能够通过设置对应的存取控制位数据禁止修改,为了使Vmaxl只允许执行单向的减值操 作,对Vmaxl所在的数值块对应的存取控制位进行调整,将存取控制位设置为001,这样Vmaxl 所在的数值块只允许执行单向的减值指令和读指令,不允许执行增值指令和写指令。同时 对Vmaxl所在扇区控制块对应的存取控制位进行调整,将存取控制位设置为100,只允许改写 每个扇区具有的操作密钥KeyA和KeyB,不允许改写控制块,避免用户通过改写控制块的方 式改变对Vmaxl只允许执行单向的减值操作的限制。步骤S201 获取所述IC卡的唯一序列号,并对获取到的唯一序列号进行安全认 证;具体的,脱机读卡器获取所述IC卡的唯一序列号,并对获取到的唯一序列号进 行安全认证,所述安全认证包括黑名单认证、卡号认证等等,通过安全认证之后执行步骤 S202。步骤S202 判断所述IC卡的制式,是否设置有最大存储额度值和目标存储额度 值;具体的,脱机读卡器在对IC卡进行减值操作前,判断所述IC卡的制式,判断所述 IC卡的制式中是否设置有最大存储额度值Vmaxl和目标存储额度值vmax2,如果是则执行步骤 S203,否则执行步骤S204。步骤S203 对所述IC卡中的最大存储额度值进行单向的减值指令操作;具体的,脱机读卡器使用IC卡的减值指令对Vmaxl进行减值操作,减去应欲减值金 额,执行步骤S205。需要说明的是,这里的脱机读卡器还需要判断IC卡的实际存储值是否 满足所述单向的减值指令操作,如果所述IC卡的实际存储值满足所述单向的减值指令操作,则对所述IC卡中的最大存储额度值进行单向的减值指令操作。具体的应该满足实际存 储值大于单向的减值指令操作所需减去的数值,即在对最大存储额度值进行减值指令后, 其最大存储额度值与目标存储额度值之差仍然是正数值。步骤S204 提示减值操作失败;步骤S205 提示减值操作成功。实施本发明实施例,由于在Vmaxl所在数据块对应的存取控制位设置成只允许执行 单向的减值指令,用户即使破解了 IC卡的操作密码,也只能减少Vmaxl的值,无法增加Vmaxl的 值,从而实现了提高IC卡的安全性,以及不需要对系统的设备做很大的改造,降低了改造 费用,以及改造时间,满足用户的需求。参见图3,图3示出了本发明实施例提供的一种IC卡读写实现的方法的联机增值 操作流程图,具体步骤如下步骤S301 输入增值金额;具体的,用户使用IC卡在联机读卡器上开始增值操作处理,输入欲增值金额。步骤S302 读取IC卡唯一序列号送往联机系统,判断是否为黑名单卡;具体的,联机读卡器读取IC卡唯一序列号,并将读取的IC卡唯一序列号发送至联 机系统,联机系统判断接收到的序列号是否存在,如果存在就说明该IC卡为合法卡,否则 说明该卡为黑名单卡,执行步骤S313,结束增值操作处理流程。步骤S303 对卡号认证码进行认证;具体的,联机读卡器在本地使用SAM卡的专用认证指令或从联机系统对卡号认证 码进行认证,如果认证不成功表示该IC卡不是本系统的合法卡,执行步骤S313 ;否则计算 IC卡存贮区域中数据扇区的操作密钥KeyA和Key B,执行步骤S304。步骤S304 判断IC卡制式是否为设置的制式;具体的,判断IC卡制式是否为预先设置的Vmaxl和Vmax2制式,即Vmaxl保存在Ml的 数值块中,Vmax2保存在Ml的数据块中,如果是则执行步骤S308,否则执行步骤S305。步骤S305 使用对应操作密钥从IC卡中读取当前的储值额送往联机系统;具体的,联机读卡器使用对应操作密钥KeyA和Key B从IC卡中读取当前的储值 额送往联机系统,然后执行步骤S306。步骤S306 联机系统设置Vmaxl,计算Vmax2、增值认证码送回读卡器;具体的,联机系统首先将Vmaxl和Vmax2的初始值都设置为231_1,表示初始的实际存 储值为零,然后将Vmax2减去旧的储值额后再减去欲增值金额得到新的Vmax2,最后采用三倍数 据加密标准(Triple Data Encryption Standard, 3DES)等对称加密算法结合特定的密钥 对IC卡的唯一序列号、新的Vmax2相关数据进行加密生成增值认证码MAC,将计算得到的新 的Vmax2、Vmaxl和增值认证码送回联机读卡器中,执行步骤S307。步骤S307 读卡器按照设置的制式要求,写入Vmaxl、Vmax2和增值认证码。具体的,联机读卡器将接收到的Vmaxl、Vfflax2和MAC按照预先设置的制式写入IC卡 中,修改对应扇区的控制块数据,执行步骤S312。步骤S308 从IC卡中读取Vmax2和增值认证码送往联机系统进行认证;具体的,联机读卡器使用对应操作密钥Key A和Key B从IC卡中读取Vmax2和MAC, 送往联机系统进行认证,如果认证失败表示IC卡被非法篡改,执行步骤S309,否则执行步骤 S310。步骤S309 记录黑名单信息对IC卡进行锁卡;具体的,联机系统记录该卡信息为黑名单卡信息,联机读卡器对该卡进行锁卡操 作,执行步骤S313。步骤S310 联机系统计算新的Vmax2和增值认证码送回读卡器;具体的,联机系统在旧的Vmax2值上减去欲增值金额得到新的Vmax2,然后采用3DES 等对称加密算法结合特定的密钥对IC卡的唯一序列号、新的Vmax2相关数据进行加密生成新 的MAC,将计算得到的新的Vmax2和新的MAC送回联机读卡器中,执行步骤S311。步骤S311 读卡器将新的Vmax2和增值认证码写入IC卡的对应位置;具体的,联机读卡器接收新的Vmax2和新的MAC,并将接收到的新的Vmax2和新的MAC 写入IC卡的对应位置。步骤S312 读卡器提示增值操作成功;步骤S313 读卡器提示增值操作失败。参见图4,图4示出了本发明实施例提供的一种IC卡读写实现的方法的脱机减值 操作流程图,具体步骤如下步骤S401 输入减值金额;具体的,用户使用IC卡在脱机读卡器上开始减值操作处理,手工输入或者读卡器 按照业务规则获得欲减值金额。步骤S402 读取IC卡唯一序列号,判断是否为黑名单卡;具体的,脱机读卡器读取IC卡唯一序列号,判断该IC卡的序列号是否存在本地系 统中,如果存在就说明该IC卡为合法卡,否则说明该卡为黑名单卡,执行步骤S410,结束增 值操作处理流程。步骤S403 对卡号认证码进行认证;具体的,脱机读卡器在本地使用SAM卡的专用认证指令对卡号认证码进行认证, 如果认证不成功表示该IC卡不是本系统的合法卡,执行步骤S410 ;否则计算IC卡存贮区 域中数据扇区的操作密钥Key A和Key B,执行步骤S304。步骤S404 判断IC卡制式是否为设置的制式;具体的,判断IC卡制式是否为预先设置的Vmaxl和Vmax2制式,即Vmaxl保存在Ml的 数值块中,Vmax2保存在Ml的数据块中,如果是则执行步骤S405,否则执行步骤S410。步骤S405 从IC卡中读取Vmax2和增值认证码使用本地SAM卡的专用认证指令进 行认证;具体的,脱机增值读卡器使用对应操作密钥KeyA和Key B从IC卡中读取Vmax2和 MAC,使用SAM卡的专用认证指令进行认证,如果认证失败表示IC卡被非法篡改,执行步骤 S406,否则执行步骤S407。步骤S406 记录黑名单信息对IC卡进行锁卡;具体的,脱机读卡器记录该卡信息为黑名单卡信息,并对该卡进行锁卡操作,执行 步骤S410。步骤S407 判断Vmaxl_Vmax2是否大于等于零;具体的,脱机读卡器判断Vmaxl_Vmax2是否大于等于欲减值金额,如果判断结果为是
11则执行步骤S408,否则执行步骤S410。步骤S408 读卡器使用IC卡的减值指令对Vmaxl进行减值操作;具体的,脱机读卡器使用IC卡的减值指令对Vmaxl进行减值操作,减去应欲减值金 额,执行步骤S409步骤S409 读卡器提示减值操作成功;具体的,脱机读卡器按照系统要求生成交易记录数据,提示减值操作成功。步骤S410 读卡器提示减值操作失败。本发明实施例提供的一种IC卡,该IC卡中的存储单元中存储了设置的最大存储 额度值和目标存储额度值,所述IC卡的实际存储值为最大存储额度值与目标存储额度值 之差;在存储设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应 的存储控制位为执行单向的减值指令和读指令;在存储设置所述IC卡最大存储额度值时, 还存储了设置所述最大存储额度值所对应的增值认证码,所述增值认证码为消息认证码 MAC。具体的,以Mifare Classic系列及其兼容芯片的Mifare Classic IK芯片为代 表,以下简称Ml,在Ml卡中设置最大存储额度值Vmaxl和目标存储额度值Vmax2,其初始值都设 置为231-1,表示初始的储值额为零。由于MlIC卡的存贮区域划分为16个扇区,每个扇区划 分为4个块,每个块具有16个字节存储空间,MlIC卡以块为存取单位,即读和写操作以一 个块的16个字节为单位,每个扇区的前三个块用于存储数据,通常称为数据块,最后一个 块存储本扇区的操作密钥和扇区的各个块的存取控制位数据,通常被称为控制块。所以将 设置的Vmaxl保存在Ml的数值块中,Vfflax2保存在Ml的数据块中,用Vmaxl与Vmax2的额度差值 (即Vmaxl_Vmax2)来表示IC卡的实际存储值。Vmaxl和Vmax2都只允许执行单向的减值操作,通 过Vmaxl和Vmax2的组合操作实现储值额的增值和减值,Vmax2的减值操作通过联机系统计算后 由读卡器写入IC卡完成,Vfflaxl的减值操作通过读卡器直接使用Ml的数值块专用减值指令 完成。由于控制块本身能够通过读/写操作存取,也能够通过设置对应的存取控制位数据 禁止修改,为了使Vmaxl只允许执行单向的减值操作,对Vmaxl所在的数值块对应的存取控制 位进行调整,将存取控制位设置为001,这样Vmaxl所在的数值块只允许执行单向的减值指令 和读指令,不允许执行增值指令和写指令。同时对Vmaxl所在扇区控制块对应的存取控制位 进行调整,将存取控制位设置为100,只允许改写每个扇区具有的操作密钥KeyA和Key B, 不允许改写控制块,避免用户通过改写控制块的方式改变对Vmaxl只允许执行单向的减值操 作的限制。相应的,图5还示出了本发明实施例中的IC卡系统,该系统主要为IC卡提供增值 服务,包括联机读卡器51,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述 IC卡的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储 值为最大存储额度值与目标存储额度值之差,当判断所述IC卡中存在所述最大存储额度 值和目标存储额度值时,联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对 所述IC卡中的目标存储额度值进行单向的减值指令操作;联机系统52,用于对所述联机读卡器获得所述IC卡中的增值认证码进行增值操 作指令的认证。
需要说明的是,该联机系统和联机读卡器还可以为旧的IC卡,即该IC不是存储了 最大存储额度值和目标存储额度值的卡时,可以为该IC卡设置一个最大存储额度值和目 标存储额度值,这样在该IC卡设置了最大存储额度值和目标存储额度值,就可以通过对目 标存储额度值进行减值操作指令,那么就可以对该IC卡实现增值。该IC卡在进行下次脱机 减值操作时,可以针对该设置的最大存储额度值进行减值操作。同样的,在为该IC卡存储 设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应的存储控制 位为执行单向的减值指令和读指令;在为该IC卡存储设置所述IC卡最大存储额度值时,还 存储了设置所述最大存储额度值所对应的增值认证码,所述增值认证码为消息认证码MAC。相应的,图6示出了本发明实施例中的联机读卡器,该联机读卡器包括判断单元61,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述IC 卡的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值 为最大存储额度值与目标存储额度值之差;减值操作单元62,用于当所述判断单元61判断所述IC卡中存在所述最大存储额 度值和目标存储额度值时,联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC卡中 的目标存储额度值进行单向的减值指令操作。相应的,由于保证整个操作的安全性,在判断IC的制式过程中,还需要对IC操作 的安全性进行相关认证,该联机读卡器还包括第一获取单元63,用于获取所述IC卡中的唯一序列号;安全认证单元64,用于根据所述第一获取单元63获取到的所述IC卡中的唯一序 列号对所述IC卡进行安全认证,所述安全认证包括黑名单认证、卡号认证、SAM认证;第二获取单元65,用于获取所述IC卡中的增值认证码;MAC认证单元66,用于根据所述获取单元获取到的增值认证码通过在与联机读卡 器相连的联机系统中进行增值操作指令的认证。在联机读卡器中的判断单元61判断该IC不是需要进行增值类型的IC卡时,可以 重新对IC内部进行设置,该联机读卡器还包括了设置单元67,用于当所述判断单元判断所 述IC卡的制式不存在设置的最大存储额度值和目标存储额度值时,为所述IC卡设置最大 存储额度值和目标存储额度值。相应的,图7示出了本发明实施例中的脱机读卡器,该脱机读卡器包括判断单元71,用于在对IC卡进行减值操作前,判断所述IC卡的制式,判断所述IC 卡的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值 为最大存储额度值与目标存储额度值之差;减值操作单元72,用于当所述判断单元71判断所述IC卡中存在所述最大存储额 度值和目标存储额度值时,脱机读卡器对所述IC卡执行减值操作指令时,仅对所述IC卡中 的最大存储额度值进行单向的减值指令操作。需要说明的是,在减值操作判断进行操作前, 这里的脱机读卡器还需要判断IC卡的实际存储值是否满足所述单向的减值指令操作,如 果所述IC卡的实际存储值满足所述单向的减值指令操作,则对所述IC卡中的最大存储额 度值进行单向的减值指令操作。具体的应该满足实际存储值大于单向的减值指令操作所需 减去的数值,即在对最大存储额度值进行减值指令后,其最大存储额度值与目标存储额度 值之差仍然是正数值。
相应的,由于保证整个操作的安全性,在判断IC的制式过程中,还需要对IC操作 的安全性进行相关认证,该脱机读卡器还包括获取单元73,用于获取所述IC卡中的唯一序列号;安全认证单元74,用于根据所述第一获取单元73获取到的所述IC卡中的唯一序 列号对所述IC卡进行安全认证,所述安全认证包括黑名单认证、卡号认证、SAM认证等等。综上所述,通过本发明实施例所提供的方法,解决了在不需要换卡提高IC卡本身 的安全级别时,只需要调整现有IC卡的关键数据存放方式和增加少量储存内容,即通过设 置最大存储额度值Vmaxl和目标存储额度值Vmax2,并对其所在数据块对应的存取控制位设 置为执行单向的减值指令和读指令,免除也大量的换卡费用,同时只需将增值读卡器改造 为联机读卡器,实现联机增值,其他设备和系统只需要进行软件升级,极大地降低了改造费 用,减少了改造时间。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权 利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
1权利要求
一种IC卡读写实现的方法,其特征在于,所述方法包括在对IC卡进行增值或者减值操作前,判断所述IC卡的制式,判断所述IC卡的制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为最大存储额度值与目标存储额度值之差;若存在所述最大存储额度值和目标存储额度值时,脱机读卡器对所述IC卡执行减值操作指令时,仅对所述IC卡中的最大存储额度值进行单向的减值指令操作;或者联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC卡中的目标存储额度值进行单向的减值指令操作。
2.如权利要求1所述的方法,其特征在于,所述方法之前还包括在所述IC卡中设置最大存储额度值和目标存储额度值,其中在设置所述IC卡最大存 储额度值时,设置所述最大存储额度值所对应的存储控制位为执行单向的减值指令和读指 令;在设置所述IC卡最大存储额度值时,设置所述最大存储额度值所对应的增值认证码, 所述增值认证码为消息认证码MAC。
3.如权利要求2所述的方法,其特征在于,所述MAC为采用对称加密算法和使用特定密 钥对所述IC卡的唯一序列号和所述目标存储额度值组成的数据进行加密生成的。
4.如权利要求3所述的方法,其特征在于,所述联机读卡器对所述IC卡执行增值操作 指令时,仅对所述IC卡中的目标存储额度值进行单向的减值指令操作之前还包括所述联机读卡器获得所述IC卡中的增值认证码,通过获得的增值认证码在与联机读 卡器相连的联机系统中进行增值操作指令的认证。
5.如权利要求1所述的方法,其特征在于,所述脱机读卡器对所述IC卡执行减值操作 指令时,仅对所述IC卡中的最大存储额度值进行单向的减值指令操作包括判断所述IC卡的实际存储值是否满足所述单向的减值指令操作,如果所述IC卡的实 际存储值满足所述单向的减值指令操作,则对所述IC卡中的最大存储额度值进行单向的 减值指令操作。
6.如权利要求1至5所述的方法,其特征在于,所述联机系统行增值操作指令时或者脱 机读卡器进行减值操作指令时还包括获得所述IC卡的唯一序列号对所述IC卡进行安全认证,所述安全认证包括黑名单认 证、卡号码认证。
7.如权利要求6所述的方法,其特征在于,所述方法还包括在对IC卡进行增值操作前,判断所述IC卡的制式不存在设置的最大存储额度值和目 标存储额度值时,联机系统通过联机读卡器为所述IC卡设置最大存储额度值和目标存储 额度值;在设置完所述设置之后,联机系统通过联机读卡器对所述IC卡执行增值操作指 令。
8.如权利要求6所述的方法,其特征在于,所述方法还包括在对IC卡进行减值操作前,判断所述IC卡的制式不存在设置的最大存储额度值和目 标存储额度值时,脱机读卡器不对所述IC进行减值操作指令。
9.一种联机读卡器,其特征在于,包括判断单元,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述IC卡的制 式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为最大存储额度值与目标存储额度值之差;减值操作单元,用于当所述判断单元判断所述IC卡中存在所述最大存储额度值和目 标存储额度值时,联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC 卡中的目标存储额度值进行单向的减值指令操作。
10.如权利要求9所述的联机读卡器,其特征在于,所述联机读卡器还包括 第一获取单元,用于获取所述IC卡中的唯一序列号;安全认证单元,用于根据所述第一获取单元获取到的所述IC卡中的唯一序列号对所 述IC卡进行安全认证,所述安全认证包括黑名单认证、卡号认证。
11.如权利要求9所述的联机读卡器,其特征在于,所述联机读卡器还包括 第二获取单元,用于获取所述IC卡中的增值认证码;MAC认证单元,用于根据所述获取单元获取到的增值认证码通过在与联机读卡器相连 的联机系统中进行增值操作指令的认证。
12.如权利要求9所述的联机读卡器,其特征在于,所述联机读卡器还包括设置单元,用于当所述判断单元判断所述IC卡的制式不存在设置的最大存储额度值 和目标存储额度值时,为所述IC卡设置最大存储额度值和目标存储额度值。
13.一种脱机读卡器,其特征在于,包括判断单元,用于在对IC卡进行减值操作前,判断所述IC卡的制式,判断所述IC卡的制 式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为最大 存储额度值与目标存储额度值之差;减值操作单元,用于当所述判断单元判断所述IC卡中存在所述最大存储额度值和目 标存储额度值时,对所述IC卡执行减值操作指令时,仅对所述IC卡中的最大存储额度值进 行单向的减值指令操作。
14.如权利要求13所述的脱机读卡器,其特征在于,所述减值操作单元包括 获取单元,用于获取所述IC卡的唯一序列号;安全认证单元,用于根据所述获取单元获取到的所述IC卡中的唯一序列号对所述IC 卡进行安全认证,所述安全认证包括黑名单认证、卡号认证。
15.一种IC卡系统,其特征在于,包括联机读卡器,用于在对IC卡进行增值操作前,判断所述IC卡的制式,判断所述IC卡的 制式中是否设置有最大存储额度值和目标存储额度值,其中所述IC卡的实际存储值为最 大存储额度值与目标存储额度值之差,当判断所述IC卡中存在所述最大存储额度值和目 标存储额度值时,联机系统通过联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC 卡中的目标存储额度值进行单向的减值指令操作;联机系统,用于对所述联机读卡器获得所述IC卡中的增值认证码进行增值操作指令 的认证,并在认证通过之后,通过联机读卡器对IC卡执行增值操作指令。
16.一种IC卡,其特征在于,包括存储单元,用于存储设置有最大存储额度值和目标存储额度值,其中所述IC卡的实 际存储值为最大存储额度值与目标存储额度值之差;在存储设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应 的存储控制位为执行单向的减值指令和读指令;在存储设置所述IC卡最大存储额度值时,还存储了设置所述最大存储额度值所对应的增值认证码,所述增值认证码为消息认证码 MAC。
全文摘要
本发明公开了一种IC卡读写实现的方法,包括在对IC卡进行增值或者减值操作前,判断所述IC卡的制式中是否设置有最大存储额度值和目标存储额度值,若存在所述最大存储额度值和目标存储额度值时,脱机读卡器对所述IC卡执行减值操作指令时,仅对所述IC卡中的最大存储额度值进行单向的减值指令操作;或者联机读卡器对所述IC卡执行增值操作指令时,仅对所述IC卡中的目标存储额度值进行单向的减值指令操作。本发明还公开了相应的读卡器和IC卡及系统,采用本明发所提供的方案,只需要调整现有IC卡的关键数据存放方式和增加少量储存内容,同时只需将增值读卡器改造为联机读卡器,实现联机增值,其他设备和系统只需要进行软件升级,降低了改造费用和时间。
文档编号G06K17/00GK101901358SQ20091014276
公开日2010年12月1日 申请日期2009年5月25日 优先权日2009年5月25日
发明者金娟 申请人:英属维尔京群岛畅城有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1