原创 卡片应用状态

2008-10-20 13:35 2416 4 4 分类: 软件与OS
和IC卡的生命周期类似,应用在卡内也有自己的生命周期。应用的生命状态处于卡片的生命状态之中,也就是包含卡的应用状态内。在卡内,应用和ADF相对应,所以应用的状态主要也是针对ADF而言,应用状态可以划分为如下几个阶段:

  1、空状态

    在ADF在卡内创建之前,应用在卡内不存在,这时我们认为应用处于空状态,这是一个逻辑状态,在卡内没有任何表现形式。

    卡片完成初始化操作以后,卡内不存在任何应用,这个状态是所有应用的默认状态。

  2、建立状态

    文件建立状态是应用在卡内实际表现的第一个状态形式。

    在DDF下创建ADF是应用建立的开始(通过创建文件命令CREATE FILE来实现),这个状态是在卡内建立起了应用的文件结构,但是尚无法投入正常使用的状态。

    在这个过程中,应用在卡内的操作主要包括:

    * ADF描述块的创建。
    * 必要的数据空间和可能存在的代码空间的分配。
    * 为ADF建立起一个默认的安全体系。

    在这个状态下,可以进一步进行应用的初始化操作,完成整个应用环境的创建,可能的操作包括:

    * ADF安全体系默认值的替换,例如DF主控密钥的更替等。
    * 创建KEY、PIN等和安全相关的系统文件,并且在文件中写入必要的KEY和初始化的PIN值。
    * 创建应用必要的数据文件,完成数据文件内容的初始化。
    * 如果必要的话,安装应用的代码。

    经过这些初始化操作以后,卡片完成了必要的应用环境准备工作。

  3、使用状态

    处于建立状态的应用通过应用激活命令进入应用的使用状态。

    应用激活也就是ADF文件的激活操作,这个操作可以通过激活文件来完成。

    使用状态下,卡片可以分为多个子状态。

   1)正常状态

    应用激活以后,应用进入使用状态后的默认子状态为正常状态。在这一状态下,卡片可以在应用定义的流程中正常使用,例如各种交易、文件操作等。

    在正常状态下,如果出现一定的卡片和应用操作异常,通过发送应用锁定命令,应用将进入临时锁定状态。

    对应用的临时锁定操作要显式的通过发送临时锁定命令来完成。

    另外,在进行PIN校验和外部认证过程中,对PIN或者KEY的认证如果失败的话,将相应的减少其尝试计数器的值,如果尝试计数器的值为0时,不能继续校验,从应用流程来看,相应的卡片操作也无法继续,也类似应用的临时锁定状态。但是,这种状态的出现是由应用流程限制的,并不是真正的临时锁定,从卡片角度来说,应用仍然处于正常状态。

    在正常状态下,一般的卡片操作命令都可以执行。

   2)临时锁定状态

    应用进入临时锁定状态后,应用相关的各种交易和操作命令一般都无法执行。

    在这一状态下,可以通过执行应用解锁命令回到正常工作状态。应用解锁命令由相应的应用解锁密钥进行控制。和认证密钥一样,应用解锁密钥的使用也有一个认证的过程,如果连续多次校验失败的话,该密钥的尝试计数器减为0,该密钥将无法再使用,COS将自动永久锁定应用,卡片进入终止状态。

    卡片处于使用过程中的任何一个子状态下时,如果执行永久锁定命令的话,卡片将进入终止状态。

  4、终止状态

    应用终止是应用永久失去所有功能的状态,在这一状态下,对该ADF所有的交易和操作命令都将失效。

    处于终止状态下的应用等待被从卡片空间中删除。

  5、销毁状态

    对已经处于终止状态的应用,可以执行删除文件命令从卡片空间中删除该应用。

    应用被删除的过程中可能包含了如下操作:

    * ADF所有数据空间的清除。
    * 文件系统空间的标记和回收。
    * 可能存在的代码空间的回收。
    * 应用注册信息的删除。

    销毁状态也是一个逻辑状态,但是,文件的删除和空间回收可能分阶段进行,所以这个状态在卡内实际存在。销毁状态是所有应用在卡内的最终状态。



文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条