原创
卡片应用状态
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条评论)
登录后参与讨论