原创
IC卡卡片安全结构(1)
2008-10-20 13:27
2846
5
5
分类:
软件与OS
IC卡的安全体系是IC卡最核心的模块,高强度的安全保护也是IC卡得以迅速推广的重要原因。IC卡的安全体系包含了多层次的内容。
在IC卡中,COS的安全模块分散在COS的各层中,包括最低层的加密算法实现、系统安全服务和应用安全控制等。其中最核心的是安全服务中系统所提供的安全策略。
卡片安全体系的总体结构可以分为3个部分:安全属性、安全状态和安全机制。
* 安全状态记录的是当前卡片所处的安全级别,对卡片进行的许多操作都可能影响到相应的安全状态。
* 安全属性隶属于某一个数据对象,定义了对该对象可以进行的听任以及进行这些操作时所需要满足的安全状态等条件。
* 安全机制就是卡片内所能够支持的各种安全模式。在卡片进行的任何一组操作中都首先需要检查当前的安全状态是否满足所要操作对象的安全属性,接下来才能执行相应的命令或者访问相应的数据对象。
1、卡片安全状态
在IC卡中,安全状态是卡片当前所处的安全级别,是一种中间的状态信息。表示的是在卡片完成下述操作后可能达到的状态。
* 卡片复位。无论是上电复位还是软复位,卡片中所记录的所有安全状态都被清除,这里卡片处于最低级别的安全状态。
* 执行鉴别命令。卡片的鉴别命令包括对用户密码(PIN)的检验、对卡内密钥的校验等。这里卡片的安全状态将转到与有关实体的识别所关连的安全过程处理完成后的结果。例如在文件系统设计中,在PIN文件中每一条PIN的属性中都包含着一个字节SC用来表示如果该PIN校验成功的话当前状态将转为SC中定义的值,如果校验失败的话当前安全状态不作修改;同样,在外部认证密钥的文件体中,每一条认证密钥属性也都包含一相SC字节用来指定该密钥认证成功以后的安全状态值。
* 安全报文校验。对于包含安全报文的命令,卡片在执行命令以前需要对安全报文进行校验,成功之后才能执行。
在IC卡中,一般存在着3种不同的安全状态来记录不同层次的安全级别。
* 全局安全状态:与MF相关,在执行与MF有关的鉴别命令后修改;
* 特定文件的安全状态:也即当前文件(应用)的安全状态,它在完成和该文件相关的鉴别命令后修改;在进行应用选择执行选择文件命令时该状态将自动丢失被置为最低;如果再重新选择前一应用时卡片不恢复原有状态;
* 特定命令的安全状态:只在执行一条包含有安全报文的命令时才存在,在安全报验证成功之后才能执行命令,命令执行完毕后,该状态也自动丢失,对安全报文的校验结果也不影响其余类型的安全状态。
2、卡片安全属性
数据对象的安全属性也就是对数据对象的访问控制,包括两个方面:
* 文件访问的安全属性。
* 命令的安全属性。
1)文件安全属性
文件访问的安全属性包括了两个层次的内容。
* 一是允许的操作类型,这个由COS提供的功能和应用的需求来确定,例如对于普通文件允许的读写操作,对PIN、KEY等文件读操作禁止,对应用的特殊文件只能通过应用命令来维护等。
* 二是进行操作所需要满足的安全条件,也就是要求的安全状态。
两者的结合也就是文件的安全属性,所以安全属性也可以看作是对文件所能进行的操作及其需要满足的安全条件。
文件的安全属性一般包含在文件的描述块中,在文件建立阶段定义,由COS来进行管理和维护。
2)命令安全属性
文件安全属性是在文件的描述块中定义,是一种显式机制。命令的安全属性比较简单,由具体的命令来定义,是一种隐式机制,它主要包括两方面的内容:
* 一是命令全部报文的安全控制,采用的是在命令数据域中添加命令安全报文MAC的方式,MAC维护了整个命令报文的数据完整性。
* 二是命令数据域的安全控制,对于某些敏感数据,例如对称密钥、非对称密钥对中的私钥等等,在卡片和外界的传递过程中不能用明文的形式,必须先经过特定密钥的加密,以此确保数据传递过程中的机密性。
对于命令的安全属性,只是通过MAC来保证命令传输过程中的安全性和完整性,MAC校验成功以后命令才能够执行。
文章评论(0条评论)
登录后参与讨论