IC卡编程和使用流程
对IC卡的读写操作主要在发卡时和用户持卡交费及持卡消费时时行. 发卡是卡片发行者根据用户要求对空白卡的个人化过程. 这一过程由发卡单位的微机上运行的发卡程序执行,如银行,工厂,机关等部.这一发卡程序也需IC卡开发人员根据上述经构特点进行开发设计.用户持卡消费则在商店POS机或银行ATM机上进行,持卡交费也需要在银行或交费处进行.这一过程是读出或修改卡上数据的过程,由IC卡用户应用程序在用户终端上完成.此时用户需与终端进行交互式处理.这种用户应用程序也是IC卡开发人员进行设计的.下面,综合上一节讨论的IC卡存储结构特点, 说明在这两种软件中的操作过程.
1.IC卡个人化操作流程
如前所述,此流程嵌在IC卡发卡软件中执行,可完成IC卡的人人化即初始数据录入过程.首先系统核对IC卡的厂商代码和卡型,正确时,在空白卡上写入发行商代码,确定此卡为本系统有效卡.然后软件应提供交互式用户界面, 让用户从键盘输入自己的用户密码(SC).此密码不应由发行者保留和处理,而应该通过调用密码写入函数而直接写入卡上. 多分区中的分区密码也可以通过给用户提供的界面由用户直接输入.为了简化密码记忆要求,也可以采用根据统一用户密码经一定算法来分别产生分区密码并写入卡上. 擦除密码则是在个人化时由发行商也就是系统来产生并且入卡上的,供系统使用.在上述密码写入后, 软件还应提供用户对密码核实和再次修改的机会.在确认无误后,软件发出熔断命令,熔断熔丝2,完成IC卡的个人化进程.随后系统可对IC卡数据区需写入的数据作初始写入.
2.IC卡用户应用软件流程
如前所述,此流程嵌于各IC卡读写器的用户软件中.每次涉及对IC卡操作时执行此流程.一旦IC卡插入读写器,用户软件首先应核对厂商代码,发行商代码,以确认此卡的合法性.在确定是本系统中的有效卡后,进入用户密码核对流程, 如果是无效卡,应报警.接着在用户密码核对界面中对持卡人的合法性进行鉴别. 要求持卡人键入用户密码,与卡上密码核对,无误后可开始对卡读写. 如有分区密码也要求用户键入核实.如果需对卡上已有数据进行修改,则应与系统中保留的探险密码进行核对. 正确时可先读出卡上数据进行修改运算,再擦除相应存储区,最后将修改后数据写回该存储区.根据以上叙述,我们知道IC卡的合法性, 持卡人合法性和系统的合法性要相互确认.这些确认和对IC卡的读写操作均需调用随IC 卡读写器提供的函数库中的函数来完成.