Ic卡应用中防止程序跳飞时对信息记录载体误操作的方法

文档序号:6447502阅读:683来源:国知局
专利名称:Ic卡应用中防止程序跳飞时对信息记录载体误操作的方法
技术领域
本发明涉及IC卡应用中防止程序跳飞时对信息记录载体误操作的方法。
背景技术
近年来,IC卡的应用日益广泛,而在这些应用当中IC卡中往往存储着与持卡人利益或与IC卡应用安全性相关的重要信息,这些信息的写入、更新与读出通常是通过IC卡中的卡内操作系统(COS)来完成的,如果IC卡在相对恶劣应用环境下出现程序跳飞现象而对IC卡中的信息记录载体出现误操作,造成读出或写入了错误的数据信息,将会对持卡人的利益或是IC卡的应用安全性造成重大损害。

发明内容
本发明的目的在于提供一种IC卡应用中防止程序跳飞时对信息记录载体误操作的方法,从而避免在IC卡应用中程序跳飞情况下对信息记录载体误操作所造成的损失。
本发明所提供的一种IC卡应用中防止程序跳飞时对信息记录载体误操作的方法,卡内操作系统是以接收由读卡机发来的特定指令来完成一个相应的处理流程的,包括下列步骤在卡内操作系统中对信息记录载体进行读写操作处理的指令有多条,每一指令包含特有信息,即各所属状态、指令识别码及处理流程;给每一条对信息记录载体有操作行为的指令分配一个跟踪寄存器,通过这一组跟踪寄存器对每条指令处理过程中的特有信息的跟踪记录,来检验相对应的指令执行的流程是否是按规定流程动作,其中允许存在两条或是两条以上的指令拥有同一个特征信息,但一个正常的指令流程处理下来,这一组跟踪寄存器的值应是唯一的;即在对信息记录载体进行直接操作的函数入口位置对这一组跟踪寄存器的值进行判断,确定在该条指令的程序分析处理过程中是否出现过指令跳飞的情况如果该组跟踪寄存器的特征值异常,则说明指令分析处理过程中出现过跳飞的异常情况,以此来拒绝对信息记录载体的操作并做相应的报错处理,从而可以避免因指令跳飞情况下对信息记录载体的误操作的发生。
由于采用了上述的技术解决方案,可以可靠有效的检测出指令跳飞情况的发生,杜绝了因指令跳飞情况下的对信息记录载体的误操作。从而大大提高了IC卡在相对恶劣的应用环境中使用的安全可靠性。


图1是本发明的流程框图。
具体实施例方式
参见图1,本发明,即IC卡应用中防止程序跳飞时对信息记录载体误操作的方法,卡内操作系统(COS)通常是以接收由读卡机发来的特定指令来完成一个相应的处理流程的。在一个完整的应用体系中,往往有许多条指令的处理都涉及到对非易失信息记录载体(如EEPROM)的读写操作,这些指令分别有着自己所属的不同状态、指令识别码及特有的处理流程等特有信息。因此可给每一条对非易失信息记录载体有操作行为的指令分配一个跟踪寄存器,通过这一组跟踪寄存器对每条指令处理过程中的特有信息的跟踪记录(如对某一跟踪寄存器相应的位置1),来检验相对应的指令执行的流程是否是按规定流程动作的。虽然有可能存在两条或是两条以上的指令拥有同一个特征信息,但一个正常的指令流程处理下来,这一组跟踪寄存器的值应是唯一的。因此在对信息记录载体进行直接操作的函数入口位置对这一组跟踪寄存器的值进行判断,便可知在该条指令的程序分析处理过程中是否出现过指令跳飞的情况,如果该组跟踪寄存器的特征值异常,则说明指令分析处理过程中出现过跳飞的异常情况,以此来拒绝对信息记录载体的操作并做相应的报错处理,从而可以避免因指令跳飞情况下对EEPROM等信息记录载体的误操作的发生。
下面以某一个IC卡应用体系为例做进一步详细的说明在这个IC卡应用体系中,以EEPROM做为IC卡中的信息记录载体,整个指令体系中总共有6条对EEPOM有写操作的指令WRITEBINARY、WRITEKEY、GETRAND、PCDVPP、TESTWRITE、EEPTEST。这六条指令在卡内操作系统(COS)中,分别属于3个不同的状态其中WRITEBINARY、WRITEKEY、GETRAND三条指令同属一个状态;PCDVPP单独为一个状态;TESTWRITE、EEPTEST两条指令属于第3状态。这六条指令的处理过程均需要通过RF(射频)接收、所属状态判断、指令识别码判别、操作权限校验、调用EEPROM操作子函数这五个阶段。并且拥有不同的指令识别码。
为了防止在COS指令跳飞的情况下对EEPROM进行擦写操作而对EEPROM中的数据造成破坏,该版COS中对这6条指令定义了对应的6个跟踪寄存器。这6个跟踪寄存器的BIT7-BIT3分别在对应指令的整个执行过程中实行监视指令在RF接收、状态判别、指令识别码判别、操作权限校验、EEPROM擦写底层函数调用位置,并在对应的程序判别语句附近置相应的标志位为1。当这6条指令中的某条指令正确执行,则对应这6个跟踪寄存器的值是唯一的,如果其中某个跟踪寄存器不满足条件,程序则跳转至软件初始化状态,清除这6个跟踪寄存器,重新开始指令接收和跟踪判别。这6个跟踪寄存器的定义及状态如下WBSP(WRITEBINARY跟踪寄存器)WKSP(WRITEKEY跟踪寄存器)GRSP(GETRAND跟踪寄存器)PVSP(PCDVPP跟踪寄存器)TWSP(TESTWRITE跟踪寄存器)EPASP(EEPTEST跟踪寄存器)WriteBinary指令调用擦写过程

(2)WriteKey指令调用擦写过程

(3)GetRand指令调用擦写过程

(4)PcdVpp指令调用擦写过程

(5)TestWrite指令调用擦写过程


(6)EEPROM全片擦写指令调用擦写过程

从上面的几个列表可以看出这六条指令的每一条正常执行时,对应的6个跟踪寄存器都是一组唯一的值,当指令在这6条指令处理过程间发生跳飞现象时,这组寄存器就可以准确的检测到。在EEPROM擦写子函数的入口位置对这组寄存器的值进行判断即可得知是那一条指令合法的执行或是发生了指令跳飞的情况。在本COS中当发现这6条对EEPROM擦写操作的指令间发生跳飞现象时,则终止对EEPROM的操作,软件复位至上电初始化状态,同时这给(6个)跟踪寄存器清0,重新开始新一轮的指令跟踪操作。
通过这个方法在该版COS中对IC卡应用中防止程序跳飞情况下对信息记录载体误操作,取得了良好的效果。
权利要求
1.一种IC卡应用中防止程序跳飞时对信息记录载体误操作的方法,卡内操作系统是以接收由读卡机发来的特定指令来完成一个相应的处理流程的,包括下列步骤在卡内操作系统中对信息记录载体进行读写操作处理的指令有多条,每一指令包含特有信息,即各所属状态、指令识别码及处理流程;给每一条对信息记录载体有操作行为的指令分配一个跟踪寄存器,通过这一组跟踪寄存器对每条指令处理过程中的特有信息的跟踪记录,来检验相对应的指令执行的流程是否是按规定流程动作,其中允许存在两条或是两条以上的指令拥有同一个特征信息,但一个正常的指令流程处理下来,这一组跟踪寄存器的值应是唯一的;即在对信息记录载体进行直接操作的函数入口位置对这一组跟踪寄存器的值进行判断,确定在该条指令的程序分析处理过程中是否出现过指令跳飞的情况如果该组跟踪寄存器的特征值异常,则说明指令分析处理过程中出现过跳飞的异常情况,以此来拒绝对信息记录载体的操作并做相应的报错处理,从而可以避免因指令跳飞情况下对信息记录载体的误操作的发生。
全文摘要
一种IC卡应用中防止程序跳飞时对信息记录载体误操作的方法在一个完整的COS中对信息记录载体进行读写操作处理的指令有多条;给每一条对信息记录载体有操作行为的指令分配一个跟踪寄存器,通过这一组跟踪寄存器对每条指令处理过程中的特有信息的跟踪记录,来检验相对应的指令执行的流程是否是按规定流程动作,即在对信息记录载体进行直接操作的函数入口位置对这一组跟踪寄存器的值进行判断,确定在该条指令的程序分析处理过程中是否出现过指令跳飞的情况如果该组跟踪寄存器的特征值异常,则说明指令分析处理过程中出现过跳飞的异常情况,以此来拒绝对信息记录载体的操作并做相应的报错处理,从而可以避免因指令跳飞情况下对信息记录载体的误操作的发生。
文档编号G06F9/308GK1519702SQ0311501
公开日2004年8月11日 申请日期2003年1月20日 优先权日2003年1月20日
发明者姚碧, 徐晓伟, 姚 碧 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1