CPU卡安全体系
在CPU卡开发指南(二)基本指令讲到cpu卡的基本操作指令, 其中的创建文件时候的读写权限没有解析,本章详细介绍CPU卡中的安全体系。(本篇文章主要是对复旦1208cpu卡)
FMCOS的安全体系从概念上可以分为安全状态,安全属性,安全机制和密码算法。
安全状态
安全状态是指==卡在当前所处的一种安全级别==。
FMCOS在卡内部用安全状态寄存器来表示安全级别;寄存器的的值==可以是0-F之间的==某一值。
当前目录的安全状态寄存器的值在==复位后或选择目录文件==命令成功被执行时被置为0,在当前目录下口令核对或外部认证通过后该状态寄存器值发生变化。
安全属性
安全属性是指对某个文件进行某种操作时所必须满足的条件,也就是在进行某种操作时要求安全寄存器的值是什么。
访问权限为0Y时表示要求MF的安全状态寄存器的值大于等于Y。
- 例1: 如某个文件的读权限为05则表示在对该文件进行读之前必须是MF的安全状态寄存器的值大于等于5。
访问权限为XY(X!=0) 表示要求当前目录的安全状态寄存器的值大于等于Y切小于等于X。 如果(X=Y)则表示要求当前目录的安全状态寄存器的值等于X,
例2: 如某个文件的读权限为05,则表示在对该文件进行读之前必须是MF的安全状态寄存器的值大于等于5。
例3: 如某个文件的读权限为53,则表示在对该文件进行读之前当前目录安全状态寄存器的值大于等于3,小于等于5,即为 3、4、5。
例4: 如某个文件的读权限为F0,写权限为F1。代表该文件可以任意读取,在写入的时候必须满足当前目录的权限大于等于1
安全机制
安全机制是指某种安全状态转移为另外一种安全状态所采用的方法和手段。
当在MF下是,认证通过之后同时改变MF状态值,若不在MF下认证通过,只改变当前目录的安全状态值。当上电复位后,进入子目录或者退回上级目录,当前目录的安全状态寄存器的值均自动被置为0。
设卡中有一个目录中有一个二进制文件,定义二进制文件的读权限为F1,写二进制文件的权限为F2,该目录下有一个口令密钥,口令核对通过后后续状态为1,卡中有一个外部认证密钥,使用权限为11,外部认证通过后状态为2。
请看下面的操作及当前目录的状态寄存器变化情况。
密码算法
FMCOS外部认证的算法使用的是DES