电动汽车充电桩计费系统的IC卡读写子系统设计.doc

上传人:本田雅阁 文档编号:2054156 上传时间:2019-02-08 格式:DOC 页数:51 大小:1.27MB
返回 下载 相关 举报
电动汽车充电桩计费系统的IC卡读写子系统设计.doc_第1页
第1页 / 共51页
电动汽车充电桩计费系统的IC卡读写子系统设计.doc_第2页
第2页 / 共51页
电动汽车充电桩计费系统的IC卡读写子系统设计.doc_第3页
第3页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电动汽车充电桩计费系统的IC卡读写子系统设计.doc》由会员分享,可在线阅读,更多相关《电动汽车充电桩计费系统的IC卡读写子系统设计.doc(51页珍藏版)》请在三一文库上搜索。

1、 武汉理工大学毕业设计(论文) 电动汽车充电桩计费系统的IC卡读写子系统设计 学院(系): 自动化学院 专业班级: 自动化专业1104班 学生姓名: 李振威 指导教师: 李道远 摘 要 电动汽车产业在国内外正处于蓬勃发展时期,因此与其配套的充电设施也受到了空前的关注。作为该产业链上的重要一环,电动汽车充电站在未来有非常大的发展前景。对于充电桩充电系统,它必须能够为电动车使用者提供安全性高、可信赖、方便快捷的充电服务。本文基于电动汽车充电站计费管理系统的需要,利用IC卡来进行读写子系统的方案设计。从实际应用的角度出发,使得设计出的IC卡读写子系统不仅方便用户进行使用,并且能与其它的充电站相适用。

2、方案不仅对IC卡读写子系统的硬件框架结构进行了详细描述,而且明确了各个部件的功能,提供了相应的IC卡读写以及计费方案。本文根据电动汽车充电桩的基本运营需要求,采用目前最流行CPU卡作为金融消费媒介。通过对充电桩系统软件和硬件的设计为消费者提供一整套刷卡充电消费服务。第一步,根据项目的应用需求对CPU卡的卡上文件系统进行设计。规划了CPU卡内部的安全体系和文件访问流程,并确定读卡器终端与卡片信息交互的方式,设计CPU卡的应用方案。第二步,系统的硬件采用ARM主控板,操作系统采用Linux嵌入式系统,在这个平台上对充电桩的IC卡应用进行方案设计,并编写充电桩刷卡消费应用程序。第三步,通过一系列的测

3、试来确保卡片能够正确识别,对用户身份进行认证,实现正确计费和对意外情况处理进行处理等功能。关键词:充电桩;计费系统;CPU卡;ARM IAbstract Electric car industry at home and abroad is in a boom period, and therefore its supporting charging facilities have also been unprecedented attention. As an important part of the industry chain, electric car charging statio

4、ns have a very big future prospects. Charging system for charging pile, it must be able to provide users of electric vehicles safe, reliable, convenient and efficient charging service. Based on the needs of electric vehicle charging station billing management system, the use of IC card reading and w

5、riting subsystem design. From a practical point of view, making the design of the IC card reader subsystem is not only user-friendly to use, and with other charging stations with applicable. Program not only for the IC card reader subsystem hardware framework is described in detail, but clearly the

6、function of each part, to provide the corresponding IC card reading and writing as well as the accounting scheme.According to the basic operations of electric car charging pile request, using the most popular consumer CPU card as a financial intermediary. By charging point system design software and

7、 hardware to provide consumers with a set of credit card charge consumer services. The first step, according to the application requirements of the project for the CPU card card file system design. Planning the internal CPU card security system and file access process and to determine the terminal c

8、ard information reader interacts with the design of the CPU card applications. The second step, the hardware system adopts ARM MPU, the operating system uses the Linux embedded system on this platform charging pile of IC card application design, and write consumer credit card charge pile application

9、s. The third step, through a series of tests to ensure that the card can be identified correctly, the user identity authentication, to achieve the correct billing and processing of unforeseen circumstances processing functions.Keywords: charging pile; billing system; CPU card; ARM 目 录摘 要IAbstractII第

10、1章 绪论11.1 课题研究背景11.2 国内外研究现状11.3 课题研究的意义21.4 研究内容及章节安排2第2章 硬件构成42.1主控单元硬件环境搭建42.2 CPU卡应用系统的硬件设计5第3章IC卡设计原理73.1 IC卡选型73.2 FM1208CPU卡简介83.3 卡内操作系统FMCOS93.4 卡内文件系统103.4.1 CPU卡的文件类型113.4.2 文件空间结构123.4.3 文件的访问方式133.4.4 文件标识符与文件名称143.5 FMCOS的安全体系153.5.1 安全状态153.5.2安全属性163.5.3安全机制163.5.4安全算法17第4章 数据传输的加密技术

11、184.1 加密算法基础184.2 加密算法分类184.3 DES及MAC20第5章 充电桩CPU卡计费实现225.1 CPU卡计费方案设计225.2 CPU卡应用计费应用设计与实现225.2.1 嵌入式Linux操作系统移植225.2.2 ZM703读写模块数据传输协议245.2.3CPU卡基本操作命令245.2.4 CPU卡初始化及应用过程所需指令255.3 CPU卡应用计费应用程序设计与实现27第6章 结论与展望296.1 工作总结296.2 研究展望29参考文献30致 谢31附 录32IV武汉理工大学毕业设计(论文)第1章 绪论1.1 课题研究背景 由于我国国民经济的迅速发展,人民的生

12、活水平也不断提高,机动车保有量的增长速度最近几年一直处在世界领先的地位。造成这种局面有多方面的原因。首先,我国做为一个缺油的大国,随着国内汽车保有量的增加,对于石油的需求越来越大。然而国内的石油储藏量以及开釆量不能够自给自足,这些不足的部分大体上都是通过从国外进口来满足,进口的石油量逐年递增。作为不可再生资源的石油,迟早会变得枯竭。其次,汽车工业这几年由于国家的支持一直在高速发展,大气环境也被汽车尾气污染严重,也成为危及中国国家安全的因素之一。 新能源汽车已经成为一个受人关注的热点,而电动汽车则是新能源汽车中最引人注目的。它的动力系统全部或部分由电能驱动,它用电能代替石油,从而实现汽车尾气零排

13、放,并且噪声极低,可以作为解决交通、能源和环境问题的一种重要手段。作为新能源车辆主力的电动汽车应该尽快得到推动,这对于节能减排和能源安全方面意义重大。电动汽车最关键的部分就是充电系统,当耗完充电电池内部的电能后,就必须通过充电系统对蓄电池进行再充电。因此,实现电动汽车产业化和推广普及的关键条件就是电动汽车充电站的建设。在日本和欧美等发达国家,电动汽车的开发与制造是同时进行的。所以我国必须加快推动电动汽车试点工程和电动汽车公共充电站的建设,积累电动汽车的推广和使用经验。电动汽车的推广使用是当前最重要的事,电动汽车充电站以及计费管理系统的开发必须尽快进行。1.2 国内外研究现状电动汽车充电站的服务

14、对象是电动汽车,因此电动汽车的发展动态直接影响电动汽车充电站的发展趋势与前景。只有电动汽车的规模得到扩大,电动汽车充电站才能够获得经济效益,因此简单的介绍一下电动汽车的发展现状非常必要。 最近几年,能源危机和环境污染正在加剧,世界各国电动汽车的研发方兴未艾。美国政府至今已出资数百亿美元支持汽车厂商和相关配套设施厂商进行电动汽车技术的开发。 我国电动汽车的研发与国外在技术水平与产业化方面差距较小。2009年3月20日,中国汽车产业正式发布调整和振兴规划。规划中称,国家将实施新能源汽车战略,推动纯电动汽车、充电式混合动力汽车及其关键零部件的产业化。 目前研发建设的电动汽车充电桩的经营模式有两种:一

15、种是以充电站的形式建立充电桩一后台实时管理系统,通过这个后台系统进行综合计费管理;另一种则是以充电桩独立结算的方式进行消费过程管理。对客户信息进行辨别是这两种计费模式的共同特征,这个过程由IC卡读卡器对用户卡进行辨识;充电桩嵌入式主控系统接收通过读卡器和串口通信反馈的卡内信息。需要的信息经过主控系统处理之后,充电条件得到满足则进入充电过程;当充电过程结束之后,反馈信息通过以太网通讯与后台PC监控系统进行交互,充电桩运行信息和客户消费信息则上传到后台PC的数据库存储起来。 法国是最先提出智能化IC卡的概念的国家,欧美等发达国家迅速对其进行了大量研究,因此欧美地区的智能卡芯片及卡片成品己经发展得相

16、当成熟。智能IC卡在世界范围内也得到普遍应用。 我国八十年代开始引入并使用IC卡,在公共交通、水电煤气收费等众多社会领域中IC卡得到普遍应用,现代化建设也因此得到了极大的促进。IC卡也因其安全可靠、稳定耐用、便捷迅速的性能也被市场广泛认可。 在电动汽车充电桩IC卡计费系统这个应用领域,大部分国内公司都采用非接触式的逻辑加密卡也就是M1卡。这是因为在电动汽车充电设备领域发展前期,IC卡仅作为小额金融存储的媒介,这个功能M1卡足够实现,但它的缺点也是显而易见的。首先,它的存储容量相比较CPU智能卡要小,而且它的扩展性也不及CPU智能卡;其次,M1卡只进行一次加密认证过程,并且没有无其他的安保措施,

17、这很容易导致密码泄露,而且容易被不法分子仿制成伪卡,它的安全性根本无法得到保证。因此考虑到IC卡的应用整合能力及对金融卡的应用拓展,在未来城市交通中,IC卡发展的主要趋势和方向就是它的高可靠性、灵活性以及对应用扩展的支持。1.3 课题研究的意义 考虑到电动汽车充电桩的使用环境多在无人值守的户外情况下,为保障充电桩能够正常提供电动汽车的充电服务,在电动汽车充电桩中嵌入基于IC卡的刷卡消费模块,并据此研究设计IC卡用户管理系统是十分重要的,它的意义主要体现在如下几点: 第一,提供直接便捷的刷卡消费服务给消费者使用;第二,后台PC要收集充电过程信息以及用户的消费,充值记录;第三,为充电站的后台管理以

18、及升级提供数据基础;第四,对将来与金融卡进行应用融合做好准备。1.4 研究内容及章节安排 本文将根据电动汽车充电桩的实际使用需求,从而确定IC卡读写子系统的基本流程。本文会单独介绍主控单元硬件环境搭建,设计并实现对CPU卡、电动汽车充电桩终端操作的应用程序。 根据CPU卡操作系统即COS规范化要求以及充电桩提供充电服务的相关技术流程,对卡内文件系统、COS安全体系、数据存储进行个性化设计,完成对CPU卡的初始化工作以方便用户使用。 本文的硬件架构是ARM11主控板和读卡器,在此架构上完成建立读卡器与主控板的串口连接、CPU卡COS系统与读卡器的通信、读取与写入CPU卡数据、异常情况判断与处理等

19、应用程序的设计,并通过SDCard将程序移植到主控板中。用户的服务需求包括开卡、充值、消费以及相关个人信息查询等,利用面向对象编程语言C+在VS2010中开发基于图形界面的用户信息管理系统。根据以上内容,本论文的章节安排如下:第2章介绍主控单元硬件环境搭建、CPU卡应用系统的硬件设计;第3章介绍CPU卡的选型确立、CPU卡卡内操作系统COS、卡内文件系统、安全体系等;第4章介绍数据加密技术及其特点;第5章分析电动汽车充电桩的消费流程、确立CPU卡应用方案、设计实现充电桩中CPU卡的应用程序;第6章为本论文设计应用情况的总结,并对进一步发展提出建议。第2章 硬件构成2.1主控单元硬件环境搭建电动

20、汽车桩采用基于ARM11架构的三星S3C6410处理器芯片的飞凌OK6410工控板作为核心控制器,搭配嵌入式Linux操作系统实现充电桩的控制设计方案。这个方案由以下几个模块组成:CPU卡消费应用模块用来实现充电计费及扣费功能;电能表计量模块用来对充电电量进行统计;充电控制模块用来控制充电过程中的电压、电流以及频率;后台通讯模块用来进行信息传递,满足数据传输的要求。这个方案具备良好的可靠性和扩展能力。本文主要研究以此平台为基础,通过读卡器、触摸显示屏、打印机,以及消费程序设计实现充电终端的CPU卡应用管理过程。图1 电动汽车控制结构图OK6410开发板是飞凌公司的一款嵌入式开发板,它采用三星公

21、司最新的ARM11处理器S3C6410,能够在667MHz主频以上稳定运行。OK6410开发板满足了客户全方面和稳定的应用需求,是专为企业级客户设计的高效、安全型产品开发平台。实用性强是它的最大优势,OK6410可以对核心板、底板、内存、FLASH、扩展卡等部件进行灵活特配。这块开发板最大的特点是采用了核心板+底板的结构,这样的结构不仅提高了开发板的性能,而且增强了开发板的灵活性、操控性和扩展性能。它的PCB布线间距很大,因此抗干扰能力也很强。在数据传输的实用性和快捷性方面,飞凌OK6410具有HOST和Slave两种接口模式。1个USBHOST插口,支持USB1.1协议,可插鼠标、U盘等;1

22、个USBSlave接口,支持USB2.0协议,使用mini-USB插座,可与PC连接。这样的设计显著提高了数据传输能力,而且CPU在总线的数据处理上也不会受到丝毫影响。OK6410不仅有USB口,也也拥有串口,本文所使用的读卡器即通过串口与开发板进行连接。如图2为OK6410开发板的实物照片:图2 OK6410开发板照片OK6410提供丰富的外围扩展接口,包括3个102插针扩展口。第一个是1路GND、1路DA、8路AD、10路IO、1路SPI;第二个用来扩展88矩阵键盘;第三个可连接3个TTL电平的串口和6路IO接口。有了这三路外围扩展接口,我们可以大大拓展开发板的应用范围。介绍完OK6410

23、的硬件系统,接下来我们介绍OK6410的软件系统。作为一款嵌入式开发板,并且还是采用了ARM11价构的三星S3C6410芯片,它支持目前市面上几乎所有的嵌入式操作系统。OK6410开发板支持WinCE 6.0、Linux3.01、Android2.1以及uC/OS-II这4种操作系统。本文给开发板挂载的是Linux3.01,PC端则使用Ubantu进行编程并使用交叉编译器将程序烧写到开发板中运行。2.2 CPU卡应用系统的硬件设计 CPU卡并不能单独使用,我们需要通过读卡器对它进行读取和写入操作。我选用的读卡器上海峥创电子有限公司的产品,型号为ZM703。 ZM703系列读写卡模块采用高性能A

24、RM处理器和复旦微非接触读卡专用芯片。不仅支持ISO14443 TypeA、ISO14443-4、ISO7816-1/2/3/4协议,而且还支持MIFARE标准的加密算法和UART/RS232接口。可广泛应用于三表、门禁、POS、车载等一卡通领域。 该模块支持Mifare One和非接触CPU卡等卡片、支持PSAM卡,支持PBOC。可以设定自动寻卡和指令寻卡。 选用的读卡模块能够对符合IS07816标准协议T=O,T=1的CPU卡进行操作,支持Win32下VB,VC,C+以及Linux下C语言的程序开发。 下图为ZM703读卡模块的实物照片: 图3 ZM703读卡模块照片 在应用于充电终端时,

25、通过工控板提供读卡模块的工作电源;而对其进行调试时,可直接由USB口连接到PC机上,由PC机提供其工作电源。 第3章IC卡设计原理3.1 IC卡选型 在进行IC卡的选型时,首先要考虑的是保障消费过程金融安全性,其次要保证应用IC卡的刷卡过程需要满足在电动汽车充电桩上的应用特性:第一,用户输入的充电需求必须及时转换成应扣金额并进行扣费;第二,每台充电桩只能为一个用户即一台车进行充电服务;第三,充电桩采取用户自助服务,充电桩在工作时处于无人看管状态;第四,为了应对紧急情况需具备应急方案,从而保障用户的财产安全。目前市面上广泛流通的IC卡按照集成电路的不同可分为以下四种类型:(1)存储器卡: 存储器

26、卡采用可编程只读存储器EEPROM作为信息存储装置。因此存储卡只能对数据进行存储,而不能对数据进行存储。这也导致它不能保障金融安全,它的价格是市场上最廉价的。(2)逻辑加密卡: 逻辑加密卡只是在存储卡的基础上增加了加密逻辑电路,它在价格仍然具有优势。逻辑加密卡可以让用户设置密码是它最大的优势,在使用该卡的过程中,用户需要输入与其设定的密码一致的数字才能进行消费。由于逻辑加密卡大大的提高了使用安全性,在一段时间内得到了广泛的应用。由于它的逻辑加密体制不够严密,这种卡的加密机制已经被解,若继续使用对用户的金融安全没有保障,因此已经不是主流产品。(3) CPU卡: CPU卡内的集成电路与一台PC类似

27、,包括中央处理器CPU、可编程只读存储器EEPROM、随机存储器RAM和写入在ROM中的COS ,我们也把CPU卡称作智能卡。CPU卡的功能十分强大,不仅能够存储用户信息,而且COS还能够对数据进行复杂的运算,实现DES加密算法。另外CPU卡还可以与多种应用进行兼容,比如能够同社保卡、公交卡以及银行卡的功能进行融合。最近几年来CPU卡越来越受到欢迎。 根据以上三种卡的介绍,最合适的方案是选用CPU卡。首先,CPU卡的安全性能是三者中最高的,即使这会增加系统成本,但是CPU卡在未来的应用前景十分广阔,并且兼容性与拓展性较好。 经过对市面流通的几种CPU卡的全面对比,本系统采用了复旦微电子股份有限

28、公司生产的非接触式CPU卡,具有以下特点: (1)能存储很多数据,CPU卡内部具有微处理器,并且能够将存储区域规划设计。它的数据存储器EEPROM存储容量为64K Byte ,这么大的存储容量使得它的应用范围很广。 (2)技术先进性:FM1208CPU卡是复旦微电子股份有限公司向市场推出的一款智能非接触式CPU卡。它不仅通过了中国人民银行颁布实施的PBOC2.0标准,而且还符合建设部IC卡应用规范。 (3)高安全性:芯片内置DES处理器,这种硬件加密技术比普通卡的流加密技术安全性更高。卡片的硬件加密与软件加密一起为CPU卡的数据安全提供了保障。在卡片的使用过程中,密钥并不会出现在数据传输过程中

29、,因此密钥不会被非法获取。COS内部的安全体系十分严谨,它对一些重要的密钥设有最大重新输入次数,能有效防范对卡片的恶意攻击。 因为具备以上这些规范的标准,使得CPU卡具有高安全性,在电子钱包小额支付等金融领域得到了广泛的应用。 (4)可拓展性:FM1208CPU卡作为一张IC卡,不仅能够完成数据读写功能,更大的优点是它具有一个卡片操作系统COS。我们可以以它作为平台,在它的系统构架下进行应用开发,这样我们可以对CPU卡的应用范围进行扩展。如公交结算、小额支付等金融行业,实现一卡多种应用。3.2 FM1208CPU卡简介 FM1208是复旦微电子股份有限公司设计的单界面非接触CPU卡,它支持IS

30、O14443 TypeA协议。ISO14443 TypeA协议对非接触CPU卡的相关技术要求做出了权威的规定,是现行的国际标准。FM1208CPU卡的芯片采用超深亚微米CMOS EEPROM工艺,工作频率为13.56MHz。在使用时,只要在读卡器10CM的范围内,能够与读卡器进行响应从而进行数据交互。它的操作指令兼容8051汇编指令集,编写程序比较方便。 FM1208CPU卡同时支持PBOC2.0电子钱包/存折标准及建设部 IC卡应用规范,具有较好的安全性。适用于公交结算、小额支付等安全性要求高、交易量大、交易速度快的金融行业,可以实现一卡多种应用。 FM1208的相关技术指标如下表所示: 表

31、1 相关技术指标通信协议ISO 14443-A数据传输速率支持106Kbps 数据传输速率加密模块Triple-DES协处理器程序存储器32K8bit ROM数据存储器8K8bit EEPROM片内存储器2568bit iRAM异常情况复位低压检测复位,高低频检测复位EEPROM擦写次数满足10万次擦写指标EEPROM保存时间满足10年数据保存指标典型处理时间如下表所示:表2 典型处理时间识别一张卡3ms(包括复位应答和防冲突)EEPROM擦写时间2.4ms典型交易过程350ms3.3 卡内操作系统FMCOS与一台计算机的硬件构成类似,CPU卡的内部由CPU,存储器和输入,输出接口构成。在应用

32、中CPU卡也与计算机一样也需要操作系统。上海复旦微电子股份有限公司自主开发了CPU卡操作系统FMCOS,这款操作系统不仅符合ISO 7816系列标准而且还通过了中国金融集成电路(IC)卡规范。从地位上来说,COS在IC卡系统中相当于Windows、Unix操作系统对于PC机;染个在功能上COS又与一般的PC操作系统不同,它并没有操作系统的一般功能,在应用过程中它与监控程序类似,具备信息的接收与处理功能。它提供如下一系列功能: (1) 对IC卡进行复位,使CPU卡在与读卡器交互时能从程序指定的位置开始运行,运行环境由所有应用代码的运行平台COS对其进行配置。 (2)对芯片底层硬件进行驱动:在卡片

33、内部由COS完成对各个部件的操作以及驱动。COS负责的内容包括对EEPROM的读写操作、使用TripleDES对数据进行加密、对输入输出的端口进行监控。 (3)对卡片存储空间进行保护:为了确保存储数据的安全性,由COS对卡片的存储空间进行合理分配并进行保护。 (4)管理卡片内部的文件系统:COS的文件系统与PC操作系统大致相同,CPU卡的应用数据在卡片内部存储是通过保存成文件来完成的。COS对文件进行诸如建立、修改、删除等一些基本操作。 (5)保障系统安全运行:需要做到两点。首先,COS对数据进行保护防止被非用户窃取;其次,COS赢对应用方提供必要的安全认证,提高系统的安全性。COS的核心就是

34、能够为用户的金融安全提供保障。 (6)命令的应答机制:命令与应答是最常用的处理机制,CPU卡与读卡器之间也采取这种机制进行信息交互。后台主控单元将命令报文按照规范通过读卡器发送给CPU卡,CPU卡通过串口接收来自读卡器发来的数据,然后COS对报文内容进行逻辑运算与处理并保存需要的相关数据,最后通过串口向读卡器返回响应的数据,后台PC将需要的数据存储在数据库中。3.4 卡内文件系统 COS对存储数据进行管理是通过建立文件系统实现的。COS需要对所用数据进行诸如组织、管理、维护等操作。CPU卡的核心就是文件系统,因此它对系统整体结构影响也最大。 COS的文件系统采用分级结构,通常是2到3级。下图是

35、本文的文件系统结构图,采取2层结构: 图4 卡内文件结构图 图中的文件如MF、密钥文件等将在后文中进行详细介绍。3.4.1 CPU卡的文件类型 FMCOS CPU芯片卡的基本文件系统是由主文件MF(Master File),目录文件DF(Directory File)和基本文件EF(Element File)组成。MF在CPU卡只允许有一个,其余任何文件将在MF下建立并使用。在MF下,我们可以建立多个DF和EF以便不同的应用使用。DF分为两种,一种是DDF,它不包含下级目录;另一种是ADF,它包含下级目录。接下来将对MF、DF、EF分别进行介绍。 MF文件:在FMCOS卡中,MF文件作为卡片文

36、件系统的根文件是唯一存在的。CPU卡复位后,MF文件被系统默认选为当前文件。 DF文件:DF文件与EF文件不同,在文件系统中是独立存在的文件。它有单独的安全机制,可以通过选择应用来对DF进行访问。FMCOS卡的支付环境就是发卡方通过目录选定的,卡片的消费及圈存功能将在这个环境中进行。 EF文件:基本文件EF主要用来存储用户数据和密钥。EF分为两种,一种是工作基本文件,另一种则是内部基本文件。工作基本文件用于存放用户数据的文件。该文件可以被用来读取或写数据,前提是满足安全状态寄存器的要求,这一点将在后文中进行介绍。内部基本文件则被用来存储密钥。这个文件通常不能被外界获取,只有获得相应的权限并通过

37、一系列的加密运算并验证通过,才可以对其进行修改,这也保障了用户金融安全性。 以上是文件系统的三大主干的介绍,但是仅仅只有它们并不能建立一个完整的文件系统,下面将介绍其它的文件。 KEY文件:即密钥文件,它属于基本文件中的内部基本文件。KEY文件是保证CPU安全性最关键的文件,它里面存储了各种密钥,例如外部认证密钥,圈存密钥,消费密钥。基于密钥文件的重要性,MF或DF建立完成后,我们首先要做的就是建立密钥文件,并且每个目录下只能建立一个密钥文件 BINARY:即二进制文件,所谓二进制文件其实只是一个数据单元序列。它里面存储的数据都是二进制的,而数据的结构则是发卡方设定的。 记录文件:分为两种,一

38、种固定长度,一种不固定长度。定长记录文件存储的每条记录长度都相同,记录长度最大为248个字节。变长记录文件则可以存储长度不同的记录。 变长记录文件与定长记录文件不同,它存储的记录的长度并不固定。不过如果需要对变长记录执行UPDATE RECORD操作,写入文件中的新记录必须原有的那条记录格式一种。记录最大长度不能超过248字节。记录格式TLV如下: TAG 标识 数据长度 Val L字节数据 循环文件:循环文件是一种特殊的记录文件。它在使用时只能按顺序增加记录,即当写记录时,当前写入记录标为1,并把以前写入的记录标号依次加1,就像流水灯一样只能依次递增。记录只能在文件头中所规定的范围内滚动写入

39、,比如规定的是10条,当写完第10条记录时,继续写第11条则会把原来的第1条记录覆盖。 钱包文件: 钱包文件内部采用专用的结构,由COS维护,保存电子钱包、存折的余额、透支限额等信息。3.4.2 文件空间结构 FMCOS CPU芯片卡中每个文件在EEPROM中存放的格式如下: 11字节文件头 (文件类型,文件标识符,文件主体空间大小,权限,校验等) 文件主体每个基本文件所占的EEPROM空间=文件头11字节+文件主体空间。 定长和循环文件的主体空间=记录个数(记录长度+1)。 电子钱包和电子存折文件主体空间=22字节。 每个DF所占的EEPROM空间=DF头11字节+DF下所有文件的空间和+D

40、F名称长度。 MF的空间=MF头11字节+MF下所有文件空间之和+ MF名称长度(若不使用默认名称)。 3.4.3 文件的访问方式 既然CPU卡文件结构下有许多文件,并存储在不同层次不同应用下,那么如何对那些文件进行访问将是COS系统必须进行解决的问题。 主文件MF:MF相当于整个文件系统的外壳,当读卡器寻到卡时,MF被自动选择成为当前文件,它的文件标识为3F00,文件名称为1PAY.SYS.DDF01。我们可以通过它的文件标识或文件名称来对它进行选择。 目录文件DF:与MF类似,我们也是通过DF的文件标识或者目录名称来选择它。 二进制文件:对二进制文件进行读取和更改有相应的指令。READ B

41、INARY指令可以用来读取二进制文件,而UPDATE BINARY指令则可以用来更改二进制文件的内容。这两条指令的使用需满足安全状态寄存器的要求。 记录文件:与二进制文件的读取与更改类似,READ RECORD指令用来读指定记录,UPDATE RECORD指令则用来更改指定记录。在满足追加条件时我们可以使用APPEND RECORD指令在文件末尾追加一条记录。对于变长记录文件的更改,必须使更改前后记录的长度与格式一致。 循环文件:循环文件本质上是一种环形记录文件,因此对它的访问用到的指令与记录文件一样。READ RECORD读指定记录,在满足追加条件时可使用APPEND RECORD在文件开头

42、追加一条记录。 钱包文件: 对于钱包文件有专用的GET BALANCE读指令用来查询余额,或者使用相应的密钥完成相应的操作。例如使用圈存密钥进行圈存,即往电子钱包内充值;使用消费密钥进行消费,即使用电子钱包里面的钱进行充电。 KEY文件及其文件中的密钥:由于KEY 文件的重要性和特殊性,在一般情况下我们都不能读取密钥数据。在KEY文件中,允许我们存放多个密钥。密钥的本质就是一条可变长记录,记录的长度为密钥数据长度加8。如Triple DES密钥记录的长度为24字节,Single DES密钥记录的长度为16字节。 我们可以通过WRITE KEY增加一条密钥记录,前提是我们满足这个密钥自己设定的更

43、改权限。每一条密钥都具它自身的独立性,因此用于圈存功能的加密与解密密钥只能用来进行全程交易,而不能用来进行消费,反之也一样。 下面用口令密钥来介绍如何验证密钥、修改密钥。 我们可以使用VERIFY指令来核对我们设定的口令密钥是否一致,即我们生活中经常使用到的输入密码功能。PIN CHANGE用来更改口令密钥,满足口令设定的安全权限,我们可以使用这条指令修改口令。COS判断口令一致则认证通过,安全状态寄存器的值被设为这条口令密钥规定的后续状态值。发卡方可以对口令密钥设定一个试错次数,每次核对口令失败时错误次数计数器自动减一,当错误次数达到 0 时,口令密钥会被COS自动锁住。当口令密钥被锁住时,

44、如果我们想更改口令密钥,则可以使用PIN UNBLOCK指令来更改原来的口令密钥。 密钥是构建CPU卡安全体系的关键,将在后文中详细介绍。3.4.4 文件标识符与文件名称 在前文中我们介绍如何对文件进行访问时,提到过文件标识符和文件名称,但是并没有对它进行详细说明,因此在这一节对其专门进行解释。 文件标识符和文件名称都是用来选择文件时用到的。在这里,我们先介绍选择文件指令SELECT的命令报文编码,如下表所示: 表2 SELECT命令报文编码 代码 值 CLA 00 INS A4 P100:按文件标识符选择,选择当前目录下基本文 件或子目录文件。04:用目录名称选择,选择与当前目录平级的目录、

45、当前目录的下级子目录。 P2 00 Lc XX Data 空或文件标识符或DF文件名称 Le 00 文件标识符是用来对文件进行标识的数据,大小一般为2个字节。选择文件时我们只需要在SELECT指令相应的位置输入这个文件的标识符,就可以选择相应的文件。 在COS的文件系统下,SELECT命令都可以使用文件标识符对任何文件进行选择。目录文件DF则比较特殊,它不仅可以通过文件标识符进行选择,还可以通过目录名称进行选择。 有一类特殊的文件标识符叫做短文件标识符。在读取、更改二进制文件和读取、更改、追加、删除、增加记录文件时,这些指令用到了短文件标识符。 在使用读取或更改二进制文件的指令时如果参数P1的高三位为二进制100,则低五位的二进制数据代表短文件标识符 。例如P1为87H,将其用二进制表示即10001011。因为它的高三位为100,因此01011即7为它的短文件标识符。 在对记录进行操作的指令中,短文件标识符的使用方法与二进制文件中又不一样。在这些指令中用来辨别短文件标识符的参数是P2,如果P2的高五位不全为0,并且它的低三位是100。在这种特殊情况下,P2的高五位就是它的短文件标识符。例如P2为0CH,将其用二进制表示即10001100,其中低三位为100,所选的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1