IC卡应用技术介绍 .doc

上传人:飞****2 文档编号:82417168 上传时间:2023-03-25 格式:DOC 页数:16 大小:51KB
返回 下载 相关 举报
IC卡应用技术介绍 .doc_第1页
第1页 / 共16页
IC卡应用技术介绍 .doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《IC卡应用技术介绍 .doc》由会员分享,可在线阅读,更多相关《IC卡应用技术介绍 .doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、IC卡技术及其应用介绍 IC(Integrated Circuit),中文意思为集成电路。顾名思义,IC卡也就是在卡上放有集成电路,通常也称IC卡为智能卡、聪明卡。IC卡是通过IC存储数据实现和数 据交换。我们知道条码卡是在卡上印刷有条码,通过条码技术实现识别卡的功能。印刷的条码易复制和损坏。磁卡是通过磁条存储信息,在一些环境下,磁条易失去 磁性,而且相比IC卡磁卡易复制。按IC卡中所镶嵌的集成电路类型的不同可分为:存储器卡、逻辑加密卡、智能卡。按与外界传送数据的形式可分为:接触式 IC卡和非接触式IC卡(射频卡或感应卡)。对接触式IC卡必须符合ISO7816标准,对非接触式IC卡,国际标准化

2、组织(ISO)与国际电子技术委员 会(IEC)增加了ISO/IEC14443标准。完整的ISO/IEC14443标准尚在制定中,但是对调制/编码方法已有严格的规定,即以 PHILIPS公司为主的A型标准和以MOTOROLA公司为主的B型标准。 接触式IC卡是通过触点的连接进行数据传递的,触点通讯是否可靠直接影响数据传递的可靠性。因此接触式IC卡不适合在潮湿、颤动、烟尘、快速和使用频率高 的应用领域使用。非接触式IC卡的数据传递是通过无线电波的藕合进行的,没有机械触点的摩擦接触,因此在使用环境和耐用度上优于接触式IC卡。这些特性也 决定了接触式IC卡和非接触式IC卡的应用范围。 非接触式IC卡正

3、在成为发展的主流,而一卡多用则是发展方向。从技术上看,存储器IC卡正逐步向CPUIC卡发展。到1998年底,全国发行的IC卡 90%以上还是存储器IC,但随着应用要求的提高,电子技术的发展,CPUIC卡价格的下降,CPUIC卡的整体需求量呈快速上升的趋势;另一个特点是非 接触式IC卡的应用将大幅度增加;在多用途方面,综合了接触和非接触技术的复合卡也已问世,为客户不同的需求提供了灵合的选择余地。 IC卡进入我国的时间较晚,在国家“金卡工程”的大力推动下,发展十分迅速。IC卡的应用由银行卡起步,而非银行卡的应用后来居上,远远超过了银行卡的发 展速度和规模。其中,发展最快的是各类行业性IC卡,如电信

4、领域的公用电话IC卡和移动通信SIM卡、石化领域的加油卡、劳动和社会保障部门的社会保障 卡、建设部门的城市公用事业卡、工商行政管理部门的工商企业卡、税务部门的税务卡、技术监督部门的组织机构代码卡等。 很多行业性IC卡的应用已制定了统一的行业标准。另外,由各地方、各单位发行的IC卡,如校园卡、单位员工管理卡、食堂用餐卡、门禁卡、优惠卡等各种IC 卡的应用发卡数量也相当可观。据不完全统计,仅2000年一年我国发行使用各类IC卡约2.3亿张。其中电话卡占了很大一部分,特别是公用电话IC卡达到 1.2亿张,SIM卡达到4200万张,其他各类IC卡约有6000多万张。 非接触IC卡是国外今后IC卡技术的

5、发展趋势,载波频率为:125KHz,13.56MHz, 915MHz和2.45GHz等,433MHz频段也已开放给民品。基于我公司技术特点,我公司现在定位于非接触式IC卡技术的应用服务和产品的提供商。 预计未来将替代条码的电子标签技术实质也是IC卡技术。只是用感应卡做商品识别用。我国的第二代身份证,用非接触式IC卡的TYPE B标准。一:IC卡的种类和特性 随着我国市场经济的发展和金融现代化,现金和各种证件正逐渐被各种卡片所取代。其中IC卡是卡片家庭中出现最晚,但却是最有前途的一种,最终它将取代现在 广泛使用的光电卡、条码卡、磁卡的地位而成为主流。我们知道:IC卡又叫智能卡,它是将大规模集成电

6、路(IC)封装在卡片中,卡片上印有说明文字和图像。 由于其内部具有现代高科技产品集成电路,因此,不但可以存储大量信息,具有极强的保密性能,并且抗干扰、无磨损、寿命长。因此在广泛的领域中得到应用。 根据IC卡的应用领域,可以分为金融卡和非金融卡两大类。金融卡又可以分为信用卡和现金卡两种。金融卡是我国大力建设的金卡工程的主要媒体。其中,信用卡 由银行发行和管理,持卡人必须在银行有帐号、有存款。持卡人可以用信用卡作为消费时的支付工具,可以使用存款,必要时也允许透支限额内的资金。由于IC卡 上记录了持卡人主要信息,故不一定要求消费场所与银行联网。比起磁卡等仅记录少量数据的卡型,具有极大的灵活性和可靠性

7、。而现金卡是持卡人以现金购买的电 子货币。可以多次使用,自动计费。使用方便,但不允许透支。如水电费的交费卡、煤气费卡、就餐卡、医疗卡等。在卡上金额少于一定限额时,要重新交费才可继 续使用。IC卡在此领域应用,主要是由于其优良的保密性,可以防止伪造和窃用。非金融卡主要是作为电子证件,用来记录持卡人的各方面信息,作为身份识别。 如IC卡身份证、进门证、考勤卡、医疗证、住宿证等。由于IC卡可以记录大量信息,并且可以分区存款,因此可以做到一卡多用,简化验证的手续。从IC卡的 读写方法上来分类:有接触型和非接触型两种。两种卡的集成电路均密封在塑料卡基片内部,可防水,防尘,防磁。但接触型IC卡的表面可以看

8、到一个方型镀金接 口,共有八个或六个镀金触点,用于与读写器接触,通过电流信号完成读写。持卡人刷卡时,须将IC卡手稿读写器,读写完毕,读写器可自动弹出,或由持卡人抽 出卡片。因此这种IC卡刷卡慢,但可靠性高,多用于存储信息量大,读写操作复杂的场合。非接触型IC卡卡上设有射频信号接收器或红外线收发器,在一定距离 内即可收发读写器的信号,实现非接触读写。这种IC卡常用于身份验证,电子门禁等场合。卡上记录信息简单,读写要求不高,卡型变化也较大,可以作成徽章等 形式。根据IC卡内部结构可以分为以下三类: 1. 存储卡: 这种IC 卡内封装的集成电路一般为电可擦除的可编程只读存储器EEPROM.这种器件的

9、特点是:存储数据量大,容量为几KB到几十KB.信息可以长期保存,也可以 在读写器中擦除和改写.读写速度快,操作简单.卡上数据的保护主要依赖于读写器中的软件口令以及向卡上加密写入信息,软件读出时破译.因此这种IC卡安全 性稍差.但这种IC卡结构简单,使用方便,成本低,与磁卡相比又有存储容量大, 信息在卡上存储,不需读写器联网的特点,因此也得到广泛的应用. 主要用于安全性要求不高的场合,如电话卡,水电费卡,医疗卡等. 2.逻辑加密卡:这种IC卡中除了封装了上述EEPROM存储器外,还专设有逻辑加密电路,提供了硬件加密手段.因此不但存储量大,而且安全性强,不但可 保证卡上存储数据读写安全, 而且能进

10、行用户身份的认证. 由于密码不是在读写器软件中而是存储于IC卡上,所以几乎没有破密的可能性.例如:美国ATMEL1604逻辑加密卡, 卡上设有三级保密功能.总密码用于身份的认证,非法用户三次密码核对错误即可使卡报废. 四个数据存储区可分别存储不同信息,又各和独立的读写密码.可以做到一卡多用, 在不同读写器件中核实相应密码进行某一业务操作,不会影响其它存储区.卡上信息不能随意改写,改写前需先擦除,而擦除需核对擦除需要核对擦除密码. 这样即使是持卡人自己也不能随意更改卡上数据.因此这种逻辑加密卡保密性极强,能自动识别读写器,持卡人和控制操作类型,常用于安全性要求高的场合. 3.CPU卡:这是真正的

11、卡上单片机系统,IC卡片内集成了中央处理器CPU, 程序存储器ROM, 数据存储器EEPROM 和RAM, 一般ROM 中还配有卡上操作系统软件COS(Chip operating system).IC卡上的微处理器可以执行COS监控程序,接收从读写器送来的命令和数据, 分析命令后控制对存储器的访问.由于这种卡具有智能,读写器对卡的操作要经过卡上COS,所以保密性更强.而且微处理器具有数据加工和处理的能力,可以对 读写数据进行逻辑和算术运算,能力很强.这种IC卡存储的数据对外相当于一个-黑盒子-, 保密性极强.目前IC卡上用的微处理器一般为8位CPU,存储容量几十KB上下. 此种智能卡常用于重

12、要场合,作为证件和信用卡.二:典型的IC卡应用系统 IC卡由于其高存储量和高保密性,应用领域十分广泛,除覆盖了传统磁卡的全部功能外,还拓展到许多磁卡不能胜任的领域.那么,一个典型的IC 卡应用系统是怎样组成和工作的呢?一张IC卡从制造到销毁的整个过程为IC卡的生命周期.IC 卡的生命周期可以分为四个阶段. 1) 制造阶段:由IC卡生产企业完成,包括制造集成电路芯片, 将芯片封装到塑料卡基中,装上引出脚.卡片外可印刷图案和说明文字, 对于证件卡还可以负责制持卡人照片.IC卡出厂前还需在芯片中写入生产厂商代码,以便标识不同厂家. 对于远程定货的发行商客户,IC卡中还可写入运输密码,在发行商收到后,

13、核实解密才可使用.此举可防止其他人非法截取空白卡,给发行商造成损失. 2)个人化阶段:所谓个人化是指IC卡发行商在卡上写入信息,然后发给持卡人的过程.写入的信息包括:具体应用系统中使用的数据,如银行卡上的帐号和存储 余额;证件卡上持卡人基本情况等.此外为数据安全所需,还要写入行商代码, 以便与其它应用系统区别,防止持卡人自行修改卡上数据.还需写入持卡人的个人用户密码, 此密码由持卡人保留,每次IC卡读写时由用户核实.从而IC卡即使丢失, 也不会给使用者造成损失. 3)使用阶段:IC卡个人化后,持卡人可在整个应用系统中的各个终端读写器对IC卡进行读写,即交费和花费卡上存款.使用时需进行身分核实,

14、即键入用户密 码.同时, 应用系统还自动核实IC卡上的发行商代码和系统擦除和写入密码. 这些密码保存在系统数据库中,只有核实正确才能对IC卡进行读写操作. 4)销毁阶段:对于卡片损坏,过期,持卡人变动等情况,应收回,销毁或另发新卡.持卡人若丢失IC卡,也需补发.以上情况都需核实和修改系统数据库内数据.根据以上分析,一个IC卡应用系统的组织结构大致分为以下步骤: 发卡终端(机构)-数据库-读卡终端(脱机或联机) 如上所示,IC卡生产企业成批提供空白卡,并且根据发行者的要求写入发行商代码.作为IC卡应用系统的开发者相当于发行商的角色,需向生产企业订购适用型 号的IC卡和读写器.为此应向生产商提供I

15、C卡规格,印刷文字格式,图案和照片,由生产企业按要求制作.目前国内有几十家IC卡生产厂商,年产量达上亿 张,IC 卡型号也有几十种,包括存储卡,逻辑加密卡和CPU卡等.各种卡结构相差很大,性能和用途各异,开发者一定要根据应用目标仔细选择和定货. 开发者需要设计并建立IC卡应用系统的中心数据库, 库中保存系统数据及各持卡人的专用数据,这是任一卡基本应用系统必备的.发卡收费站负责发行新卡, 包括按规定格式,对新卡作初始化,分区及写入分区密码,写入原始数据.此站也常用于旧卡添加数据和收费.发卡收费站与中心数据库联结,写卡时同时更新中心 数据库. 结算和挂失工作站则用于对日常业务进行结算.同时可以处理

16、IC卡挂失,重失和销毁报废工作.显然也必须与中心库连接,对库中数据进行更新. 系统中最多的是联机工作站和脱机工作站,也就是IC卡用户经常使用的IC 卡读写器,例如在银行的金融服务系统中的ATM机(自动柜员机), 在商业信用卡系统中的POS机(售货收款机).IC卡与磁卡不同, 工作站既可以采用联机方式也可以采用脱机方式工作,这就大大扩大IC卡的应用范围.联机工作站与中心数据库联网到少需要一台微机,用户刷卡时,可随时与中 心交换数据.脱机工作站则是简单的读卡机,可以独立工作,刷卡时把数据记录在IC卡上.读写器上也可以记录必要数据,用专用IC 卡收集后,再通过联机工作站输入数据库. 根据IC卡应用系

17、统的这种典型结构,开发者的主要工作包括: (1) 设计和构造应用系统中心数据库,对应用IC卡管理的数据进行分类存储和管理.由于数据库一般建立在小型机或微机网络服务器上,一般在相应环境中开发设计. (2)对IC 卡上数据的存储格式,读写方式,加密和安全保护方式进行规划和设计.这些可借助IC 卡读写器和微机的开发系统来完成. (3)构造IC卡应用环境,建立网络和读写工作站.作为IC卡系统中的发卡站和结算站,可以采用带联机读写器的小型机或微机.系统设计环境可以是 WINDOWS下的VB,FOXPOR,ACCESS等软件,一般利用读写器厂家提供的接口函数与数据库软件接口.用户刷卡使用的工作站可以采用P

18、C机加 联机读写器组成,需进行用户界面设计,能够提供较友好的用户界面.也可以使用便携式的脱机工作站, 一般由单片机系统组成,带有液晶显示器和小型键盘.这种读写器的用户接口软件, 也需在专用的单片机系统中开发. 因此,一个IC卡应用系统的设计工作除了包括各站点的硬件配置,系统联网, 系统数据库构建和管理软件编程,各工作站用户接口软件的编程,以及IC卡上数据规划与初始分区和数据写入.下一讲我们将讨论常见的IC卡开发环境的组成和使用方法.三:IC卡开发和制作环境 IC卡是携带应用信息和数据的媒体,空白IC卡是不能立即使用的,必须对IC卡应用系统进行个人化,写入系统IC卡和个人密码,个人专用信息和应用

19、数据. 这就要在银行登记购买金融卡,输入个人密码,姓名等标识,交费并记帐.在IC卡使用过程中也需要核对密码,多次读出和修改卡上数据.如在商场交费时刷卡结 帐,在ATM自动取款机取现金等.这些操作都需要一个使用环境,需要专用的IC卡读写器等硬件, 也需要应用系统开发的软件. 一.IC卡读写设备 IC卡读写设备大致可分为两大类:一类为专用读写设备或称脱机读写器.其特点是:充分利用IC卡存储量大,可以独立存储和工作, 不需要和主机相联就可完成数据读写的优点,可与应用设备结合或单独工作.例如:IC卡电表,水表,ATM机, 商场收款机.另一类为通用读写设备,或称联机读写器,是带有单片机和存储器的设备,通

20、过并行或串行口与PC机或应用系统网络相连接. 在运行不同软件时可以读写不同种类的IC卡,组成不同的应用系统.如果配备开发系统软件,可对IC卡作初始规划,数据加密和初始写入,从而构成IC卡应用 开发制作环境.在本讲中, 我们重点讨论这种通用开发系统的原理和使用方法. IC卡读写设备由IC卡卡座,单片机,数据存储器RAM,程序存储器EEPROM,接口电路和外围设备等组成.接口包括与IC卡的通讯接口和与主机的通讯接口. 读写器各部分结构与功能如下: 1.IC卡卡座 IC卡卡座是连接IC卡与读写器的.其功能包括对IC卡供电,提供读写信号和伟送数据.要求提供方便的插拔方式和可靠的接触,并带有带电插拔,过

21、流保护, 插卡检测等能力.IC卡和插座的结构尺寸必须符合国际标准化组织(ISO)7816的标准. 对触点数目,位置,信号名称和功能都有明确规定,以保证兼容性.其中:C1(VCC)为电源;C2(RST)复位信号;C3(CLK)时钟脉冲;C4(RFU) 待用; C5(GND)接地端;C6(VPP)编程电压,用于对EPROM编程;C7( I/O) 数据输入输出端; C8(RFU)待用. 有些系统中IC卡的C4和C8未用,可见卡上仅有六个触点.由于IC卡与我们常见的磁卡,条码卡的动态扫描方式(俗称-刷卡-)不同,是通过卡座触点与 IC卡上引脚接触,用电信号静态读写的,因此插拔方式应保证插拔迅速,接触可

22、靠,磨损小.目前IC 卡插拔一般有下述几种形式. (1)推入-拉出机构:卡的插拔均为手动,因此结构简单. (2)推入-推入弹出机构:插入为手动,读写后再向内推卡,卡自动弹出. (3)推入-弹出机构:手动推入,卡由机构锁定,操作后,系统自动释放,将卡弹出. (4)电动式出入卡机构:卡轻轻插入,卡由机构自动引入,读写后自动送出. 在开发一个IC卡应用系统时,应该根据应用特点来选择卡座类型.如公交售票系统中.要求以快速挺拔,而金融卡则更重视可靠性和寿命. 2.单片机和存储器 读写器中配备单片机和ROM,RAM存储器,构成微机系统,单片机运行ROM中固化的软件,执行与IC卡和上位PC机的通迅规程.控制

23、对IC卡的读写,完 成IC 卡与主机间数据的格式转换.如果卡上数据加密加密存储,读写时要执行解密操作.密码,密钥和处理中间结果等参数保存在RAM中.对数据全部加密时,为减轻 单片机负担,提高读写速度,常配有硬件密文转换和单元. 3.接口电路和外围设备 专用型和通用型读写器的接口和外围设备有所不同. 由于专用读写器脱机工作, 一般直接配备小型外围设备. 如LCD 液晶显示器或LED发光二极管显示器,用于系统状态监测和输入输出数据显示.配小型16键或24 键键盘,用于数据和密码输入.有些带打印机接口,可外接微型或小型打印机.例如收款机,ATM机可自动打印发货票和清单.由于用于不同领域,专用机外型,

24、 体积,功能和操作方式相差很大,对外接口也多为专用接口. 通用读写器一般与PC机或网络联机工作, 常用标准并行或串行口与上位机连接和通讯.常用的是带有25芯或9芯插口的RS232- C 型串行接口, 可直接接到PC 机的COM1或COM2上.此时,可利用主机的显示器作监视器,主机键盘作控制和输入,利用主机打印机输出.此时主机与读写器组成了IC卡应用与开发系 统,操作与一般微机相仿,但用户界面将随所配软件而有很大不同. 二.IC卡开发软件及其使用 PC机配备通用读卡器后,可以对多种IC 卡进行开发和使用. 至于系统功能则要由PC机中运行的软件决定.运行已开发好的应用软件,就组成相应的IC卡开发系

25、统. 在这一环境中,既可以对应用系统中的IC卡进行规划设计,完成卡的个人化进程, 也可用于开发应用管理程序,如医疗数据库系统.下面以一种常见的IC卡开发系统明华IC卡读写系统为例,说明开发软件的功能和使用方法.该软件由深圳 明华公司随读写器一起提供.主要包括一个菜单式IC 卡读写程序, 以及一组可由高级语言调用的IC卡读写函数. 软件安装方法如下: 将系统软盘插入驱动器A:或B:中,键入INSTALL X:然后回车(X:为软件安装的目标路径,一般为C:).此时安装软件运行,并自动在X:盘根目录下建立MWICDEMO 子目录,运行DEMO.EXE文件即可进入IC卡开发系统主菜单窗口,DEMO程序

26、运行中会自动识别与读写器连接的串行口,自动识别读写器中的IC 卡型号,相应参数显示在屏幕上.然后程序检测IC卡,若卡参数正常,则光亮条定于读卡操作项上,回车即可读卡. 各行菜单列出了读写器软件基本功能,用鼠标加以选择, 单击即可产生下拉菜单或直接执行相应功能.主要功能解释如下: 卡型选择:通用读写器适于多种卡型.选中此功能产生下拉菜单, 可执行自动检测卡型,IC卡自动弹出及手动选择卡型三个子功能.本读写器适用于美国ATMEL 公司的AT系列和德国西门子公司的SEL系列各种IC卡读写. 选通迅口:根据选择的卡型,可将IC卡上可读数据读出, 并以十六进制形式显示在屏幕上. 多存储区的卡上, 不同区

27、内容以不同颜色显示. 加密区密码和数据显示FFH,表示不能读出. 擦除操作:在改写卡上数据时,需先将待写区域内容擦除. 选中此功能可以输入擦除密码,核对正确,即可擦除指定存储区数据. 写卡操作:选中此功能,移动插入点到写入位置,键入写入数据后,按F5键, 即可写入.对写保护数据,用空格键切换,决定是否写入写保护位. 键可退出写入操作. 核对密码:对加有密码保护的IC卡,输入密码后,屏幕中显示错误计数的当前值,右下方显示输入密码是否正确.密码输入出错一次,次数减1, 计数值为零则此卡作废. 熔断操作:用于熔断带熔丝的IC卡上的熔丝.熔断前表示该卡未个人化, 卡上发行商密码可读,可改写,即可用于不

28、同系统.熔断后密码不可改写,不可读出, 表示已个人化. 利用上述功能,我们可以对多种类型的IC存储卡,逻辑加密卡, 多分区卡进行分区,数据规划,加密,可读出,写入,修改卡上数据了.当然, 这时仅举一种开发软件及读写器实例.其它读写器和软件功能虽有差异,但基本功能和操作方法是大同小异的.可参考相应使用手册. 除此之外,在一个实际的IC卡应用系统中,上述功能应包含在应用软件中. 即软件程序员应该能在应用程序中使用高级语言对IC卡进行上述操作. 实现方法是: 在IC卡开发系统中提供了适于不同语言的调用函数, 用户可以在用户程序中通过函数调用来实现对IC卡操作的各种功能. 常见的函数有适于FOXPRO

29、 FOR DOS, FOXPROFOR WINDOWS,适用于VB和VC的等. 在IC卡应用系统中,IC 卡上数据常需与管理系统中的数据库进行数据交换. 用IC卡上数据更新数据库内容,或以数据库内容修改卡上数据.因此开发一个IC卡应用系统,除了要对IC卡作规划,进行初始数据写入,还需设计应用系统的 程序和数据库,即要构造上述一些高级语言程序开发环境. 综上所述,开发一个IC卡应用系统所需要的软硬件环境包括:PC机或局域网络工作站,连接通用IC卡读写器;与读写器配套的IC卡读写控制软件, 设计应用程序的高级程序开发环境.有了这些条件,下一讲我们将讨论IC卡数据存储结构和对IC卡编程使用的方法四:

30、IC卡的编程和使用 IC卡与其它卡片的区别主要是:IC 卡能在卡上存储器中安全可靠地存储大量有用信息,并且可以对数据提供多级安全保密措施.因此,为设计一个好的IC 卡应用系统,必须了解IC卡的数据结构特点.掌握IC卡的编程和读写方法. 从使用角度来看,不管是普通存储卡,逻辑加密卡,或智能CPU卡,卡上必定有:用于与其它应用系统相区别的发行商代码, 用于与本系统中其他用户相区别的个人代码,用于控制对卡上数据修改的擦除密码,以及用于存放数据的存储区.由于IC 卡平时不与电源相接,要保证卡上存储的数据不会丢失,只能使用只读存储器即ROM 型存储器.因此卡上数据可以长期保存,一般数据可存放100年.又

31、由于IC卡上数据在使用中要经常修改,故一般应该使用电可擦除可编程只读存储器,即 EEPROM.一般IC 卡数据改写次数大于次. 目前的各种IC卡应用系统中使用的IC卡主要是逻辑加密型卡. 这种卡带有多级密码保护,比普通存储卡安全性能强得多;同时又比智能CPU卡结构简单,不需要复杂的密码计算过程,而且结构简单,编程使用方便.本讲中以 美国ATMEL公司的逻辑加密卡AT88SC1604为例,来说明对IC卡应用系统中的IC 卡发行软件和用户应用软件的编程方法,以及IC卡写入过程. 一.逻辑存储卡的数据结构和编程特性 AT88SC1604卡具有一个公用区和四个应用数据区.其数据结构如附表所示.公用区内

32、有厂商代码,发行商代码,总密码,密码计数器等等.我们可以规划 和利用这些数据区对全卡基本特性进行控制.应用区共四个,第个分区有自己的分区密码, 擦除密码,密码计数器和读写控制位,用于对本区内数据的写入,读出和修改进行控制.应用区其余部分是存储数据的存储单元.1604卡的第一分区存储容量为 9K位,其它三个分区数据存储容量为2K位.连同公用区总存储量为16K位. 厂商代码又叫制造商代码,是由IC卡制造商在卡出厂时写入.一般对某一发行商提供的一批卡提供同一代码,以便与其它厂商的卡相区别. 写入时将相应保护熔丝1熔断,此时IC卡开发者可以读出厂商代码,判断其生产厂商,但不能修改它. 发行商代码:用于

33、IC卡个人化,发卡时由系统软件写入, 用来表明此卡属于哪一应用系统.例如:工商行发行的金融IC卡写入的发行商代码,表明了所属的金融系统.此卡使用时,ATM机会自动核实这一代码.如果不 正确,说明这不是本系统的卡,不能使用.发行商代码受熔丝2控制,熔断前,此密码可修改,熔断熔丝后.此密码可读出, 可核实,但不能修改. IC卡上的熔丝是IC卡个人化标记.除控制发行商代码外,也控制整个卡上数据的读写.熔丝熔断前,卡上数据读写受总密码SC和读写控制位控制, 各分区密码不起作用,此时可用IC卡读写器对卡进行初始数据的规划和写入.熔丝熔断后, 卡发给用户个人,此时各分区数据操作不但受总密码SC控制,而且受

34、各分区密码和擦除密码和控制. 总密码SC一般用作用户密码,应通过IC卡发行软件中提供的用户环境,由用户自己设置并且写到卡上.此密码一旦写入,不可读出也不保留在系统中,只能核 对.用户在以后使用IC卡时,可能通过由应用程序提供的密码核对功能界面,由用户本人键入加以核对.密码输入正确,说明是合法用户,可以对卡上数据进行读 写.密码输入错误时,密码计数器SCAC减1.此外,在熔丝熔断之前,总密码还控制各分区密码的读写. 密码计数器SCAC用于统计用户密码核对次数.输入正确密码时,计数器清零( 即8位全置-1-).每输错一次,计数器一位变为-0-,若八次输入错误,计数器各位全变为-0-时,则此卡已作废

35、. 擦除密码控制对存储器中已写数据的擦除.由于EEPROM 在写入数据时只能写入到空白区(即各位为-1-),对已写有数据的存储区只能先探险,后写入.每次要擦除一行信息.擦除密码在卡发行时写入,由应用系统控 制,只能核实,不能读出以防止非法破坏卡上已有的数据. 各分区有自己的分区密码,以便实现一卡多用.分区密码和分区擦除密码控制本区数据的读,写,擦操作.例如用一个1604卡兼工作证,医疗证,工资卡和就餐卡.在不同场合使用此卡时读写器分别核实各分区密码,仅操作本区数据,而不影响其它分区. 二.IC卡编程和使用流程 对IC卡的读写操作主要在发卡时和用户持卡交费及持卡消费时时行. 发卡是卡片发行者根据

36、用户要求对空白卡的个人化过程. 这一过程由发卡单位的微机上运行的发卡程序执行,如银行,工厂,机关等部.这一发卡程序也需IC卡开发人员根据上述经构特点进行开发设计.用户持卡消费则 在商店POS机或银行ATM机上进行,持卡交费也需要在银行或交费处进行.这一过程是读出或修改卡上数据的过程,由IC卡用户应用程序在用户终端上完成. 此时用户需与终端进行交互式处理.这种用户应用程序也是IC卡开发人员进行设计的.下面,综合上一节讨论的IC卡存储结构特点, 说明在这两种软件中的操作过程. 1.IC卡个人化操作流程 如前所述,此流程嵌在IC卡发卡软件中执行,可完成IC卡的人人化即初始数据录入过程.首先系统核对I

37、C卡的厂商代码和卡型,正确时,在空白卡上写入发行 商代码,确定此卡为本系统有效卡.然后软件应提供交互式用户界面, 让用户从键盘输入自己的用户密码(SC).此密码不应由发行者保留和处理,而应该通过调用密码写入函数而直接写入卡上. 多分区中的分区密码也可以通过给用户提供的界面由用户直接输入.为了简化密码记忆要求,也可以采用根据统一用户密码经一定算法来分别产生分区密码并写入卡 上. 擦除密码则是在个人化时由发行商也就是系统来产生并且入卡上的,供系统使用.在上述密码写入后, 软件还应提供用户对密码核实和再次修改的机会.在确认无误后,软件发出熔断命令,熔断熔丝2,完成IC卡的个人化进程.随后系统可对IC

38、卡数据区需写入的 数据作初始写入. 2.IC卡用户应用软件流程 如前所述,此流程嵌于各IC卡读写终端的用户软件中.每次涉及对IC卡操作时执行此流程.一旦IC卡插入读写器,用户软件首先应核对厂商代码,发行商代 码,以确认此卡的合法性.在确定是本系统中的有效卡后,进入用户密码核对流程, 如果是无效卡,应报警.接着在用户密码核对界面中对持卡人的合法性进行鉴别. 要求持卡人键入用户密码,与卡上密码核对,无误后可开始对卡读写. 如有分区密码也要求用户键入核实.如果需对卡上已有数据进行修改,则应与系统中保留的探险密码进行核对. 正确时可先读出卡上数据进行修改运算,再擦除相应存储区,最后将修改后数据写回该存

39、储区.根据以上叙述,我们知道IC卡的合法性, 持卡人合法性和系统的合法性要相互确认.这些确认和对IC卡的读写操作均需调用随IC 卡读写器提供的函数库中的函数来完成. 三.IC卡应用程序编程中使用的函数 如上所述:开发IC卡应用系统的要点就是在一个数据库管理软件中,合理地嵌入和调用IC卡操作函数,来完成诸如合法性验证和IC卡读出,擦除和写入等操 作.为此,我们需要了解由读写器驱动程序包中提供的IC止操作函数库.这些函数可分为两大类:在WINDOWS应用环境中,提供了一组动态链接库函数 (.DLL文件)供各种程序调用. 在DOS 环境中, 则针对不同语言提供了各自的函数库. 这时限于篇幅仅举FOX

40、PROFOR DOS中使用的部分函数加以说明.详细资料可查看相应手册. 在FOXPRO程序执行前,执行命令:.SET LIBRARY TO MWIC.LIB 则FOXPRO会自动登录-MWIC.LIB-中的IC卡函数,以后可以像使用FOXPRO 内部函数一样在程序使用中使用其中的接口函数.而在编译用户程序为.EXE文件时,又要将-MWIC.LIB-链入即可执行.MWIC.LIB中的接口函数可分两类:通用函数:用于各种卡型的基本操作.1.MW-INITCOM() 初始化串行通迅口.2.MW-SETTYPE() 设置卡型.3.MW-READ() 读卡上的数据.4.MW-WRITE() 向卡上写入数

41、据.5.MW-ERASE() 擦除指定区域.AT88SC1604卡专用函数:仅用于这种卡型,因为不同卡型中密码的结构和位置不同.1.MW-PASS16() 检验总密码和擦除密码2.MW-CPASS16() 改变总密码和擦除密码3.MW-RDECU16() 读错误计数值4.MW-FUSE16() 烧断熔丝五:IC卡的数据安全和加密 IC卡上记录有大量重要信息,可以用于个人证件,也可以代替现金和支票进行交易购物,因此难免有不法分子实施对IC卡及其应用系统的各种各样的攻击手段. 其目的包括获取非法利益,或破坏应用系统.因此,作为IC卡应用系统开发者必须为IC 卡系统提供合理有效的安全措施,以保证IC

42、卡及其应用系统的数据安全.这些技术有: 身份鉴别和IC卡合法性确认,报文鉴别技术,数据加密通讯技术等. 这些技术采用可以保证IC卡的数据在存储和交易过程中的完整性,有效性和真实性,从而有效地防止对IC卡进行非法读写和修改. 影响IC卡及应用系统安全的主要方式有以下几种: 1.使用用户丢失或被窃的IC卡,冒充合法用户进入应用系统,获得非法利益. 2.用伪造的或空白卡非法复制数据,进入应用系统. 3.使用系统外的IC卡读写设备,对合法卡上的数据进行修改.如增加存款数额, 改变操作级别等. 4.在IC卡交易过程中,用正常卡完成身份认证后,中途变换IC卡, 从而使卡上存储的数据与系统中不一致. 5.在

43、IC卡读写操作中,对接口设备与IC卡通信时所作交换的信息流进行截听,修改,甚至插入非法信息,以获取非法利益,或破坏系统.针对以上种种不安全因素,开发者需要在几个方面来采取防护措施,以保证数据安全. IC卡安全防护的首要任务是防止对IC卡本身的攻击,这种防范措施在IC 卡制造和个人化过程中就已经开始了.在IC 卡制作和卡片表面印过程中都采用了十分复杂的防伪技术,以增加非法伪造者的难度.对厂商代码有严格保密方法,对IC 芯片加特殊保护层,可防止对存储内容用电磁技术直接分析.在IC卡发行和个人化过程中, 发行商密码,擦除密码应由系统产生,而不能为操作人员所握,防止系统内部人员犯罪. 在IC卡使用过程

44、中,要防止被非法持有人冒用.故在IC卡读写前要验证持卡人身份,即进行个人身份鉴别.IC卡上提供了用户密码(总密码),在个人化时由 用户输入,系统中不保存.在使用时,要求用户自己键入,以确认用户身份. 如果连续几次输入有误,IC卡将自行锁定,不能再使用. 这一措施可有效地防止非法持卡人用多次试探方法破译密码.在一些新型IC卡上还采用了生物鉴别技术,如使用持卡人指纹识别, 视网膜识别等.即使用户密码泄露,其他人也无法使用本人的IC卡. 对于丢失后挂失的IC卡和因特殊原因作废的IC卡, 应在系统数据库中设立所谓的-黑名单-,记录下这些卡的发行号.在有人重新使用时,系统将报警,并将卡收回.IC卡使用中

45、,也要对读写器的合法性进行鉴 别.这可以通过分区密码式擦除来实现,如果系统不能提供正确密码,IC卡内容不能读出和修改. 防止了使用非法读写设备来窃取卡上数据. 对于IC卡内部存储的数据可以采用区域保护技术,即将IC卡分为若干个存储区,每区设定不同的访问条件,如果访问符合本区条件,才充许访问,否则锁定. 例如自由访问区内允许随意读,写和修改,保护数据区内的读,擦,写受密码保护; 而保密区内存放的密码则根本不允许读,写和修改.对此区进行此类操作被视为非法入侵, 即锁定系统.这种方法可以有效地防止非法入侵者用读写器逐一探查存储器内容. 对IC卡数据安全威胁最大的不在数据静态存储时,而在对IC 卡正常

46、的读写过程中.因为用户密码,系统密码在核实时都必须通过读写器接口送入IC卡. 因此用各种技术手段,在读写过程中窃取通信数据,从而了解存储分区情况和系统密码就十分可能.便如:在一个合法IC卡输入读写器完成用户证后,读写过程中 则换上其它IC卡,从而回避了验证过程,非法读出或写入数据.这种情况可在读写器上加专门机构加以解决.即每当换卡后,都要求重新核实用户身份.而对于采 用仪器窃听通信内容,包括核实密码过程的入侵方式,则只有通过对输入输出信息采用加密技术才能有效保护.这可以利用智能IC卡(即CPU卡)的数据处理能 力,运行加密,解密算法程序,从而实现传输来解决. 对读写器与IC卡传输信息的保护有两

47、种方式. 1.认证传输方式 将在读写器与IC卡之间传送的信息加上相应加密算法及加密密钥将传送信息其中包括信息头(传输控制信息)和信息主体部分进行加密, 得到的密文附加在明文信息尾部传输给接收端,称为认证信息.接收端则对收到的信息按规定算法进行认证,认证通过则进行正常读写,否则报警. 这种方式可有效防止非法插入或删除传送数据.虽然传送以明文进行,也不会已修改而不被发现.而认证信息则是加密的,要由密码算法产生和处理.如果设计合 理,附加的认证信息除了具有认证功能外,还可以具有查错甚至纠功能. 2.加密传输方式 这种方式就是要对所有传送信息进行加密后再进行传送, 使信息本身具有保密性,不易破译.因此,即使入侵系统后取得信息,也无法利用. 通常把一个加密系统所采用的基本工作方式叫作密码体制. 一个密码体制由两个要素组成:即加密算法和密钥.加密算法是一些公式或法则, 一般由存放在计算机中的程序来执行,密钥则可以看作密码算法执行中的可选参数,没有密钥, 了解算法也无法解密.因此,密码算一般是公开的,如由IBM公司开发并被普遍采用的DES算法,它将64位明文经过密钥处理成为64位密文.还有属于非对 称密钥系统的DSA算法,这种算法中加密密钥为公开密钥,解密密钥与加密密钥不同,可有多个,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁