电动汽车充电桩计费系统的IC卡读写子系统设计说明_第1页
电动汽车充电桩计费系统的IC卡读写子系统设计说明_第2页
电动汽车充电桩计费系统的IC卡读写子系统设计说明_第3页
电动汽车充电桩计费系统的IC卡读写子系统设计说明_第4页
电动汽车充电桩计费系统的IC卡读写子系统设计说明_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . PAGE48 / NUMPAGES53 理工大学毕业设计(论文) 电动汽车充电桩计费系统的IC卡读写子系统设计摘 要电动汽车产业在国外正处于蓬勃发展时期,因此与其配套的充电设施也受到了空前的关注。作为该产业链上的重要一环,电动汽车充电站在未来有非常大的发展前景。对于充电桩充电系统,它必须能够为电动车使用者提供安全性高、可信赖、方便快捷的充电服务。本文基于电动汽车充电站计费管理系统的需要,利用IC卡来进行读写子系统的方案设计。从实际应用的角度出发,使得设计出的IC卡读写子系统不仅方便用户进行使用,并且能与其它的充电站相适用。方案不仅对IC卡读写子系统的硬件框架结构进行了详细描述,而且明确了

2、各个部件的功能,提供了相应的IC卡读写以与计费方案。本文根据电动汽车充电桩的基本运营需要求,采用目前最流行CPU卡作为金融消费媒介。通过对充电桩系统软件和硬件的设计为消费者提供一整套刷卡充电消费服务。第一步,根据项目的应用需求对CPU卡的卡上文件系统进行设计。规划了CPU卡部的安全体系和文件访问流程,并确定读卡器终端与卡片信息交互的方式,设计CPU卡的应用方案。第二步,系统的硬件采用ARM主控板,操作系统采用Linux嵌入式系统,在这个平台上对充电桩的IC卡应用进行方案设计,并编写充电桩刷卡消费应用程序。第三步,通过一系列的测试来确保卡片能够正确识别,对用户身份进行认证,实现正确计费和对意外情

3、况处理进行处理等功能。关键词:充电桩;计费系统;CPU卡;ARMAbstractElectric 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 stations have a very big future prospects.

4、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 writing subsystem design. From a practi

5、cal 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 function of each part, to provide the

6、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 hardware to provide consumers with a

7、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 card information reader interacts with

8、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 applications. The third step, through a series of

9、 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目 录TOC o 1-3 h u HYPERLINK l _Toc10738 摘 要 PAGEREF _Toc10

10、738 I HYPERLINK l _Toc7181 Abstract PAGEREF _Toc7181 II HYPERLINK l _Toc9288 第1章 绪论 PAGEREF _Toc9288 1 HYPERLINK l _Toc32229 1.1 课题研究背景 PAGEREF _Toc32229 1 HYPERLINK l _Toc12368 1.2 国外研究现状 PAGEREF _Toc12368 1 HYPERLINK l _Toc22715 1.3 课题研究的意义 PAGEREF _Toc22715 2 HYPERLINK l _Toc26657 1.4 研究容与章节安排 PA

11、GEREF _Toc26657 2 HYPERLINK l _Toc2287 第2章 硬件构成 PAGEREF _Toc2287 4 HYPERLINK l _Toc16054 2.1主控单元硬件环境搭建 PAGEREF _Toc16054 4 HYPERLINK l _Toc1342 2.2 CPU卡应用系统的硬件设计 PAGEREF _Toc1342 5 HYPERLINK l _Toc10433 第3章IC卡设计原理 PAGEREF _Toc10433 7 HYPERLINK l _Toc3282 3.1 IC卡选型 PAGEREF _Toc3282 7 HYPERLINK l _Toc

12、6398 3.2 FM1208CPU卡简介 PAGEREF _Toc6398 8 HYPERLINK l _Toc7889 3.3 卡操作系统FMCOS PAGEREF _Toc7889 9 HYPERLINK l _Toc21510 3.4 卡文件系统 PAGEREF _Toc21510 10 HYPERLINK l _Toc20299 3.4.1 CPU卡的文件类型 PAGEREF _Toc20299 11 HYPERLINK l _Toc1 3.4.2 文件空间结构 PAGEREF _Toc1 12 HYPERLINK l _Toc27836 3.4.3 文件的访问方式 PAGEREF

13、_Toc27836 13 HYPERLINK l _Toc13991 3.4.4 文件标识符与文件名称 PAGEREF _Toc13991 14 HYPERLINK l _Toc17021 3.5 FMCOS的安全体系 PAGEREF _Toc17021 15 HYPERLINK l _Toc21607 3.5.1 安全状态 PAGEREF _Toc21607 15 HYPERLINK l _Toc26582 3.5.2安全属性 PAGEREF _Toc26582 16 HYPERLINK l _Toc21939 3.5.3安全机制 PAGEREF _Toc21939 16 HYPERLINK

14、 l _Toc18579 3.5.4安全算法 PAGEREF _Toc18579 17 HYPERLINK l _Toc23486 第4章 数据传输的加密技术 PAGEREF _Toc23486 18 HYPERLINK l _Toc15176 4.1 加密算法基础 PAGEREF _Toc15176 18 HYPERLINK l _Toc31802 4.2 加密算法分类 PAGEREF _Toc31802 18 HYPERLINK l _Toc23206 4.3 DES与MAC PAGEREF _Toc23206 20 HYPERLINK l _Toc23498 第5章 充电桩CPU卡计费实

15、现 PAGEREF _Toc23498 22 HYPERLINK l _Toc17043 5.1 CPU卡计费方案设计 PAGEREF _Toc17043 22 HYPERLINK l _Toc20809 5.2 CPU卡应用计费应用设计与实现 PAGEREF _Toc20809 22 HYPERLINK l _Toc5857 5.2.1 嵌入式Linux操作系统移植 PAGEREF _Toc5857 22 HYPERLINK l _Toc28 5.2.2 ZM703读写模块数据传输协议 PAGEREF _Toc28 24 HYPERLINK l _Toc10453 5.2.3CPU卡基本操作

16、命令 PAGEREF _Toc10453 24 HYPERLINK l _Toc2588 5.2.4 CPU卡初始化与应用过程所需指令 PAGEREF _Toc2588 25 HYPERLINK l _Toc31203 5.3 CPU卡应用计费应用程序设计与实现 PAGEREF _Toc31203 27 HYPERLINK l _Toc15846 第6章 结论与展望 PAGEREF _Toc15846 29 HYPERLINK l _Toc3400 6.1 工作总结 PAGEREF _Toc3400 29 HYPERLINK l _Toc3216 6.2 研究展望 PAGEREF _Toc32

17、16 29 HYPERLINK l _Toc18276 参考文献 PAGEREF _Toc18276 30 HYPERLINK l _Toc10766 致 PAGEREF _Toc10766 31 HYPERLINK l _Toc20747 附 录 PAGEREF _Toc20747 32第1章 绪论1.1 课题研究背景 由于我国国民经济的迅速发展,人民的生活水平也不断提高,机动车保有量的增长速度最近几年一直处在世界领先的地位。造成这种局面有多方面的原因。首先,我国做为一个缺油的大国,随着国汽车保有量的增加,对于石油的需求越来越大。然而国的石油储藏量以与开釆量不能够自给自足,这些不足的部分大体

18、上都是通过从国外进口来满足,进口的石油量逐年递增。作为不可再生资源的石油,迟早会变得枯竭。其次,汽车工业这几年由于国家的支持一直在高速发展,大气环境也被汽车尾气污染严重,也成为危与中国国家安全的因素之一。 新能源汽车已经成为一个受人关注的热点,而电动汽车则是新能源汽车中最引人注目的。它的动力系统全部或部分由电能驱动,它用电能代替石油,从而实现汽车尾气零排放,并且噪声极低,可以作为解决交通、能源和环境问题的一种重要手段。作为新能源车辆主力的电动汽车应该尽快得到推动,这对于节能减排和能源安全方面意义重大。电动汽车最关键的部分就是充电系统,当耗完充电电池部的电能后,就必须通过充电系统对蓄电池进行再充

19、电。因此,实现电动汽车产业化和推广普与的关键条件就是电动汽车充电站的建设。在日本和欧美等发达国家,电动汽车的开发与制造是同时进行的。所以我国必须加快推动电动汽车试点工程和电动汽车公共充电站的建设,积累电动汽车的推广和使用经验。电动汽车的推广使用是当前最重要的事,电动汽车充电站以与计费管理系统的开发必须尽快进行。1.2 国外研究现状电动汽车充电站的服务对象是电动汽车,因此电动汽车的发展动态直接影响电动汽车充电站的发展趋势与前景。只有电动汽车的规模得到扩大,电动汽车充电站才能够获得经济效益,因此简单的介绍一下电动汽车的发展现状非常必要。 最近几年,能源危机和环境污染正在加剧,世界各国电动汽车的研发

20、方兴未艾。美国政府至今已出资数百亿美元支持汽车厂商和相关配套设施厂商进行电动汽车技术的开发。 我国电动汽车的研发与国外在技术水平与产业化方面差距较小。2009年3月20日,中国汽车产业正式发布调整和振兴规划。规划中称,国家将实施新能源汽车战略,推动纯电动汽车、充电式混合动力汽车与其关键零部件的产业化。目前研发建设的电动汽车充电桩的经营模式有两种:一种是以充电站的形式建立充电桩一后台实时管理系统,通过这个后台系统进行综合计费管理;另一种则是以充电桩独立结算的方式进行消费过程管理。对客户信息进行辨别是这两种计费模式的共同特征,这个过程由IC卡读卡器对用户卡进行辨识;充电桩嵌入式主控系统接收通过读卡

21、器和串口通信反馈的卡信息。需要的信息经过主控系统处理之后,充电条件得到满足则进入充电过程;当充电过程结束之后,反馈信息通过以太网通讯与后台PC监控系统进行交互,充电桩运行信息和客户消费信息则上传到后台PC的数据库存储起来。 法国是最先提出智能化IC卡的概念的国家,欧美等发达国家迅速对其进行了大量研究,因此欧美地区的智能卡芯片与卡片成品己经发展得相当成熟。智能IC卡在世界围也得到普遍应用。 我国八十年代开始引入并使用IC卡,在公共交通、水电煤气收费等众多社会领域中IC卡得到普遍应用,现代化建设也因此得到了极大的促进。IC卡也因其安全可靠、稳定耐用、便捷迅速的性能也被市场广泛认可。 在电动汽车充电

22、桩IC卡计费系统这个应用领域,大部分国公司都采用非接触式的逻辑加密卡也就是M1卡。这是因为在电动汽车充电设备领域发展前期,IC卡仅作为小额金融存储的媒介,这个功能M1卡足够实现,但它的缺点也是显而易见的。首先,它的存储容量相比较CPU智能卡要小,而且它的扩展性也不与CPU智能卡;其次,M1卡只进行一次加密认证过程,并且没有无其他的安保措施,这很容易导致密码泄露,而且容易被不法分子仿制成伪卡,它的安全性根本无法得到保证。因此考虑到IC卡的应用整合能力与对金融卡的应用拓展,在未来城市交通中,IC卡发展的主要趋势和方向就是它的高可靠性、灵活性以与对应用扩展的支持。1.3 课题研究的意义 考虑到电动汽

23、车充电桩的使用环境多在无人值守的户外情况下,为保障充电桩能够正常提供电动汽车的充电服务,在电动汽车充电桩中嵌入基于IC卡的刷卡消费模块,并据此研究设计IC卡用户管理系统是十分重要的,它的意义主要体现在如下几点: 第一,提供直接便捷的刷卡消费服务给消费者使用;第二,后台PC要收集充电过程信息以与用户的消费,充值记录;第三,为充电站的后台管理以与升级提供数据基础;第四,对将来与金融卡进行应用融合做好准备。1.4 研究容与章节安排本文将根据电动汽车充电桩的实际使用需求,从而确定IC卡读写子系统的基本流程。本文会单独介绍主控单元硬件环境搭建,设计并实现对CPU卡、电动汽车充电桩终端操作的应用程序。根据

24、CPU卡操作系统即COS规化要求以与充电桩提供充电服务的相关技术流程,对卡文件系统、COS安全体系、数据存储进行个性化设计,完成对CPU卡的初始化工作以方便用户使用。本文的硬件架构是ARM11主控板和读卡器,在此架构上完成建立读卡器与主控板的串口连接、CPU卡COS系统与读卡器的通信、读取与写入CPU卡数据、异常情况判断与处理等应用程序的设计,并通过SDCard将程序移植到主控板中。用户的服务需求包括开卡、充值、消费以与相关个人信息查询等,利用面向对象编程语言C+在VS2010中开发基于图形界面的用户信息管理系统。根据以上容,本论文的章节安排如下:第2章介绍主控单元硬件环境搭建、CPU卡应用系

25、统的硬件设计;第3章介绍CPU卡的选型确立、CPU卡卡操作系统COS、卡文件系统、安全体系等;第4章介绍数据加密技术与其特点;第5章分析电动汽车充电桩的消费流程、确立CPU卡应用方案、设计实现充电桩中CPU卡的应用程序;第6章为本论文设计应用情况的总结,并对进一步发展提出建议。第2章 硬件构成2.1主控单元硬件环境搭建电动汽车桩采用基于ARM11架构的三星S3C6410处理器芯片的飞凌OK6410工控板作为核心控制器,搭配嵌入式Linux操作系统实现充电桩的控制设计方案。这个方案由以下几个模块组成:CPU卡消费应用模块用来实现充电计费与扣费功能;电能表计量模块用来对充电电量进行统计;充电控制模

26、块用来控制充电过程中的电压、电流以与频率;后台通讯模块用来进行信息传递,满足数据传输的要求。这个方案具备良好的可靠性和扩展能力。本文主要研究以此平台为基础,通过读卡器、触摸显示屏、打印机,以与消费程序设计实现充电终端的CPU卡应用管理过程。图1 电动汽车控制结构图OK6410开发板是飞凌公司的一款嵌入式开发板,它采用三星公司最新的ARM11处理器S3C6410,能够在667MHz主频以上稳定运行。OK6410开 HYPERLINK :/ baike /sowiki/%E5%8F%91%E6%9D%BF?prd=content_doc_search o 发板 发板满足了客户全方面和稳定的应用需求

27、,是专为企业级客户设计的高效、安全型产品开发平台。实用性强是它的最大优势,OK6410可以对核心板、底板、存、FLASH、扩展卡等部件进行灵活特配。这块开发板最大的特点是采用了核心板+底板的结构,这样的结构不仅提高了开发板的性能,而且增强了开发板的灵活性、操控性和扩展性能。它的PCB布线间距很大,因此抗干扰能力也很强。在数据传输的实用性和快捷性方面,飞凌OK6410具有HOST和Slave两种接口模式。1个USBHOST插口,支持USB1.1协议,可插鼠标、U盘等;1个USBSlave接口,支持USB2.0协议,使用mini-USB插座,可与PC连接。这样的设计显著提高了数据传输能力,而且CP

28、U在总线的数据处理上也不会受到丝毫影响。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的硬件系统,接下来我们介绍OK6410的软件系统。作为一款嵌入式开发板,并且还是采用了ARM11价构的三星S3C6410芯片,它支

29、持目前市面上几乎所有的嵌入式操作系统。OK6410开发板支持WinCE 6.0、Linux3.01、Android2.1以与uC/OS-II这4种操作系统。本文给开发板挂载的是Linux3.01,PC端则使用Ubantu进行编程并使用交叉编译器将程序烧写到开发板中运行。2.2 CPU卡应用系统的硬件设计CPU卡并不能单独使用,我们需要通过读卡器对它进行读取和写入操作。我选用的读卡器峥创电子的产品,型号为ZM703。ZM703系列读写卡模块采用高性能ARM处理器和复旦微非接触读卡专用芯片。不仅支持ISO14443 TypeA、ISO14443-4、ISO7816-1/2/3/4协议,而且还支持M

30、IFARE标准的加密算法和UART/RS232接口。可广泛应用于三表、门禁、POS、车载等一卡通领域。 该模块支持Mifare One和非接触CPU卡等卡片、支持PSAM卡,支持PBOC。可以设定自动寻卡和指令寻卡。 选用的读卡模块能够对符合IS07816标准协议T=O,T=1的CPU卡进行操作,支持Win32下VB,VC,C+以与Linux下C语言的程序开发。 下图为ZM703读卡模块的实物照片:图3 ZM703读卡模块照片在应用于充电终端时,通过工控板提供读卡模块的工作电源;而对其进行调试时,可直接由USB口连接到PC机上,由PC机提供其工作电源。第3章IC卡设计原理3.1 IC卡选型在进

31、行IC卡的选型时,首先要考虑的是保障消费过程金融安全性,其次要保证应用IC卡的刷卡过程需要满足在电动汽车充电桩上的应用特性:第一,用户输入的充电需求必须与时转换成应扣金额并进行扣费;第二,每台充电桩只能为一个用户即一台车进行充电服务;第三,充电桩采取用户自助服务,充电桩在工作时处于无人看管状态;第四,为了应对紧急情况需具备应急方案,从而保障用户的财产安全。目前市面上广泛流通的IC卡按照集成电路的不同可分为以下四种类型:(1)存储器卡: 存储器卡采用可编程只读存储器EEPROM作为信息存储装置。因此存储卡只能对数据进行存储,而不能对数据进行存储。这也导致它不能保障金融安全,它的价格是市场上最廉价

32、的。(2)逻辑加密卡: 逻辑加密卡只是在存储卡的基础上增加了加密逻辑电路,它在价格仍然具有优势。逻辑加密卡可以让用户设置密码是它最大的优势,在使用该卡的过程中,用户需要输入与其设定的密码一致的数字才能进行消费。由于逻辑加密卡大大的提高了使用安全性,在一段时间得到了广泛的应用。由于它的逻辑加密体制不够严密,这种卡的加密机制已经被解,若继续使用对用户的金融安全没有保障,因此已经不是主流产品。(3) CPU卡: CPU卡的集成电路与一台PC类似,包括中央处理器CPU、可编程只读存储器EEPROM、随机存储器RAM和写入在ROM中的COS,我们也把CPU卡称作智能卡。CPU卡的功能十分强大,不仅能够存

33、储用户信息,而且COS还能够对数据进行复杂的运算,实现DES加密算法。另外CPU卡还可以与多种应用进行兼容,比如能够同社保卡、公交卡以与银行卡的功能进行融合。最近几年来CPU卡越来越受到欢迎。 根据以上三种卡的介绍,最合适的方案是选用CPU卡。首先,CPU卡的安全性能是三者中最高的,即使这会增加系统成本,但是CPU卡在未来的应用前景十分广阔,并且兼容性与拓展性较好。 经过对市面流通的几种CPU卡的全面对比,本系统采用了复旦微电子股份生产的非接触式CPU卡,具有以下特点: (1)能存储很多数据,CPU卡部具有微处理器,并且能够将存储区域规划设计。它的数据存储器EEPROM存储容量为64K Byt

34、e ,这么大的存储容量使得它的应用围很广。 (2)技术先进性:FM1208CPU卡是复旦微电子股份向市场推出的一款智能非接触式CPU卡。它不仅通过了中国人民银行颁布实施的PBOC2.0标准,而且还符合建设部IC卡应用规。 (3)高安全性:芯片置DES处理器,这种硬件加密技术比普通卡的流加密技术安全性更高。卡片的硬件加密与软件加密一起为CPU卡的数据安全提供了保障。在卡片的使用过程中,密钥并不会出现在数据传输过程中,因此密钥不会被非法获取。COS部的安全体系十分严谨,它对一些重要的密钥设有最大重新输入次数,能有效防对卡片的恶意攻击。 因为具备以上这些规的标准,使得CPU卡具有高安全性,在电子钱包

35、小额支付等金融领域得到了广泛的应用。(4)可拓展性:FM1208CPU卡作为一IC卡,不仅能够完成数据读写功能,更大的优点是它具有一个卡片操作系统COS。我们可以以它作为平台,在它的系统构架下进行应用开发,这样我们可以对CPU卡的应用围进行扩展。如公交结算、小额支付等金融行业,实现一卡多种应用。3.2 FM1208CPU卡简介 FM1208是复旦微电子股份设计的单界面非接触CPU卡,它支持ISO14443 TypeA协议。ISO14443 TypeA协议对非接触CPU卡的相关技术要求做出了权威的规定,是现行的国际标准。FM1208CPU卡的芯片采用超深亚微米CMOS EEPROM工艺,工作频率

36、为13.56MHz。在使用时,只要在读卡器10CM的围,能够与读卡器进行响应从而进行数据交互。它的操作指令兼容8051汇编指令集,编写程序比较方便。 FM1208CPU卡同时支持PBOC2.0电子钱包/存折标准与建设部 IC卡应用规,具有较好的安全性。适用于公交结算、小额支付等安全性要求高、交易量大、交易速度快的金融行业,可以实现一卡多种应用。 FM1208的相关技术指标如下表所示:表1 相关技术指标通信协议ISO 14443-A数据传输速率支持106Kbps 数据传输速率加密模块Triple-DES协处理器程序存储器32K8bit ROM数据存储器8K8bit EEPROM片存储器2568b

37、it iRAM异常情况复位低压检测复位,高低频检测复位EEPROM擦写次数满足10万次擦写指标EEPROM保存时间满足10年数据保存指标典型处理时间如下表所示:表2 典型处理时间识别一卡3ms(包括复位应答和防冲突)EEPROM擦写时间2.4ms典型交易过程Y,则当Y=SY时满足对该文件的访问权限。若X=Y,则X=S=Y时满足对该文件的访问权限。若XY,则无论S等于多少都不被不允许访问该文件。 如某文件写的权限为86表示对该文件进行写之前必须使当前目录的安全状态寄存器的值为6、7或8。 3.5.3安全机制 在安全属性这一节中我们提到了若要访问某一个文件需要满足它的安全权限,如果我们此时的权限不

38、能满足,那么我们应该进行什么操作满足这个条件呢?这就需要用到FMCOS的安全机制。安全机制即使改变安全状态寄存器的值的一种方法和手段。 FMCOS的安全机制就是通过核对口令和外部认证,只要通过口令核对或者外部认证,安全状态寄存器的值就会更改为我们设定口令密钥和外部认证密钥时的后续值,这样我们就完成了对安全状态寄存器值的更改。当在MF下进行安全状态寄存器值的更改时,MF和当前目录的安全状态寄存器的值会同时被改变。若不在MF下则认证通过之后只改变当前目录的安全状态寄存器值。下表会清晰的描述这一过程:表3 安全状态寄存器的值更改过程 卡片终端操作 当前目录安全寄存器的值 选择该目录(非MF) 0(送

39、返回信息) 读二进制文件 0(读权限不满足,不允许读) 验证口令 1(口令核对正确) 读二进制文件 1(读出正确数据)3.5.4安全算法FMCOS支持DES、3 DES和MAC加密算法,这三种算法目前都是主流加解密算法。 DES与3DES的区别在于使用过程中密钥的长度。若密钥的长度为8字节,则加密时使用DES算法;若密钥的长度为16个字节,则加密时使用3DES算法。MAC算法中涉与到的一些加密使用到了DES 算法。至于运算时我们如何选择加密算法或是解密算法,这一点根据密钥的类型来进行选择,并且不能混用,否则加密或解密的结果用来认证时不能通过。加密密钥就只能用来给数据进行加密,如外部认证过程中我

40、们要对随机数进行加密,加密结果送给卡片使用解密密钥进行解密,如果密钥使用不正确,认证便无法通过。FMCOS在使用DES算法时,若数据长度大于8字节时使用自动补齐模式。自动补齐即数据长度不是8的倍数时,在计算过程中系统自动在数据后补80 0000使其长度为8的倍数。如数据为 12 23 34 56 78 89 90 A1 B1,由于数据长度不是8的倍数,所以在计算过程中自动将数据改写为 12 23 34 56 78 89 90 A1 B1 80 00 00 00 00 00 00 后再进行计算。在下一章会对加密算法进行详细说明。第4章 数据传输的加密技术4.1 加密算法基础网络安全中加密技术是基

41、础和重要组成部分。数据加密技术是指将一个信息或明文经加密函数变换或者是加密钥匙,变为密文,在公用网络进行传输。然后接收方用相应解密函数变换,或者用解密密钥解密,将其变成明文。 为了防止信息的泄露,就应该能保证只有某些合法用户在特定网络,能够接收到合法数据,并且对这些数据进行还原,能得到原始数据。因此密钥就是要保证这种情况,这就是密钥的作用。4.2 加密算法分类 专用密钥 明文 解密 函数加密函数 明文 图4 对称加密算法对称密钥和单密钥就是专用密钥。顾名思义,也就是说这种加密方式只用同一个密钥和算法。比如DES加密算法,这种算法应用起来比较简单。发送方用工作密钥通过DES算法进行加密后,接收后

42、的用户用他给的密钥同样用DES算法进行解密就可以了。比如一个加密的文档,经过密钥加密后进行传输,接到后用同一个方法解密就能得到原始数据。对称密钥 密文明文密文明文 加密密钥K 解密密钥K 图5 使用同一密钥的加解密 对称密钥很早就产生了,因为对称密钥具有运算量小、速度快、并且较安全的特点所以有很多人使用。DES算法需要一下几个参数来进行运算,分别是Data, Key和Mode。Data是一个长度为8个字节也就是64位二进制的数据,它是我们用来进行加密或解密的对象;秘钥Key是完成DES算法所需要的工作密钥,它的长度与Data的长度一样都是64位;Mode则是选择DES工作方式的标志位,有两种选

43、择,分别是加密和解密。DES算法的执行流程如下:如果Mode被选为加密模式,那么用Key去把数据Data进行DES加密,生成的数据就是DES加密后的输出结果,也就是将明文转换成密文;如果Mode被选为解密模式,则用Key数据Data进行DES解密,还原为原始的明码作为DES的输出结果,即把密文转换成明文。双方约定一致的Key后,在通信网络的两端,在通信最初用Key对数据先进行DES加密,再以密码形式在公用通信网中传输到终点,数据传输完成后,用一样的Key密码可以对数据进行解密,便可以看到加密前的数据。这便保证了核心数据存传输中的可靠性和安个性。 DES将数据分成长度为64位的数据块,是一种数据

44、分组加密算法。其中8位用作奇偶校验,其余的是密码。第一先把数据的位置进行打乱;第二把它切割成两段;然后用加密函数加密,多次迭代最后得到的就是加密密文。公开密钥明文 密文密文明文 加密密钥K1 解密密钥K2 图6 使用不同密钥的加解密公开密钥又可以叫做非对称密钥,加密和解密时使用不同的密钥(不同的算法)。不可能轻易地从一个推导出另一个,但是两者之间存在一定的关系。如RSA算法,一公用加密密钥进行加密,可以用多个解密密钥解密。在两个密钥中的关系,一般为数学关系。公钥和私钥都是一组数字上相关的很长的素数。因为用一个密钥加密的消息只能用另一个密钥才能解密,有一个密钥不足以翻译出消息。使用者有一对并且只

45、有一对密钥,一个公开另一个,公开的可以放于公用区,印在报纸上面等方式进行传递。而私钥要存放在安全的地方。它的工作过程可以理解为,先用公钥加密该文件,可以防止其他人的监听,但只有个人私钥可以解密该信息,这样就能保证信息无法泄密。 公开密钥虽然有比较好的性,但是也不知道是谁进行发送,所以只要有公用密钥的就能发文。数字签名就是用一种鉴别方法可以防伪造篡改等。4.非对称密钥 如RSA,数字签名一般采用非对称加密技术,通过对明文进行变换的结果用于核实签名。收报人用发报人的公开密钥解密运算,获得的结果如果能转化为明文,那么可以证明发报人身份的真实性。签名也可以采用多种方式。数字签名普遍用于电子贸易和银行等

46、。数字签名与手写签字是不同的。 手写签字反映了人的特征因而是不易改变的,而数字签名随文本的变化而产生变化。文本信息与数字签名是一体的,但是手写签字是在文本之后签字,与文本本身是没关的。4.3DES与MACDES算法就目前而言,是比较流行的数据加密算法,在智能卡中用的也比较多。主要是因为这种方法不是非常复杂,而且经过了比较长时间的检验。首先DES算法是六十四位,它是在加密中将容和密法通过一定方式放在一起,并且进行文件存储比较复杂的是有密码的多种属性,记录头加入了密码属性,并且为了保证其完整,在其中就加入了各种信息。而简单的密码文件就是长八字节。 我们对于鉴别经常所使用的算法就是DES算法,是通过

47、卡片和设备对同一随机数加密,然后看看结果是不是一样,如果一样,则说明结果是正确的。因为我们在信息交换中,要保证其不会被非法用户窃取,就要进行数据加密,数据加密的通讯过程也可以进行反窃听。并且我们还可以对这种鉴别做一下容的区分,比如部和外部认证。部认证是对卡片进行检验,通过读写设备完成。而外部认证就是卡片对读写器的验证了。在FMCOS的文件系统中,不论这个密钥文件是以何种方式进行存储的,COS都是通过控制其文件的访问权限,来控制密钥文件里面密钥的安全。因此,安全机制的作用非常重要。 对长度为8字节的密钥进行MAC计算的流程图如下图所示:图3 MAC的算法流程图MAC即通过加密算法所得的校验码,它

48、的长度被规定为4个字节,处于命令或命令数据域末尾。校验码在FMCOS的安全体系中非常重要,因为它用于圈存和消费等涉与到金融安全的应用中。命令安全报文中的校验码是使用命令的所有元素来产生的。当命令的数据域中要求必须带校验码时,命令头中CLA字节的低半字节必须为十六进制的4。按照如下方式使用DES加密方式产生校验码:表4 MAC获取步骤 第一步 终端通过向CPU卡发出命令获得一个四字节随机数,8字节随机数作为初始值,或后补“00 00 00 00作为初始值。 第二步 将5字节命令头(P1, P2, CLA, INS, Lc)和命令数据域中的明文或密文数据连接在一起形成数据块。Lc为数据长度加上将计

49、算出的MAC的长度也就是加4后得到的实际长度。 第三步 把第二步得到数据块按照8个字节为一块进行分割处理,表示为BLOCKI, BLOCK2等。最后一块的数据长度可能为1到8的任意长度,下一步会对它进行处理。 第四步 如果数据块在第三步正好分割成8个字节一块,为了保证数据库是8的倍数,我们在该数据块之后再加一个长度为8字节的数据块80 00 00 00 00 00 00 00,再转到第五步。 如果数据块分割后最后一块不足8字节,则在其后加80,若此时还不足8个字节,则往后面补00直到长度达到8字节,再转到第五步。 第五步 对这些数据块使用指定密钥进行加密来产生校验码。 第六步 最终取计算结果即

50、高4字节作为校验码。第5章 充电桩CPU卡计费实现5.1 CPU卡计费方案设计电动汽车充电桩的刷卡消费应用的目的是实现充电桩主控板对CPU卡的读写操作。刷卡消费需要完成的任务是读卡器寻卡、读取CPU卡信息、验证持卡者身份真伪,进入充电消费流程、消费信息与时的保存等。 依据用户刷卡消费的实际情况,综合考虑用户充电服务的提供、刷卡计费的方式,以与意外情况的处理,最后确定出程序实现时的基本流程。为保证计费的正确性和时效性,在充电桩主控程序中进入充电计费过程将定时刷新卡上余额。 具体的流程图如图4所示:5.2CPU卡应用计费应用设计与实现5.2.1嵌入式Linux操作系统移植 主控单元选择了基于ARM

51、11架构的OK6410,对于操作系统我们有两种选择,一种是Wince,另一种是Linux。经过比较,选择基于嵌入式Linux操作系统。Linux系统具有以下的特点: 首先Linux是一款完全免费的开源操作系统,我们很容易获得他并可以对它的源码进行任意修改。其次它的兼容性十分强大,通过相对应的模拟器便可以运行DOS、Windows程序。它支持多用户、多任务,这是它极其强大的一个特点。最后,它不仅具有字符界面,而且具有与Windows类似的图形界面。要在主控板上运行编写的CPU卡应用程序,我们首先要把嵌入式Linux操作系统移植到主控板,建立起完备的编译编译调试环境。我们采用装有Ubantu操作系

52、统的PC机作为宿主机进行程序初始开发,使用交叉编译的方式进行程序的编译,在生成可执行文件后,挂载到充电桩主控制板的主程序中。 Ubuntu 是南非科技公司 HYPERLINK :/baike.baidu /view/1069838.htm t :/baike.baidu /_blank Canonical公司开发的Linux 操作系统。Ubuntu 与其他版本的Linux相比,有着自己独特的优势。第一,为PC安装Ubantu系统十分简单,只需要去官网下载你所需要的版本,按照提示即可完成安装,需要的设置很少而且简单。第二,Ubantu的图形界面十分人性化,在Windows下的一些快捷键,在Uba

53、ntu中同样可以使用。第三,我们可以自行去官网下载最新的版本对它进行升级,并且是完全免费的。在此之前要需要进行充电桩主控板的操作系统移植:图4 充电桩计费流程图 飞凌官网上提供了如何为OK6410移植Linux操作系统的详细教程,我们只需按照教程使用SD卡将Linux核移植到主控板上。 第一步,我们要制作用于一键烧写Linux的SD卡。我们将系统核发送到SD卡中,这个核可以去飞凌官网下载我们需要的版本。第二步,烧写Linux到开发板的Nand Flash中。我们将制作好的SD卡插入到开发板的SD卡插槽中。 给开发板接上5V电源,拨动相应的开关,并把开发板的串口与PC机连接起来。通过DNW软件,

54、即可把Linux核移植到开发板中。5.2.2 ZM703读写模块数据传输协议传输管理是根据智能卡的信息传输协议来做的。用来对设备的信息做接收处理。接收后要把结果以一定的格式发送出去,格式是根据传输协议来定的。那么,这一部分主要与使用哪种通讯协议来决定。而通讯协议的复杂性,也决定了实现的复杂性。目前卡片采用的是T=0和T=1协议,这两种协议的不同之处,在实现上主要是传输管理器的不同。智能卡在信息交换时,不管是采用T=0还是T=1协议使用的都是异步通信模式。因为数据传输端口在智能卡上只有一个,所以信息交换的方式是半双工。数据中同时只能是乙方发送,另一方接收。T=1协议,一般以一定长度的数据块作为基

55、本的传输单位的,而T=0以单字节的字符为基本单位。可见T=0和T=1的不同在于它们数据传输单位以与格式都不一样。传输时,也要对接收到的命令做出校验,以确定其正确与否。这种校验是想保证传输过程中不会出错,所以基本上是奇偶校验或者是校验和的方法,而且并不判断其容是不是合法。如果为分组传输协议,那么我们可以根据分组的长度来确定是否是正确的。如果接受的命令有错误,那么信息交换协议如果不同,那么方法也就不一样。有一些是在命令上做一些简单的标记等,但是并不加以改正,而是等到后面的的模块去处理。而有一些就要向发送方告之,并要求重新发送。比如发送器如果认为他接到的是正确的,就会向下一个模块发送数据,并且过滤掉

56、起始停止位这些信息,如果传送器对发送方进行回复应答,就要对发从的信息提供信息交换协议中所规定的信息了。5.2.3CPU卡基本操作命令在CPU卡的应用过程中,需要用到多种COS指令来实现CPU卡和充电桩、CPU卡和用户管理系统的数据交换,这些指令按照COS系统规生成。在本文应用设计中,主要用到的文件指令包括选择,认证,取随机数,取响应数据,读、写文件等指令。每条指令均由:CLA, INS, P1, P2,数据长度与数据容六个部分组成。指令的应用首先需要熟悉COS指令系统,并且要对开发设计的CPU卡结构有深刻的了解。 命令与应答结构有以下四种情形:情形一: 命令CLA INSP1 P200应答SW

57、1SW2 情形二: 命令CLAINS P1P2Le应答Le字节DATASW1SW2 情形三: 命令CLA INSP1 P2LcData应答SW1SW2 情形四: 命令CLAINS P1P2LcDataLe应答Le字节DATASW1SW2 CLA:指令类别 INS:指令类型的指令码, P1 P2:命令参数 Lc:数据域DATA长度,该长度不可超过239字节 DATA:数据域或应答数据域 Le:要求返回数据长度,该长度不可超过239字节 SW1 SW2:卡执行命令的返回代码(状态字)5.2.4 CPU卡初始化与应用过程所需指令 在CPU卡的应用过程中,需要用到多种COS指令来实现CPU卡和充电桩、

58、CPU卡和用户管理系统的数据交换,这些指令按照COS系统规生成。 在本文应用设计中,主要用到的文件指令包括选择,认证,取随机数,取响应数据,读、写文件等指令。每条指令均由:CLA, INS, P1, P2,数据长度与数据容六个部分组成。指令的应用首先需要熟悉COS指令系统,并且要对开发设计的CPU卡结构有深刻的了解,下表中列举了在卡片初始化和应用过程中常用的指令,见下表:表5 常用指令表指令 容寻卡55AAFF 0003 0401 06CPU卡转入55AAFF 0003 0401 06复合认证55AAFF001505010800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

59、19建立主控密钥文件55AAFF 000F 04F1 80E00000073F005001F0FFFF 03外部认证密钥55AAFF 001D 04F1 80D401001539F0F0AA33FFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFF 08建立定长记录文件55AAFF 000F 04F1 80E00001072A0213F000FFFF 57添加文件记录55AAFF 001B 04F100E4F09A9824F43 D0建立EF55AAFF 0019 04F1 80E03F011138036FF0F095FFFFA000701 D9选择EF55AAFF 0011 04

60、F1 00A4040009A F6建立应用密钥文件55AAFF 000F 04F1 80E00000073F018F95F0FFFF 49口令(PIN)55AAFF 0015 04F1 80D401000D3AF0EF013312345FFFFFFFFFFF 29消费密钥55AAFF001D04F180D40102153EF00200013E023E023E023E023E023E023E023E02 67圈存密钥55AAFF 001D 04F1 80D40102153FF00200013F023F023F0 23F023F023F023F023F02 66建立钱包文件55AAFF 000F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论