原创
IC卡卡片安全结构(2)
2008-10-20 13:27
3575
6
6
分类:
软件与OS
3、卡片安全机制
安全机制指的是在IC卡中与安全相关的所有元素,在IC卡内完成安全操作和安全信息传递所需的一系列安全机制的集合被称为安全环境。安全环境指定了在接下来的命令中所要执行的加密算法、执行操作的类型、所使用的密钥和安全机制中所需的其他额外数据。
安全环境在卡片进行的任何操作时都存在,包括默认的安全环境和特殊指定的安全环境。有时候安全环境也可以为一个空值,这些都和后续操作以及应用定义相关。
卡片上电以后将自动加载默认的全局安全环境,直至使用命令来改变了它。安全环境还包含了许多不同的组件,这些组件可以分为两类,一类是用来保护命令数据,一类是用来保护相应结果数据。我们可以参考控制模板来描述安全环境的不同组件,包括如下主要模板。
1)加密算法
在IC卡中加密算法是整个安全体系的基础,包括了对称密钥算法以及非对称密钥加密算法两种。
加密算法的主要作用包括:
* 提供数据的加解密运算工具。
* 保护卡片与外界之间的数据传递安全,在IC卡中,像对称密钥、私钥等数据在外界与卡之间传递时必须使用密文来进行以防止泄漏。
加密算法最关键的在于密钥文件的选择,在密钥文件中通常指定了使用该密钥的算法类型。
* DF下都包含一个主控密钥,该密钥是整个DF文件下密钥体系的基础,是DF中的根密钥,一般保存在DF文件属性,也就是文件描述块中。
* 其他对称密钥一般统一保存在一个密钥文件中,通常为DES和3DES密钥,如果应用特殊有要求,可能还包含其他算法,这些密钥以记录的形式保存,在记录体的属性段通常包含了密钥的算法属性描述。
* 非对称密钥以密钥对的形式出现,可以只保存单独一个公钥或者一个私钥,每一对非对称密钥保存在一个非对称密钥文件中,在文件的描述块中通常包含了密钥的属性,包括算法类型、密钥模长等信息。
对称密钥和非对称密钥的查找方式也不一样。
* 主控密钥一般不作显式的检索,其应用方式和命令定义有关。
* 其他对称密钥可以通过密钥索引、版本、类型等信息来进行查找,通常也是由COS自动完成。
* 非对称密钥的查找方式比较特殊,和EF文件查找比较类似,通过文件的SFI来查找。
2)数字签名
数字签名在IC卡中的主要用于卡和机具之间的相互身份认证以及在卡与外界的信息交换过程中对数据的不可否认性保障。
这个安全机制一般在支持PKI的IC卡中才实现,需要非对称密钥加密算法的支持。
在进行数字签名操作以前IC卡需要确定的是签名所使用算法的类型,所使用的密钥和签名数据的编码方式等。同加密算法一样,数字签名还可以作为卡对外界提供的一种功能来使用,外界可以使用PKI卡对数据进行数字签名和数字签名的验证。
3)MAC校验
MAC即安全报文,在需要安全报文的命令中使用,通过对计算MAC所用密钥的认证,完成卡对外部系统的认证,同时也保证了命令数据在传递过程中没有发生错误或者数据被替换。
MAC校验以对称加密算法为基础来实现,是命令安全的基础。
4)散列函数
散列函数这种安全机制一般在支持PKI的IC卡中实现,主要作为许多PKI算法的支持,同时也可以作为一个单独的功能模块给外界调用。
5)认证
认证是IC卡和外部系统之间身份验证最重要的一种方式,双方之间的认证最终是通过对某一个密钥是否拥有的验证来完成。
认证包括外部认证和内部认证两种。
* 外部认证是卡片对外部系统的认证,外部认证的结果影响卡片相应的安全状态。
* 内部认证是外部系统对卡片的认证,内部认证结果不影响卡片相应的安全状态。
认证又可以根据密钥的类型不同分为对称算法认证以及非对称算法认证,认证所需的数据一般由双方共同随机生成并相互共享。
由于有安全环境的存在,在进行安全操作时一般分解成为两组命令来完成。
* 第一组命令是管理安全环境,用来事先指定下一步操作时所需要的安全环境参数。
* 第二组命令是执行安全操作,即要执行相关的操作以及这些操作中需要的数据。
在对称密钥体系中,由于安全环境比较简单,只包含加密算法、MAC、对称认证等,最终都可以归结为一组对称密钥的运算,所以可以使用默认的安全环境,数据和部分参数在接下来的执行安全操作命令中指定,所以管理安全环境命令可以被忽略;而在非对称密钥体系中,安全环境比较复杂,不同的操作之间的差异较大,通常都需要实现进行设置,所以在PKI相关的命令流程的设计上基本按照两组操作的设计思路来完成。
文章评论(0条评论)
登录后参与讨论