BeyondExcellence智能卡基础知识培训软件室2007年6月6日概述目前,应用于信息处理的卡片主要分为非半导体卡和半导体卡两大类。非半导体卡主要有磁条卡、条码卡、凸字卡半导体卡主要是IC卡,分为有触点卡和无触点卡。有触点卡分为存储IC(IntergratedCircuit)卡、逻辑加密卡和带CPU的存储卡(智能卡、CPU卡);无触点卡主要是射频卡磁条卡磁条卡的结构主要由塑料卡片和贴在其上的磁条组成,磁条上有三条存储信息的磁道,ISO对此有明确的规范,从卡的尺寸,物理特性,凸印字符等到磁条的尺寸,位置,读写性能以及各磁道的数据格式等。目前使用在金融等多种领域。优点:成本低缺点:存储容量低安全性低凸字卡优点:制作简单、成本低缺点:易仿造、安全性差应用领域:银行、商场、酒店等,用做标识身份、有效期。条码卡优点:成本低缺点:易仿造、安全性差应用领域:商场、书店等。接触式IC卡通过和读卡器触点直接接触获取电压并进行通讯。优点:存储容量大、安全性高、读写终端设备造价便宜缺点:刷卡速度慢非接触式IC卡非接触式IC卡又称射频卡优点:1.可靠性高,无机械接触;2.操作方便,快捷,使用时没有方向性;3.安全和保密性能好;4.可多卡操作,具有快速防冲突机制;5.适合多种应用。缺点:抗干扰能力差双界面IC卡双界面CPU卡是基于单芯片的、集接触式与非接触式接口为一体的智能卡。这两种接口共享同一个微处理器、操作系统和EEPROM。卡片包括一个微处理器芯片和一个与微处理器相连的天线线圈,由读写器产生的电磁场提供能量,通过射频方式实现能量供应和数据传输。混合卡由两种以上不同类型的卡混合使用,支持多种读写终端,适合有多种要求的场合;这种类型的卡多为过渡型卡。超级智能卡在卡上具有MPU和存储器并装有键盘、液晶显示器和电源,有的卡上还具有指纹识别装置等。特点:核心和CPU卡类似,主要增加的是外围的辅助单元,主要用于高端应用。智能卡起源1970年,法国人罗兰德·莫瑞诺(RolandMoreno)第一次将可进行编程设置的IC(IntegratedCircuit)芯片放于卡片中,使卡片具有更多的功能。当时他在专利申请书中,对这项发明作了如下阐述:卡片上具有可进行自我保护的存储器。这样就诞生了世界上第一张IC卡。1976年,法国BULL公司研制了世界第一张由双晶片组成的智能卡。智能卡名称自IC卡出现以后,国际上对它有多种叫法。英文名称有“SmartCard”、“ICCard”等;在亚洲特别是港、台地区,则多称为“聪明卡”、“智慧卡”及“智能卡”等;而在国内,人们一般称之为“IC卡”或“智能卡”智能卡将具有存储、加密及数据处理能力的集成电路芯片镶嵌于塑料基片中,涉及到微电子技术、计算机技术和信息安全技术等,作为一种成熟的高技术产品,智能卡提高了人们生活和工作的现代化程度,已成为一个国家科技发展水平的标志之一。智能卡定义什么是智能卡?目前业界人士尚无统一、全面的定义,以下内容综述了常见于各种资料上的智能卡定义。1)外形和信用卡一样,但卡上含有一个符合国际标准化组织(ISO)有关标准的集成电路芯片(IC)。2)由一个或多个集成电路芯片组成,并封装成便于人们携带的卡片;具有暂时或永久性的数据存储能力,其内容可供外部读取或供内部处理、判断;具有逻辑和数学运算处理能力,用于识别和响应外部提供的信息和芯片本身的处理需求。3)IC卡就是集成电路卡。它是一种随着半导体技术的发展和社会对信息安全性等要求的日益提高而应运而生的,具有微处理器及大容量存储器等的集成电路芯片且嵌装于塑料等基片上制成的卡片。它的外形与普通磁卡做成的信用卡十分相似,只是略厚一些。智能卡规范国际标准组织(ISO)对IC卡的简单定义如下:一张镶嵌集成电路芯片的信用卡大小的塑胶卡片,并对于IC卡的物理和电器指标以及应用标准做出较详尽的规定(见ISO7816)。集成电路芯片智能卡芯片主要生产厂商国际智能卡芯片主要生产厂商欧洲:Philips、Siemens、SGS等;美国:TI、Catalyst、MOTOROLA、ATMEL等;日本:NEC、OKI、Toshiba、Hitachi等;韩国:SAMSUNG等;国内智能卡芯片主要生产厂商上海:华虹、华源、贝岭、复旦微电子等;北京:华大、大唐电信、清华微电子等。智能卡分类(一)根据卡中所镶嵌的集成电路不同分类:存储器卡存储器卡在技术上可以分成两类,分别是普通存储器卡和逻辑加密存储器卡。普通存储器作为普通存储器卡的卡芯芯片只含有数据存储器,通常简称为“存储卡”;适用于对安全性要求不高的系统。逻辑加密卡逻辑加密存储器卡采用带有安全逻辑的芯片作为卡芯,可对数据存取用密码保护,通常简称为“加密卡”。适用于对安全性有一定要求、单一应用的系统。CPU卡CPU卡的集成电路芯片是一个MCU(微控制单元)。在单元里有ROM(用于存储指令代码)、RAM(随机存储器)、EEPROM(作为用户数据存储)和CPU(中央处理器)。对CPU卡内的信息流进行控制和处理则由CPU卡的操作系统COS来完成。智能卡分类(二)根据卡上数据的读写方法不同分类接触型IC卡:通过和读卡器触点直接接触获取电压进行通讯优点:可靠性高缺点:刷卡速度慢、与机械接触,有磨损、适合读写操作复杂的场合非接触型IC卡:通过RF收发电路进行通讯优点:可靠性高、加密性能好、应用范围广、操作方便、无磨损、寿命长缺点:抗干扰能力差、适合刷卡速度快的场合双界面IC卡优点:拥有接触型IC卡和非接触型IC卡的优点、适合各种场合混合卡优点:支持多种读写终端、适合有多种要求的场合智能卡优缺点(一)IC卡和其它卡的比较(1)存储容量大:其内部有RAM、ROM、EEPROM等存储器,容量可以达到几兆位,可存储文字、声音、图形、图象等信息。(2)抗干扰能力强,数据保存时间长。(3)安全性高:IC卡从硬件和软件等几个方面实施其安全策略,可以控制卡内不同区域的存取特性。加密IC卡本身具有安全密码,如果试图非法对之进行数据存取则卡片自毁,不可再进行读写。(4)对网络要求不高:IC卡的安全可靠性使其在应用环境中对计算机网络的实时性、敏感性要求降低,十分符合当前国情,有利于在网络质量不高的环境中应用。智能卡优缺点(二)IC卡和磁卡比较(1)安全性高;(2)IC卡的存储容量大,便于应用,方便保管。(3)IC卡的防磁、防一定强度的静电,抗干扰能力强,可靠性比磁卡高,一般可重复读写10万次以上,使用寿命长。(4)IC卡的读写设备比磁卡的读写设备简单可靠、造价便宜、容易推广、维护方便。IC卡应用领域金融:借记卡、信用卡、贷记卡、银行IC卡、证券交易卡、联名卡电信:SIM卡、UIM卡、电话IC卡政府:工商卡、税务卡、政府雇员卡、组织机构代码卡等交通:公交IC卡、旅游IC卡、旅客卡等加油卡:中石化加油卡、中石油加油卡医疗及其他:城市一卡、校园卡一卡通、身份识别卡等智能卡结构CPU卡的集成电路芯片是一个MCU(微控制单元)ROM(用于存储指令代码)RAM(随机存储器)EEPROM(作为用户数据存储)CPU(中央处理器)COS:芯片操作系统COS--ChipOperatingSystem智能卡芯片的逻辑结构I/O:输入输出接口MPU:微控制器CAU:加密运算协处理器EEPROM:电擦除储存器ROM:只读储存器RAM:随机储存器SL:安全逻辑(8位微处理器,16位的地址总线)I/OMPUCAUEEPROMROMRAMSL智能卡芯片触点的分配C1:智能卡工作电源VCCC2:复位信号RSTC3:时钟信号CLKC4:保留C5:地GNDC6:编程电压VPPC7:数据I/O接口C8:保留智能卡操作系统COS(ChipOperationSystem)功能:1、IC卡的上电复位2、芯片底层硬件的驱动3、卡片对外接口交互4、卡内内存空间的维护5、卡内文件系统的维护6、系统运行安全的控制(COS的核心)(1)对卡内数据的安全保障能力(2)对外提供的安全定义7、命令的处理8、应用代码的执行智能卡操作系统层次结构典型的COS层次结构原则:将应用代码从COS主体中独立出来,提供统一的接口进行管理;将和COS底层硬件相关的操作独立出来,便于上层的复用和移植;整个系统通过监控的主流程进行统一的调度管理。层次与层次之间通过服务的方式进行调度,内部实现透明化。应用服务接口系统调度高级系统服务基本系统服务高低基本系统服务基本系统服务和芯片紧密结合,在功能上相当于芯片的使用封装。1、IO模块:参照ISO7816-3、ISO14443的定义,实现卡片对外的物理层连接。2、硬件控制模块:提供了芯片资源的硬件控制服务,例如时钟控制、硬件安全访问、中断控制等3、存储器访问控制模块:提供统一的内存访问接口,包括对系统RAM区、EEPROM区的访问。4、数据安全存储模块:提供了对EEPROM的安全存取控制,主要是数据安全写操作。5、随机数发生器:提供硬件随机数的获取6、加密算法服务模块:实现各种内置的加密算法及服务高级系统服务数据传输控制模块:提供传输层控制1、虚拟通道子层:提供输入输出的虚拟通道服务,包括动态维护输入输出缓冲区、接收拼装命令报文,发送结构报文等。2、应用协议:实现对应用层协议的控制安全服务1、安全策略2、安全机制文件系统:负责文件系统的存储,包括文件类型和格式的解释、文件的基本读写等系统调度系统调度是整个系统的主框架,COS本质上是一个监控程序,该模块便是这一监控程序的主流程,它负责调度系统中的各种硬件和软件资源来完成特定的功能和任务。实际上,整个系统就是通过这一模块有机地结合在一起形成一个完整体系的。应用服务接口应用服务接口是应用在卡内的代码实现1、卡片基本命令模块:实现命令处理2、应用处理模块:包含与某一特定应用相关的所有命令实现。3、其他应用控制:为便于系统的扩充,提高系统的灵活性和适应性,COS根据情况还可以提供诸如应用代码动态下载的功能等。智能卡操作系统发展和现状现状:汇编语言、C语言发展:1、JavaCard:将Java虚拟机移植到IC卡芯片中。2、微软智能卡视窗WindowsForSmartCard智能卡操作系统应用分类电信COS金融COS社保COS税控COS……COS装载方式COS的装载方式有两种:用掩膜(Mask)方式将COS装入CPU卡内的只读存储器(ROM),通常成为硬掩模;由于COS在芯片生产后不能再进行修改,安全性比较有保障。用COS开发工具将COS下载至CPU卡内的Flash或EEPROM存储器,通常成为软掩模。可以在芯片生产之后进行修改,所以称为“软掩膜”,其在安全性上存在在被非法篡改的安全隐患,一般在调试或测试时使用。智能卡文件系统文件类型(TypeofFile)MFMF是根目录,是整个文件系统的根,同属应用环境类。MF下可以有EF(基本文件)、SF(安全文件)、DDF(目录文件)、ADF(应用文件);可从任何应用内进入根目录MF。DDF基本目录文件,用于定义一个应用环境,它是应用的集合。DDF下可以有ADF、子DDF、EF等结构。ADF应用目录文件,用于定义具体应用。ADF下只能有EF。智能卡基本文件类型文件结构(Structureoffile)透明(transparent)文件(二进制文件)文件数据是通过连续空间中的字节地址进行存取。记录(record)文件线性定长记录文件:同一文件内的所有记录都是等长度的。线性变长记录文件:同一文件内的每个记录的长度可以不相等。支持TLV和V两种记录格式。循环定长记录文件:同一文件内的所有记录都是等长度的。支持对文件中的记录循环存取。智能卡文件系统常用架构(1)多应用平衡架构MFDDF1DDF2DDF3ADF2ADF1ADF1ADF2ADF1智能卡文件系统常用架构(2)多应用主次架构MFADF1ADF2DDF2DDF3ADF1ADF2ADF1智能卡文件