物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  资产  >  正文

智能卡操作系统(COS)安全管理研究

作者:邓赞
来源:RFID世界网
日期:2011-11-09 09:16:26
摘要:介绍智能卡操作系统(COS)的四大基本功能模块:通信管理、命令解析、文件管理和安全管理,并重点对安全管理模块进行详细的研究和分析。

    引言

    电子技术的快速发展推动了智能卡的发展,而智能卡的片内操作系统COS(Chip Operating System)自然成为备受关注的焦点,它是根据它所服务的智能卡的特点而研发的。COS的主要功能是控制智能卡和外部的信息交换,管理智能卡内部的存储器,并在智能卡的内部进行各种命令的处理。其中,与智能卡外部的信息交换是最基本的要求。

    1 COS功能层结构

    符合智能卡规范和国际标准的智能卡操作系统,主要包括4个功能模块:通信管理模块、命令解析模块、文件管理模块和安全管理模块。如图1所示。

    通信管理模块的功能是依据智能卡所使用的信息通信传输协议完成的。通信管理模块对由终端读写设备发出的命令进行接收,同时,把对该命令的响应按照通信传输协议的格式发送出去。智能卡与读写终端的接触式通信协议,目前国际标准中规定了T=0和T=1两种。这两种通信协议都是异步半双工的传输协议.不同之处在于使用的传输的数据格式是不一样:T=0传输协议以字符为基本单位进行传输,T=I传输协议以数据块为基本单位进行传输。

    命令解析模块的功能是对智能卡接收的命令的可执行性进行判断.并且根据接收到的命令检查智能卡内部的各项参数是否正确等,并在此基础上完成相应的操作和数据处理。COS是通过对命令的响应与外界进行信息交换的,在国际标准ISO/IEC7816-4中规定了COS的基本命令集。

    2 文件管理

    COS的文件系统采用的是树形层次结构,类似于DOS.如图2所示。在COS中定义了三种文件类型:主文件肝(Master File)、专用文件DF(Deicated File)和基本文件EF(Elementary File)。主文件MF是整个文件系统的根目录,是整个树形结构的根节点。专用文件DF类似于是中间日录,可以包含其它的DF和EF。基本文件EF是真正用来进行数据存储的文件。在每个文件中都包含了两部分:文件头标和文件体,文件头标通常是开发人员根据应用上的需求进行设计的固定了字节的字符串,并且长度通常是EEPROM的摹本分块长度的整数倍。它规定了对文件的控制信息。对文件体来说,主文件MF和专用文件DF的文件体就是它下面包含的所有文件,对基本文件EF来说,文件体则包含了用户数据或一些智能卡的专用数据。在智能卡的文件结构中,主文件MF只能有一个,并且是随着操作系统一起生成的,用户不能在文件的存取过程中越层存取。若想读写子专有文件DF下的基本文件EF,则必须经过其高层的文件层次中某一专有文件DF的大小在申请生成时预定并且不可修改。

    3 安全管理

    智能卡的安全体系是智能卡的核心,智能卡能够迅速地发展起来的一个重要原因,就在于它能够通过它的安全体系给用户提供一个较高的安全保证。安全体系从概念上讲主要包括三个部分:安全状态、安全属性和安全机制。

{$page$}


     3.1安全状态

    安全状态是指智能卡在当前情况下所处的状态.这种状态会在智能卡进行完复位应答或者在它处理完某条命令之后得到。事实上,我们可以认为智能卡在整个工作过程中始终都是处在这样或是那样一种状态。利用智能卡在当前已满足条件的集合可以表示当前的安全状态,各种安全状态和它的转换条件组合在一起,从而构成了状态机。

    3.2安全属性

    对智能卡的数据对象的访问控制,称为智能卡的安全属性。对智能卡的数据对象进行操作,主要包括两方砸的内容:文件和操作命令。文件的安全属性包括了两个方面的内容:允许进行操作的类型和进行操作需要满足的安全状态,这两者结合起来就构成了文件的安全属性。文件的安全属性一般是在文件的初始建立阶段定义,包含在文件描述块中,并由cos来进行管理和维护。操作命令的安全属性是由具体的命令来定义的,它主要也包括两方面的内容:命令全部报文的安伞控制和命令数据域的安全控制。操作命令的安全属性,主要是通过MAC来确保命令传输过程中的安全性和完整性,在MAC校验成功之后操作命令才能够顺利执行。

    3.3安全机制

    与安全状态和安全属性相联系的就是安全机制。安全机制可以理解为实现安全状态的转移所使用的方法和手段。cos安全体系的基本工作原理可以这样认为,一种安全状态经过安全机制的一些转移方法和手段就可以转移到另一种状态,将这种状态与相应的某个安全属性相比较,如果是一致的,就执行该安全属性对应的命令。所以可以这样说,没有安全机制,COS就无法运作。

    COS的安全机制主要包括三个方面的功能:数据加密与解密、鉴别与核实和文件访问的安全控制。其中,数据的加解密贯穿安全体系整个过程中;鉴别与核实从本质上说就是身份认证;文件访问的安全控制与文件管理器的联系十分紧密。

    3.3.1 数据加密与解密

    智能卡中的加密算法是整个智能卡安全体系的基础。加密算法的关键在于对密钥文件的选择,在COS中密钥文件通常指定了使用该密钥的算法类型:
    (1)在专用文件DF下都包含一个主控密钥,该密钥是整个DF文件下密钥体系的基础,只有通过了此密钥的验证,才能对此专用文件DF下的子文件做进一步的操作.该密钥是专用文件DF中的根密钥,保存在专用文件DF下的Key文件中[43。
    (2)对称密钥一般统一保存在一个密钥文件中,通常为DES或3DES密钥,这些密钥以记录的形式保存,在记录体的属性段描述了密钥的算法属性。
    (3)非对称密钥以密钥对的形式出现,可以只保存单独一个公钥或者一个私钥,每一对非对称密钥保存在一个非对称密钥文件中,在文件的描述块中保存了密钥的属性。

    3.3.2鉴别与核实

    鉴别(Authentication),是指对智能卡(或者是终端读写设备)的合法性进行验证,而核实(Verify)是指对智能卡的持有者的合法性进行验证。

    鉴别是通过智能卡和读写设备双方同时对任意一个相同的随机数进行相同的加密运算(目前普遍采用DES算法),然后判断双方运算结果的是否一致来达到验证的目的。核实则是通过由用户向智能卡出示仅有他本人才知道的通行字,并由智能卡对该通行字的正确性进行判断来达到验证的目的。在通行字传送的过程中,有时为了保证不被人窃听,还可以对传送的信息进行加密/解密运算。

    根据鉴别对象的不同,鉴别分为内部鉴别和外部鉴别。内部鉴别是终端读写设备对智能卡的合法性进行验证;外部鉴别是智能卡对终端读写设备的合法性进行验证。

    智能卡的内部鉴别分为三步。首先,智能卡的读写设备向智能卡的COS发送数据.要求智能卡COS对这批数据进行加解密或者计算MAC,同时智能卡读写设备也会对数据进行相应的计算。之后,智能卡COS在收到数据后,根据操作命令要求使用相应的密钥对数据进行相应的计算,并将计算结果返回给智能卡读写终端设备.最后,智能卡读写终端设备在收到智能卡cos的认证数据后,将这些数据与自身计算的数据相比较,相同则验证合
法。外部鉴别的原理与内部鉴别相同。

    3.3.3文件访问的安全控制

    对文件访问的安全控制是系统中的非常重要的部分,其中代表性的两种文件安全访问的实现方式是:状态机方式和鉴别寄存器方式.鉴别寄存器方式是使用两个四位的寄存器来表示安全状态。一个寄存器作为主文件盯的安全状态寄存器,另一个寄存器作为当前专用文件DF的安全状态寄存器。将每个寄存器的初始值都设置为0.设定取值范围为0~F.文件会设置两种访问控制权限AC0,AC1。AC0是使用权限,AC1是修改权限,都用一个字节来表示.当安全状态寄存器的值大于访问控制权限AC的字节的低半字节而小于其高半字节时,则该文件的相应得读和写的权限在该安全状态下被满足,并且能进行相应的操作。COS在建立文件时会指定其AC0字节和AC1字节的值来对文件的访问权限进行设定,通过校验口令和外部认证可以改变安全状态寄存器的值,从而利用安全机制实现对文件的安全访问控制。

    4 结束语

    COS的安全是基于软件的安全,相信随着芯片制造技术水平的提高。CPU运行速度的提高和卡内存储器容量的增大,性能更好的加密算法的出现,智能卡最终将得到更广泛的应用。