CPU卡操作系统COS文件访问安全的实现

来源:互联网 发布:c语言编译器win10下载 编辑:程序博客网 时间:2024/06/06 08:40

一、 采用安全状态寄存器方式实现文件访问安全

采用安全状态寄存器方式时,通常是在内存RAM中设置一个8位(或者是16位)长的区域作为安全状态寄存器。安全状态寄存器所反映的是智能卡在当前所处的安状态(用SS表示)。采用这种方式时,智能卡的每个文件的文件头(或者是文件描述器)中通常都存储有该 全文件能够被访问的条件,一般是包括读、写两个条件(分别用RCWC表示),这就构成了该文件的安全属性。而用户通过向智能卡输入PIN,或执行外部认证命令,就可以改变卡的安全状态。这一过程称为出示。这些方面结合起来,就能够对卡中文件的读写权限加以控制了。具体的操作机制我们以PCOS为例加以描述。

首先,PCOS中的安全状态寄存器是8位字长的,这8位中的低7位分别与PCOS中的7个安全密码的序号一一对应。寄存器中的每一位的初始值都被置为"0"。如果用户向智能卡出示了某一安全密码,并且被卡判断为正确的话,系统就在安全状态寄存器的相应位上写入"1"。例如,如果序号为2的安全密码被用户正确出示的话,PCOS就在寄存器的第2位上写"1"。同时,文件描述器中的读、写条件RCWC保存在寄存器的第2位上写"1"。同时,文件描述器中的读、写条件RCWC保存序号。在对某个文件进行读(或写)操作之前,系统首先判断在安全寄存器中对应的第RC(或WC)位是否已被置为"1"(如果RC等于0,就表示文件可以被用户随意读取;对于WC也是一样),只有当该位为"1"时,才表示读(或写)权已经得到满足,才能对该文件进行读(或写)操作。这也应是说,如果用户想要对一个文件进行操作的话,就必须首先出示该文件的安全属 性所对应的安全密码。系统据此就达到了对文件的访问进行安全控制的目的。

二、 采用状态机方式实现文件访问安全

与安全寄存器方式完全不一样,状态机方式更加明显地表示出了安全状态、安全属性以及安全机制的概念以及它们之间的关系。以STARCOS为例,它采用的是一种确定 状态机的机制,该机通过系统内的应用控制文件(Application ontrol File, ACF)而得以实现。ACF 文件包含若干记录,记录中存储的是控制信息、初始状态、可能的下一状态以及某些附加的指令信息的组合。在记录中,控制信息部分是必不可少的。不同的变体记录主要在两个方面有区别:一是命令所允许的状态不同;二是以CLA字节开始的指令信息部分不相同。这主要是同命令要操作的应用对象的不同而决定的。 利用ACFSTARCOS系统就可实现对文件访问的安全控制了。当系统接收到一个应用进行操作的一条命令后, 首先检验其指令码是否在相应的ACF文件的记录01中。如果不在其中,系统就认为该命令是错误的。在找到 了对应的指令码后,系统把命令的其余部分与该命令对应的各变体记录中的指令信息按照该变体记录的控制信息的要求进行比较,如果比较结果一致,那么再查验变体记录中的初始状态信息。若所有这些检测都顺利 通过,那么系统就进入对应变体记录中指明的下一状态;否则,继续查找下一个变体记录直到发现相应变体或是查完该命令所对应的所有变体记录为止。如果没有找到相应的变体记录,说明该命令是非法的;否则就进入下一步对命令的处理,即由COS调用实际的处理过程执行对命令的处理。当且仅当处理过程正常结束的时候,系统才进入一个新的状态,并开始等待对下一条命令的接收。

三、 包含状态迁移机制的安全状态寄存器方式

相比较而言,PCOS对文件访问的安全控制没有STARCOS

严得应用发行者在设计当中难以理解和掌握。 为克服这两种方式所带来的问题,可以采用两者结合的方式。

具体方法是,在安全状态寄存器方式的基础上,给每一个密码(包括PIN和密钥)增加两个属性:使用条件 和获得权力(分别用UCGP表示)。当用户出示密码时,COS首先检查当前安全状态寄存器中存放的安全状态是否满足该密码的使用条件,只有满足条件时,安全状态才能按该密码的GP改变,进入新的安全状态。

通过设置UCGP,我们就可以实现状态迁移机制。这就是包含状态迁移机制的安全状态寄存器方式。 国内的某家COS的文件访问安全控制就使用了这种方式。它的安全状态有0~F16种安全状态(SS),相应地各密码的获得权力也只能取0~F的范围。其安全属性(文件的RCWC,密码的UC)是用一个字节XY表示的,X Y分别为高半字节和低半字节,表示安全状态的下限和上限。其安全属性可表示为一个安全条件SC XSSY。即当安全状态处于相应安全属性的下限和上限之间时,方满足安全条件。满足安全条件后,安全状态的迁移可表示为:SS' = GP,即以密码的获得权力作为新的安全状态。 这样安全条件可以表达出一定的状态迁移机制,如: 1) 按照给定次序取得权力,(设置前一密码的获得权力为后续码的使用条件)2) 安全条件为诸权力的或 (将这些密码的GP设为一连续的区间), 但对于某些状态迁移机制,它就则无法精确表达了。比如安全条件要求为几个密码均出示(各密码GP的逻辑与)方可执行后续操作。这时由于不能预知这些密码出示的次序,即这些密码的出示次序不能作强制要求,而无法用区间的方法表达。

原创粉丝点击