-1-CPU卡的芯片操作系统COS随着IC卡从简单的同步卡发展到异步卡,从简单的EEPROM卡发展到内带微处理器的CPU卡,对IC卡的各种要求越来越高。而卡本身所需要的各种管理工作也越来越复杂,因此就迫切地需要有一种工具来解决这一矛盾,而内部带有微处理器的CPU卡的出现,使得这种工具的实现变成了现实。一、CPU卡结构(与逻辑加密卡的结构比较)CPU卡拥有自己的CPU微处理器、RAM、程序存储器ROM、EEPROM及I/O接口五部分组成,是一个完整的单片机控制系统。二、CPU卡的特点(与逻辑加密卡相比较)(1)芯片和COS的安全技术为CPU卡提供了双重的安全保证。(2)自带操作系统的CPU卡对计算机网络系统要求较低,可实现脱机操作;而存储器卡必须在完善的网络环境下使用。(3)可实现真正意义上的一卡多应用,每个应用之间相互独立,并受控于各自的密钥管理系统。-2-(4)存储容量大,可提供1K-64K字节的数据存储空间(5)使用寿命长,数据存储时间可达十年以上三、CPU卡的主要功能(1)身份认证--对持卡人、卡终端、和卡片三方的合法身份做认证(2)支付和结算工具--电子钱包和电子存折的支付手段,可避免携带大量现金和找零的不便,提高交易效率(3)安全保密模块--使用相应的密钥实现加密、解密以及交易处理,从而完成与用户卡之间的安全认证。(4)数据载体--CPU卡可作为个人档案或重要数据的安全载体,数据可至少保存10年以上四、CPU卡的芯片操作系统COS1、芯片操作系统COSCPU卡的核心是芯片操作系统(ChipOperationSystem),它是一个比较小而且非常严密的系统。这个系统管理着卡片的一举一动,外界对卡发布的所有命令都需要通过操作系统才能对CPU卡起作用。COS的主要功能是控制卡和外界的信息交换、管理卡内的存储器并在卡内部完成各种命令的处理。-3-2、COS操作系统符合的标准(1)《中国金融集成电路(IC)卡规范》、《中国金融集成电路(IC)卡应用规范》(2)中国人民银行PSAM卡规范(3)ISO14443规范(4)ISO78161/2/3/43、COS操作系统的安全机制(1)对任一文件的读、写、增加均可设置安全条件,只有在符合安全条件情况下,才可以对文件进行访问。(2)COS采用DES、3DES和RSA等国际公认的安全算法。(3)密钥只能在卡内部使用,任何人都无法读取。(4)数据传输的保密性,即数据可采用密文件方式进行传输,防止数据被非法窃取。(5)数据传输的完整性,数据可采用线路认证的方式进行传输,防止数据被非法篡改。(6)金融交易完全遵循《中国金融集成电路(IC)卡规范》而设计的。4、COS的主要功能(1)COS的资源管理作为操作系统,管理CPU卡的硬件资源和数据资源是COS的基本任务。CPU卡上的硬件资源包括CPU、ROM、EEPROM、RAM及通讯接口,它们都由COS操作系-4-统统一管理,外部不能直接支配、控制这些资源,使CPU卡对外表现为一个黑匣子,从而加强了系统的保密性能。CPU卡文件直接存放在卡上的存储器中,可以随机读写或执行。在CPU卡存储区中,文件以层次结构来组织,不能越层存取。(2)COS的通讯管理通讯管理主要功能是执行CPU卡的信息传送协议,接收读写器发出的指令,并对指令传递的正确性进行判断。一般可采用奇偶检、CRC校验等方式判断传输错误.对于采用分组传输协议的系统,还可以通过分组长度变化来检查错误。此外,CPU卡能自动产生对指令的应答并发回读写器,也能为送回读写数据及应答信息自动添加传输协议所规定的附加信息。(3)COS的安全管理数据安全管理是COS操作系统最重要的功能之一。具体表现在用户与CPU卡的鉴别、核实功能以及对传输数据的加密与解密操作。“鉴别”是指对CPU卡本身的合法性进行验证,以判定一张CPU卡是不是伪造的。COS可以通过内部软件运行来实现密码转换,因此写入CPU卡上的密码不能被读写器直接读取,它读取的是被COS转换后的密文,这样使CPU卡具有更强的安全性。而“核实”是指对CPU卡持有人的合法性进行验证。由于用户只能通过用户口令来进行核实,为防止口令在传输中被人窃听,常常在传送口令时对口令进行加密和解密运算。“鉴别”与“核实”可以更有效地防止非法用户入侵和非法CPU卡的使用。传输与存储数据的保密,则是通过COS对数据进行加密与解密的功能来实现的。这些算法由COS调用相应算法(如:DES、3DES、RSA等算法)程-5-序在读写CPU卡时自动完成。因此在CPU卡读写时,通讯线上传输的不是存储数据而是其转换后的密文。这就能有效地保证数据通讯的安全。(4)COS的应用管理CPU卡COS的应用管理功能是对读写器发来的命令进行判断,译码和处理。CPU卡的各种应用以专有文件形式存在卡上,各专有文件则是由CPU卡的指令系统中指令排列所组成的。(5)COS的文件管理COS中的文件,是指关于数据单元或卡中记录的有组织的集合。COS通过给每种应用建立一个对应文件的方法来实现它对各个应用的存储及管理。因此,COS的应用文件中存储的都是与应用程序有关的各种数据或记录。在COS中,所有的文件都有一个唯一的文件标识符(Fileldentifier),因此通过文件标识符就可以直接查找所需的文件。此外,每个文件还可以有一个文件名作为助记符,它与文件标识符的不同之处在于它是可以重复的。①文件系统:COS的文件按照其所处的逻辑层次可以分为三类;主控文件(MF),专用文件(DF)以及基本文件(EF)(如下图)A.主控文件(MasterFile,MF):主控文件是整个文件系统的根(可看做根目录),每张卡有且只有一个主控文件。它是在卡的个人化过程中首先被-6-建立起来的,在卡的整个生命周期内一直存在并保持有效,可存储卡的公共数据信息并为各种应用服务。由个人化建立起来的主控文件包括文件控制参数以及文件安全属性等信息。在物理上,主控文件占有的存储空间包括MF文件头的大小以及MF所管理的EF和DF的存储空间。B.专用文件(DedicatedFile,DF):在MF下针对不同的应用建立起来的一种文件,是位于MF之下的含有EF的一种文件结构(可看做文件目录),它存储了某个应用的全部数据以及与应用操作相关的安全数据。DF由创立文件命令建立。它的大小在建立后被确定,此后不能更改。对DF的建立操作由MF的安全属性控制。在DF下面不可再建立子DF,只能建立EF。为了保证各个DF的相互独立,只能从文件系统的MF层次选择一个DF,对DF下的数据进行的操作由各当前系统的状态机控制。C.基本文件(ElementaryFile,EF)基本文件存储了各种应用的数据和管理信息,它存在于MF和DF下。EF从存储内容上分为两类:安全基本文件和工作基本文件。安全基本文件(SecretElementaryFile,SEF)的内容包含用于用户识别和与加密有关的保密数据(个人识别码、密钥等),卡将利用这些数据进行安全管理。SEF要在MF或DF建立后,才能建立。建立后每个KEY都可以定义不同的修改权限。安全基本文件的内容不可被读出,但可使用专门的指令来写入和修改。在MF和每个DF下只能建立1个安全基本文件,但每个文件中的KEY和PIN的类型由用户指定。工作基本文件(WorkingElementaryFile,WEF)包含了应用的实际数据,-7-其内容不被卡解释。在符合WEF的读、修改安全属性时,可对其内容进行读取、修改。工作文件的个数和大小受到MF或DF所拥有空间的限制。整个文件系统的空间在MF、DF和EF建立时被分配和确定,以后在物理上不会发生变化。可以从文件系统的任何位置选择MF。COS文件有四种逻辑结构:透明结构,线性定长结构,线性变长结构,定长循环结构。无论采取的是什么样的逻辑结构,COS中的文件在CPU卡的存储器中都是物理上连续存放的。卡中数据的存取方式、记录的编号方法、数据单元的大小等作为文件系统的特征,在智能卡的复位应答过程中由卡给出。②文件访问安全:对文件数据的操作和管理将按照如下的规则:A.对某个文件做操作之前,必须先选择该文件。B.操作系统在选择文件系统的三层结构时不支持以路径方式选择文件,所以在选择某个文件前必须先选择它的上一层文件,不允许跨层选择。例如当访问某个EF时,必须先选择相应的MF或DF。卡片上电后自动选择主控文件。C.访问文件中的数据要受文件的安全属性的控制。D.对文件的建立要受该文件所属的上层文件的安全属性的控制