首页> 中国专利> IC卡应用中防止程序跳飞时对信息记录载体误操作的方法

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

摘要

一种IC卡应用中防止程序跳飞时对信息记录载体误操作的方法:在一个完整的COS中对信息记录载体进行读写操作处理的指令有多条;给每一条对信息记录载体有操作行为的指令分配一个跟踪寄存器,通过这一组跟踪寄存器对每条指令处理过程中的特有信息的跟踪记录,来检验相对应的指令执行的流程是否是按规定流程动作,即:在对信息记录载体进行直接操作的函数入口位置对这一组跟踪寄存器的值进行判断,确定在该条指令的程序分析处理过程中是否出现过指令跳飞的情况:如果该组跟踪寄存器的特征值异常,则说明指令分析处理过程中出现过跳飞的异常情况,以此来拒绝对信息记录载体的操作并做相应的报错处理,从而可以避免因指令跳飞情况下对信息记录载体的误操作的发生。

著录项

  • 公开/公告号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指令调用擦写过程:

  RF 状态 判别 指令识  别码 权限 判别  EEPROM 操作调用    BIT2-    BIT0  寄存器  对应值 WB  1  1    1   1    1    000    F8 WK  1  1    0   0    0    000    C0 GR  1  1    0   0    0    000    C0 PV  1  0    0   0    0    000    80 TW  1  0    0   0    0    000    80 EPA  1  0    0   0    0    000    80

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

  RF  状态  判别  指令识   别码  权限  判别   EEPROM  操作调用   BIT2-   BIT0  寄存器  对应值  WB  1   1    0    0     0   000    C0  WK  1   1    1    1     1   000    F8  GR  1   1    0    0     0   000    C0  PV  1   0    0    0     0   000    80  TW  1   0    0    0     0   000    80  EPA  1   0    0    0     0   000    80

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

  RF  状态  判别  指令识   别码  权限  判别   EEPROM  操作调用   BIT2-   BIT0 寄存器 对应值 WB   1   1    0    0     0    000   C0 WK   1   1    0    0     0    000   C0 GR   1   1    1    0     1    000   E8 PV   1   0    0    0     0    000   80 TW   1   0    0    0     0    000   80 EPA   1   0    0    0     0    000   80

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

  RF  状态  判别  指令识   别码 权限 判别  EEPROM 操作调用  BIT2-  BIT0 寄存器 对应值 WB   1   0    0   0    0   000   80 WK   1   0    0   0    0   000   80 GR   1   0    0   0    0   000   80 PV   1   1    1   0    1   000   E8 TW   1   0    0   0    0   000   80 EPA   1   0    0   0    0   000   80

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

  RF  状态  判别  指令识   别码  权限  判别   EEPROM  操作调用   BIT2-   BIT0  寄存器  对应值 WB  1    0    0    0     0    000    80 WK  1    0    0    0     0    000    80
 GR   1   0   0   0   0  000   80 PV   1   0   0   0   0  000   80 TW   1   1   1   0   1  000   E8 EPA   1   1   0   0   0  000   C0

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

  RF 状态 判别 指令识  别码 权限 判别  EEPROM 操作调用    BIT2-    BIT0  寄存器  对应值 WB   1   0    0   0    0    000    80 WK   1   0    0   0    0    000    80 GR   1   0    0   0    0    000    80 PV   1   0    0   0    0    000    80 TW   1   1    0   0    0    000    C0 EPA   1   1    1   0    1    000    E8

从上面的几个列表可以看出这六条指令的每一条正常执行时,对应的6个跟踪寄存器都是一组唯一的值,当指令在这6条指令处理过程间发生跳飞现象时,这组寄存器就可以准确的检测到。在EEPROM擦写子函数的入口位置对这组寄存器的值进行判断即可得知是那一条指令合法的执行或是发生了指令跳飞的情况。在本COS中当发现这6条对EEPROM擦写操作的指令间发生跳飞现象时,则终止对EEPROM的操作,软件复位至上电初始化状态,同时这给(6个)跟踪寄存器清0,重新开始新一轮的指令跟踪操作。

通过这个方法在该版COS中对IC卡应用中防止程序跳飞情况下对信息记录载体误操作,取得了良好的效果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号