当前位置:首页 > 智能卡多应用安全机制研究 - - 毕业设计论文 - 图文
智能卡多应用安全机制研究 在这里需要提起注意的是,智能卡中的“文件”概念与我们通常所说的“文件”是有区别的。尽管智能卡中的文件内存储的也是数据单元或记录,但它们都是与智能卡的具体应用直接相关的。一般而言,一个具体的应用必然要对应于智能卡中的一个文件,因此,智能卡中的文件不存在通常所谓的文件共享的情况。而且,这种文件不仅在逻辑上必须是完整的,在物理组织上也都是连续的。此外,智能卡中的文件尽管也可以拥有文件名(File Name),但对文件的标识依靠的是与卡中文件—一对应的文件标识符(File Identifier),而不是文件名。因为智能卡中的文件名是允许重复的,它在本质上只是文件的一种助记符,并不能完全代表莱个文件。
传 送 管 理
(Transmission Manager)
传送管理主要是依据智能卡所使用的信息传输协议,对由读写设备发出的命令进行接收。同时,把对命令的响应按照传输协议的格式发送出去。由此可见,这一部分主要和智能卡具体使用的通信协议有关;而且所采用的通信协议越复杂,这一部分实现起来也就越困难、越复杂。
我们在前面提到过目前智能卡采用的信息传输协议一般是T=0协议和T=1协议,如果说这两类协议的COS在实现功能上有什么不同的话,主要就是在传送管理器的实现上有不同。不过,无论是采用T=0协议还是T=1协议,智能卡在信息交换时使用的都是异步通信模式;而且由于智能卡的数据端口只有一个,此信息交换也只能采用半双工的方式,即在任一时刻,数据端口上最多只能有一方(智能卡或者读写设备)在发送数据。 T=0、T=1协议的不同之处在于它们数据传输的单位和格式不一样,T=0协议以单字节的字符为基本单位,T=1协议则以有一定长度的数据块为传输的基本单位。
传送管理器在对命令进行接收的同时,也要对命令接收的正确性作出判断。这种判断只是针对在传输过程中可能产生的错误预言的,并不涉及命令的具体内容,因此通常是利用诸如奇偶校验位、校验和等手段来实现。对分组传输协议,则还可以通过判断分组长度的正确与否来实现。
当发现命令接收有错后,不同的信息交换协议可能会有不同的处理方法:有的协议是立刻向读写设备报告,并且请求重发原数据;有的则只是简单地在响应命令上作一标记,本身不进行处理,留待它后面的功能模块作出反应。这些都是由交换协议本身所规定的。
如果传送管理器认为对命令的接收是正确的,那么,它一般是只将接收到的命令的信息部分传到下—功能模块,即安全管理器,而滤掉诸如起始位、停止位
14
智能卡多应用安全机制研究 之类的附加信息。相应地,当传送管理器在向读写设备发送应答的时候,则应该对每个传送单位加上信息交换协议中所规定的各种必要的附属信息。 安全体系(—Security Structure)
智能卡的安全体系是智能卡的COS中一个极为重要的部分,它涉及到卡的鉴别与核实方式的选择,包括COS在对卡中文件进行访问时的权限控制机制,还关系列卡中信息的保密机制。可以认为,智能卡之所以能够迅速地发展并且流行起来,其中的一个重要的原因就在于它能够通过COS的安全体系给用户提供—个较高的安全性保证。
安全体系在概念上包括三大部分:安全状态(Security Status),安全属性(Security Attributes)以及安全机制(Security Mechanisms)。其中,安全状态是指智能卡在当前所处的一种状态,这种状态是在智能—卡进行完复位应答或者是在它处理完某命令之后得到的。事实上,我们完全可以认为智能卡在整个的工作过程中始终都是处在这样的、或是那样的一种状态之中,安全状态通常可以利用智能卡在当前已经满足的条件的集合来表示。
安全属性实际上是定义了执行某个命令所需要的一些条件,只有智能卡满足了这些条件,该命令才是可以执行的。因此,如果将智能卡当前所处的安全状态与某个操作的安全属性相比较,那么根据比较的结果就可以很容易地判断出一个命令在当前状态下是否是允许执行的,从而达到了安全控制的目的。和安全状态与安全属性相联系的是安全机制。安全机制可以认为是安全状态实现转移所采用的转移方法和手段,通常包括:通行字鉴别,密码鉴别,数据鉴别及数据加密。一种安全状态经过上述的这些手段就可以转移到另一种状态,把这种状态与某个安全属性相比较,如果一致的话,就表明能够执行该属性对应的命令,这就是COS安全体系的基本工作原理。
从上面对COS安全体系的工作原理的叙述中,我们可以看到,相对于安全属性和安全状态而言,安全机制的实现是安全体系中极力重要的一个方面。没有安全机制,COS就无法进行任何操作。而从上面对安全机制的介绍中,我们可以看到,COS的安全机制所实现的就是如下三个功能:鉴别与核实,数据加密与解密,文件访问的安全控制。因此,我们将在下面对它们分别进行介绍。其中,关于文件访问的安全控制,由于它与文件管理器的联系十分紧密,因此我们把它放到文件系统中加以讨论。
(1)鉴别与核实:鉴别与核实其实是两个不同的概念,但是由于它们二者在所实现的功能上十分地相似,所以我们同时对它们进行讨论,这样也有利于在比较中掌握这两个概念
通常所谓的鉴别(Authentication)指的是对智能卡(或者是读写设备)的合法性
15
智能卡多应用安全机制研究 的验证,即是如何判定一张智能卡(或读写设备)不是伪造的卡(或读写设备)的问题;而核实(verify)是指对智能卡的持有者的合法性的验证,也就是如何判定一个持卡人是经过了合法的授权的问题。由此可见,二者实质都是对合法性的一种验证,就其所完成的功能而言是十分类似的。但是,在具体的实现方式上,由于二者所要验证的对象的不同,所采用的手段也就不尽相同了。
具体而言,在实现原理上,核实是通过由用户向智能卡出示仅有他本人才知道的通行字,并由智能卡对该通行字的正确性进行判断来达到验证的目的的。在通行字的传送过程中,有时为了保证不被人窃听还可以对要传送的信息进行加密/解密运算,这一过程通常也称为通行字鉴别。
鉴别则是通过智能卡和读写设备双方同时对任意一个相同的随机数进行某种相同的加密运算(目前常用 DES算法),然后判断双方运算结果的一致性来达到验证的日的的。
根据所鉴别的对象的不同,COS又把鉴别分为内部鉴别(Interna1 Authentication)和外部鉴别(External Authentication)两类。这里所说的“内部”、“外部”均以智能卡作为参照点,因此,内部鉴别就是读写设备对智能卡的合法性进行的验证;外部签别就是智能卡对读写设备的合法性进行的验证。至于它们的具体的实现方式。
智能卡通过鉴别与核实的方法可以有效地防止伪卡的使用,防止非法用户的入侵,但还无法防止在信息交换过程中可能发生的窃听,因此,在卡与读写设备的通信过程中对重要的数据进行加密就作为反窃听的有效手段提了出来。下面仅对加密中的一个重要部件——密码在COS中的管理及存储原理加以说明。 (2)密码管理:目前智能卡中常用的数据加密算法是DES算法。采用DES算法的原因是因为该算法已被证明是一个十分成功的加密算法,而且算法的运算复杂度相对而言也较小,比较适用于智能卡这样运算能力不是很强的情况。DES算法的密码(或称密钥)长度是64位的。COS把数据加密时要用到的密码组织在一起,以文件的形式储存起来,称为密码文件。最简单的密码文件就是长度为8个字节的记录的集合,其中的每个记录对应着一个DES密码;较为复杂的密码文件的记录中则可能还包含着该记录所对应的密码的各种属性和为了保证每个记录的完整性而附加的校验和信息。见下图3-3
记录头 密钥(64bit) 校验和 图3-3 密钥文件的记录结果
其中的记录头部分存储的就是密码的属性信息,例如是可以应用于所有应用文件的密码还是只对应某一应用文件可用的密码,是可以修改的还是只能读取的
16
智能卡多应用安全机制研究 密码等等。但是不论是什么样的密码文件,作为一个文件本身,COS都是通过对文件访问的安全控制机制来保证密码文件的安全性的。
当需要进行数据加密运算时,COS就从密钥文件中选取密钥加入运算。从密钥文件中读出密钥时,与读取应用数据一样,只要直接给出密钥所在的地址就可以了。当然,最简单的产生密钥的方法是直接从密钥文件中随机读出一个密钥作为加密用密钥。但是这样的机制可能会多次选中同一密钥,从而给窃听者提供破译的机会,安全性不太高。因此,比较好的办法是在随机抽取出一个密钥后再对密钥本身作一些处理,尽量减少其重复出现的机会。例如PBOS产品中,采用的办法就是对从密钥文件中选出的密钥首先进行一次DES加密运算,然后将运算结果作为数据加密的密钥使用。其计算公式如下: Key = DES(CTC, KS)
式中,KS是从密钥文件中随机选取的一个密钥;CTC是一个记录智能卡的交易次数的计数器,该计数器每完成一次交易就增一;Key就是最后要提供给数据加密运算使用的密钥。使用这种方法可以提高智能卡的安全性,但却降低了执行的效率。因此,具体采用什么样的方法来产生密钥应当根据智能卡的应用范围及安全性要求的高低而具体决定。
应用管理器/文件管理器(Application Manager/File Manager) 应用管理器
应用管理器的主要任务在于对智能卡接收的命令的可执行性进行判断。关于如何判断一条命令的可执行性,我们已经在安全体系一节中作了说明,所以我们可以认为,应用管理器的实现主要是智能卡中的应用软件的安全机制的实现问题。而因为智能卡的各个应用都以文件的形式存在,所以应用管理器的本质就是我们将要在下一节加以讨论的文件访问的安全控制问题。正是基于这一点,我们也可以把应用管理器看作是文件管理器的一个部分。 文件管理
与安全一样,文件也是COS中的一个极为重要的概念。所谓文件,是指关于数据单元或卡中记录的有组织的集合。 COS通过给每种应用建立一个对应文件的方法来实现它对各个应用的存储及管理。因此,COS的应用文件中存储的都是与应用程序有关的各种数据或记录。此外,对某些智能卡的COS,可能还包含有对应用文件进行控制的应用控制文件。在COS中,所有的文件都有一个唯一的文件标识符,因此通过文件标识符就可以直接查找所需的文件。此外,每个文件还可以有一个文件名作为助记符。COS中的各文件在智能卡的个人化过程中由发行商根据卡的应用而创建,对卡的用户而言通常是不能对文件进行创建
17
共分享92篇相关文档