公开/公告号CN1519702A
专利类型发明专利
公开/公告日2004-08-11
原文格式PDF
申请/专利权人 上海华虹集成电路有限责任公司;
申请/专利号CN03115014.4
申请日2003-01-20
分类号G06F9/30;G06F9/308;
代理机构上海专利商标事务所;
代理人陈亮
地址 200233 上海市宜山路800号
入库时间 2023-12-17 15:30:37
法律状态公告日
法律状态信息
法律状态
2019-01-08
未缴年费专利权终止 IPC(主分类):G06F9/30 授权公告日:20060524 终止日期:20180120 申请日:20030120
专利权的终止
2006-05-24
授权
授权
2004-10-20
实质审查的生效
实质审查的生效
2004-08-11
公开
公开
技术领域
本发明涉及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卡应用中防止程序跳飞情况下对信息记录载体误操作,取得了良好的效果。
机译: 用于再现信号v u00ecdeo和记录在记录载体上的至少一个附加信息信号的记录设备的载体。用于将信号v u00ecdeo和至少一个附加信息信号记录在记录载体上的方法以及用于在记录和计算机程序的载体中再现视频信号和至少一个附加信息信号记录。
机译: 中间商品的系统,服务器,方法,程序,记录该程序的介质,记录零售的信息终端,记录零售的应用程序,记录该应用程序的介质,记录批发,记录零售的应用程序记录在哪个应用程序中
机译: 提供和使用各种应用程序信息中的链接信息的方法,特别是在必要时使用第一信息服务时轻松确认有关第二信息服务的信息的方法