|
为适应智能IC卡的应用,特别是对安全性要求较高的应用,在智能IC卡的操作系统中还提供应用控制管理功能模块。在以上对用户存储器的文件组织方式的描述中曾经提到每一文件层次(如MF,DF等)均由一个应用控制文件,在该文件中就定义有应用控制管理数据。
应用控制管理功能模块主要具有两个功能:一是提供对某一应用(处于某一文件层次)的应用顺序流程控制;二是提供在不同的应用顺序状态下的命令执行权限。这两个功能虽然可以分开讨论,但在具体实施时却密不可分。
1、应用顺序流程控制
应用顺序流程控制定义了某一应用的顺序流程,即状态机。例如,有一个较简单的应用分四步执行,同时该应用具有三个状态,启动该应用需满足条件1,然后进入状态1,执行相应操作;若在状态1下的操作满足了条件2,则进入状态2并执行相应操作;若在状态2下的操作满足了条件3,则进入状态3并执行相应操作;就用结束,如下图所示。

应用流程图
可见,所谓应用顺序流程控制就是定义了某一应用的具体执行过程及相应条件。一旦确定了应用流程,某一应用就必须而且只能按其要求执行,如在上图中不可以从状态1直接跳跃到状态3去执行某一操作。
2、命令执行权限
进一步提高应用的安全性,在应用顺序流程中还定义了在某一应用的不同状态下对命令的执行权限。如一数据文件,在该文件建立时定义了其存取特性(如可读写但不能删除),通过在该应用的顺序流程中定义读、写命令还可以进一步限制对该文件的存取。扩展上面的例子,假设在该应用中有一数据文件存储有重要数据,该文件的属性定义为可读写,但根据应用需求读写操作只能在状态3执行,状态2只能进行读操作,这就可以通过禁止在状态2执行写命令而允许读命令,在状态3同时允许执行读、写命令的方法实现,如图6所示。
命令权限限制示意图
至此,从应用顺序控制角度可以认为,在建立某一文件时定义的属性为该文件的静态属性,而结合具体应用定义的命令执行权限则为该文件的动态属性。由此可见,利用这种机制对数据文件的存取限期安全又灵活。 |