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



被折叠的 条评论
为什么被折叠?



