种安全可靠的IC卡读写器系统的设计_第1页
种安全可靠的IC卡读写器系统的设计_第2页
种安全可靠的IC卡读写器系统的设计_第3页
种安全可靠的IC卡读写器系统的设计_第4页
种安全可靠的IC卡读写器系统的设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、一种安全可靠的IC卡读写器系统的设计摘 要随着现在生活的发展,IC卡在人们的生活中起到了越来越重要的作用,这对IC卡行业是一次挑战,也是一个很好的发展机遇。本文在对IC卡熟悉的基础上,以8051单片机为核心并选用X76F100卡设计了一种安全可靠的IC卡读写器。本论文采用软硬件结合的方法,硬件设计通过对单片机、IC卡的选型,并设计了相应的监控电路、键盘电路和显示电路。论文还对IC卡的内部结构,工作原理,编程和加密进行了详细的研究。软件设计的实现是在硬件系统设计的基础上来编写的,用汇编语言对单片机进行了编程,实现读写卡、控制和显示等功能。本文还对IC卡的安全性进行了研究和讨论,指出了IC卡应用中

2、的漏洞并提出防范的方案。本文设计的IC卡读写器以硬件设计为主,并对IC卡的读写和显示等进行了相关的程序设计。关键词 IC卡读写器;X76F100卡;单片机;汇编语言AbstractWith the development of our lives, the IC card plays more and more vital role in peoples life, which is a challenge to the IC card profession and also is a very good development opportunity.This article carries

3、 acquaint with the IC card on foundation, takes 8051 signal chip and selects the X76F100 card as the core to design one kind of security reliable IC card reader-writer. The paper uses the method of the software and hardware unified, the hardware has been designed in the corresponding monitoring circ

4、uit, the keyboard circuit and the display circuit through the shaping of the signal chip and the IC card. The paper has been studied in the detailed to the IC card internal structure, the principle of work, the programming and the encryption. The design of the software has been carried on in the fou

5、ndation of the design of the hardware system and programmed to signal chip with the assembly language and realized the function of the researched and discussed to the IC card security and pointed out the loophole in the IC card application and proposed the guard method.This article designs the IC ca

6、rd reader-writer by the hardware design primarily, and read-write and the demonstration and so on has been carried on the related programming to the IC card.Key words IC card reader-writer; X76F100 card; Signal Chip; assembly language目 录 TOC o 1-3 h z u HYPERLINK l _Toc230408605 摘 要 PAGEREF _Toc2304

7、08605 h I HYPERLINK l _Toc230408606 Abstract PAGEREF _Toc230408606 h II第 HYPERLINK l _Toc230408607 1章 绪论 PAGEREF _Toc230408607 h 1 HYPERLINK l _Toc230408608 1.1 IC卡读写器的研究背景和目的 PAGEREF _Toc230408608 h 1 HYPERLINK l _Toc230408609 1.1.1 IC卡的分类及其特点 PAGEREF _Toc230408609 h 1 HYPERLINK l _Toc230408610 1.1

8、.2 IC卡读写器介绍 PAGEREF _Toc230408610 h 2 HYPERLINK l _Toc230408611 1.2 IC卡在我国的发展 PAGEREF _Toc230408611 h 3 HYPERLINK l _Toc230408612 1.3 本文的主要组织结构 PAGEREF _Toc230408612 h 3第 HYPERLINK l _Toc230408613 2章 IC卡读写器硬件电路设计 PAGEREF _Toc230408613 h 4 HYPERLINK l _Toc230408614 2.1 读写器电路设计 PAGEREF _Toc230408614 h

9、 4 HYPERLINK l _Toc230408615 2.2 单片机选型 PAGEREF _Toc230408615 h 4 HYPERLINK l _Toc230408616 2.2.1 8051部分管脚功能 PAGEREF _Toc230408616 h 4 HYPERLINK l _Toc230408617 2.2.2 ALE/PROG地址使能信号端 PAGEREF _Toc230408617 h 5 HYPERLINK l _Toc230408618 2.2.3 PSEN程序储存使能端 PAGEREF _Toc230408618 h 6 HYPERLINK l _Toc230408

10、619 2.2.4 EA/VPP PAGEREF _Toc230408619 h 6 HYPERLINK l _Toc230408620 2.2.5 XTAL1、XTAL2接晶体振荡器引脚 PAGEREF _Toc230408620 h 6 HYPERLINK l _Toc230408621 2.3 X76F100卡座以及卡的介绍 PAGEREF _Toc230408621 h 6 HYPERLINK l _Toc230408622 2.3.1 X76F100卡座 PAGEREF _Toc230408622 h 6 HYPERLINK l _Toc230408623 2.3.2 X76F100

11、卡 PAGEREF _Toc230408623 h 7 HYPERLINK l _Toc230408624 2.4 监控电路设计 PAGEREF _Toc230408624 h 10 HYPERLINK l _Toc230408625 2.4.1 X25045介绍及其引脚功能 PAGEREF _Toc230408625 h 10 HYPERLINK l _Toc230408626 2.4.2 X25045看门狗电路设计及编程 PAGEREF _Toc230408626 h 11 HYPERLINK l _Toc230408627 2.5 键盘接口电路设计 PAGEREF _Toc2304086

12、27 h 12 HYPERLINK l _Toc230408628 2.6 显示电路设计 PAGEREF _Toc230408628 h 12 HYPERLINK l _Toc230408629 2.6.1 LED数码管的显示 PAGEREF _Toc230408629 h 13 HYPERLINK l _Toc230408630 2.6.2 数码管驱动芯片的选择及其应用分析 PAGEREF _Toc230408630 h 13第 HYPERLINK l _Toc230408631 3章 IC卡读写器的软件程序设计 PAGEREF _Toc230408631 h 15 HYPERLINK l

13、_Toc230408632 3.1 主程序流程图 PAGEREF _Toc230408632 h 15 HYPERLINK l _Toc230408633 3.2 循环键盘显示程序 PAGEREF _Toc230408633 h 15 HYPERLINK l _Toc230408634 3.3 X76F100读程序举例 PAGEREF _Toc230408634 h 16第 HYPERLINK l _Toc230408635 4章 IC卡的安全性问题 PAGEREF _Toc230408635 h 20 HYPERLINK l _Toc230408636 4.1 对IC卡及其系统的潜在攻击 P

14、AGEREF _Toc230408636 h 20 HYPERLINK l _Toc230408637 4.1.1 对IC卡片可能出现的非法攻击 PAGEREF _Toc230408637 h 20 HYPERLINK l _Toc230408638 4.1.2 对IC卡终端设备的非法攻击 PAGEREF _Toc230408638 h 20 HYPERLINK l _Toc230408639 4.1.3 通讯网络系统的攻击 PAGEREF _Toc230408639 h 21 HYPERLINK l _Toc230408640 4.2 IC卡安全问题的解决方案 PAGEREF _Toc230

15、408640 h 21 HYPERLINK l _Toc230408641 4.2.1 确保卡内数据安全及防止单片机程序被读的方法 PAGEREF _Toc230408641 h 21 HYPERLINK l _Toc230408642 4.2.2 提高电子模块的抗攻击能力的方案 PAGEREF _Toc230408642 h 21 HYPERLINK l _Toc230408643 结 论 PAGEREF _Toc230408643 h 22 HYPERLINK l _Toc230408644 致 谢 PAGEREF _Toc230408644 h 23 HYPERLINK l _Toc23

16、0408645 参考文献 PAGEREF _Toc230408645 h 24 HYPERLINK l _Toc230408646 附录A PAGEREF _Toc230408646 h 25 HYPERLINK l _Toc230408647 附录B PAGEREF _Toc230408647 h 33第1章 绪论 读写器是IC卡系统中不可缺少的重要组成部分,它是各类IC卡与其相应的应用系统连接的工具,起到了信息识别、传送、处理任务的功能。随着IC卡的广泛应用,各类读写器的设计也有了长足的发展。1.1 IC卡读写器的研究背景和目的 IC卡是集成电路卡(Integrated Circuit C

17、ard)的英文简称,在有些国家也称之为智能卡、智慧卡、微芯片卡等,将一个装用的集成电路芯片镶嵌于符合ISO7816标准的PVC(或ABS等)塑料基片中。由于它保存的信息比较可靠安全,可以高达几万次的读写,所以大量应用于公交车票、信用卡、电话卡等收费系统。1969年12月,日本的有村国孝先生首先提出一种制造安全可靠的信用卡方法。1974年,法国的罗兰德穆瑞拉(Roland Moreno)发明了带集成电路芯片的塑料卡片,并获得了专利,这就是早期的IC卡,但一时尚未实用化。1976年法国布尔(Bull)公司研制出世界第一枚IC卡。1984年法国PTT(Posts ,Telegraphs and Te

18、lephones)将IC卡用于电话卡,由于IC卡良好的安全性和可靠性,获得了意想不到的成功。随后,国际标准化组织(ISO,International Standardization Organization)与国际电子委员会(IEC,Internation Electortechnical Commmission)的联合技术委员会为之制定了一系列的国际标准、规范,极大推动了IC卡的研究发展。本论文根据X76F100卡研制了一种安全可靠的读写器系统。该读写器能够识别与控制IC卡、提供稳定的电源和时钟、能使应用系统与卡进行数据交换、并通过该读写器的键盘和LED显示对卡进行相应的操作和处理。 IC卡

19、的分类及其特点1. IC卡的分类IC卡根据卡中所用嵌粘的集成电路的功能的不同,可分为接触式IC卡和非接触式IC卡两大类。在实际使用中,以接触式IC卡应用较多。本文采用的是接触式IC卡。接触式IC卡,具有标准形状的铜皮触点,通过和卡座的接触点相连实现外部信息和系统设备的信息交换。它又分为以下三类: (1)存储卡:具有存储记忆的功能,不带加密逻辑,这类卡适用于其内部信息不用加密的应用系统。(2)加密存储卡:卡中具有若干个密码口令,只有在密码输入正确后,才能对相应区域的信息内容进行读出或写入。(3)智能卡:卡中还带有信息处理器(CPU),该类卡是一个带有操作系统的单片机系统,严格防范非法用户访问卡中

20、的信息。2. IC卡的特点IC卡较之以往的识别卡,具有以下特点:一是可靠性高;IC卡具有防磁、防静电、防机械损坏和防化学破坏等能力,信息保存期在100年以上,读写次数在10万次以上,至少可用10年;二是安全性好;三是存储容量大;四是类型多。 IC卡读写器介绍无论哪种IC卡,IC卡本身不带电源,而存贮容量非常有限,所以IC卡本身不能单独使用,必须与相关设备(如:读写器)组合使用,才能共同构成一个符合人们某种需求的应用系统。1.非接触式IC卡读写器非接触式IC卡与读卡器之间通过无线电波来完成读写操作。非接触式卡没有电源,工作时,IC卡进入读写区(又称感应区),读写器向IC卡发一组固定频率的电磁波,

21、卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,共振产生的电能通过一个单向导通的电子泵送到电容内存储,当所积累的电荷达到2V时,卡内的其他集成电路开始工作。由于非接触式IC卡本身是不带电源的,当读写器对卡进行读写操作时,终端发出的信号就由两部分叠加组成,一部分是电源信号,该信号由卡接收后,与卡片的LC串联谐振电路共振产生的能量来供给卡内芯片工作。另一部分是指令和数据信号,指挥卡内芯片完成数据的读取、修改、存储等,并返回信号给予终端。读写器一般由单片机、存储器、专用智能RF模块和天线组成,并配有与PC机通讯的接口、打印口、I/O口等。2.接触

22、式IC卡读写器接触式IC卡卡片上有8个触点,工作时,读写器通过这些触点对IC卡提供电源(VCC)、定时脉冲(CLK)和数据交换(I/O)。IC卡读写器不仅是卡与外界通信的桥梁和传输介质,而且通常是IC卡的能量来源。读写器借助自身的机械卡座、射频(RF)或红外(IR)无线信道,以接触或非接触方式来实现对IC卡的读写操作。因此,我们在设计IC卡读写器时,应保证IC卡读写器具有如下几个主要功能:(1)当IC卡进入/退出读写区时,对IC卡的识别和控制。(2)为带触点的IC卡提供稳定的电源和时钟;向非接触的IC卡发射射频信号,并通过它提供IC卡工作所需的能量。非接触IC卡接收到射频信号后,通过卡内整流稳

23、压电路整流稳压后向提供卡内其它集成电路提供所需的工作电压。(3)实现读写器与卡之间的数据交换,并提供相应的控制信号。(4)对加密数据提供相应的加/解密处理及密码管理机制。(5)提供相应的外部控制信息,与其他设备进行信息交换。1.2 IC卡在我国的发展 2005年至今后的5年,是我国IC卡应用向纵深发展的时期。我国IC卡市场格局必将由无序走向有序,市场竞争必将由有限走向无限,IC卡市场将逐步走向成熟,进入微利时代1。在这种形势下单纯的发卡量和新产品数量并不能衡量IC卡产业与市场的发展水平,市场发展的程度最终取决于IC卡的应用水平极其带来的社会效益。从可持续的发展角度讲,加强行业规范,推动IC卡企

24、业由产品和技术型转向应用和服务型转变,将成为我国IC卡市场发展的重要趋势2。1.3 本文的主要组织结构本文是以单片机8051为核心采用XICOR公司的X76F100 IC卡片设计的一种安全可靠的IC卡读写器。本论文包括四个部分。第一章首先介绍了IC卡的种类、功能和IC卡目前在我国发展的状况。第二章是本文的重点,从硬件方面详细介绍了单片机选型、IC卡选型、键盘电路、显示电路的设计方案。第三章是在实现了硬件的基础上对本文设计的IC卡读写器进行了编程。第四章着重论述了现在人们对IC卡行业关心的IC卡安全性问题,并提出了相应的解决方案。第2章 IC卡读写器硬件电路设计本设计采用XICOR公司的X76F

25、100作串行E2PROM,设计以8051单片机为核心的IC卡读写器系统。2.1 读写器电路设计图2.1 IC卡读写器的硬件电路图图2.1为IC卡读写器的硬件电路图。此读写器电路图由单片机、键盘、显示、监控电路等部分组成。2.2 单片机选型单片机体积小、重量轻,具有很强的灵活性而且价格不高,得到越来越广泛的应用3。8051是我的首选机型。2.2.1 8051部分管脚功能8051共有4 个I/O端口,分别为P0、P1、P2、P3。4个I/O口都是双向的,且每个口都具有锁存器4。每个端口有8条线,共计32条I/O线。P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0 P3.7。P0口有三

26、个功能:外部扩充存储器时,作数据总线(D0D7);外部扩充存储器时,作地址总线(A0A7);不扩充时,作一般I/O使用,内部无上拉电阻,作为输出/输入使用时应加上拉电阻。2P1口只作I/O口使用,有内部上拉电阻。3P2口有两个功能:(1)扩充外部存储器时,作地址总线(A8A15)使用。(2)作一般I/O口使用,有内部上拉电阻。4P3口有两个功能:除作为I/O口(有内部上拉电阻)外,还有一些特殊功能。由特殊功能寄存器来设置端口的引脚特殊功能。P10(8052)T2 TIMER2的外部输入引脚(8052)。P11(8052)/T2EX (TIMER2的捕捉(Capture)/重新加载(Reload

27、)的触发)。P30RXD(串行输入口)。P31TXD(串行输出口)。P32/INT0(外部中断0)。P33/INT1(外部中断1)。P34T0(TMER0的外部输入脚)。P35T1(TMER1的外部输入脚)。P36/WR(外部数据存储器的写入控制信号)。P37/RD(外部数据存储器的读取控制信号)。端口1,2,3有内部上拉电阻,作为输入时,其电位被拉高,若输入为低电平可提供电流源;作为输出时可驱动4个TTL。而端口0作输出缓冲器可驱动8个TTL(需外加上拉电阻)。2.2.2 ALE/PROG地址使能信号端有三种功能:(1)8051外接RAM/ROM时,ALE接地址器(8282)的STB脚,(7

28、4373)的EN脚,当CPU对外部存储器进行存取时,用以锁住地址的低位地址。(2)8051未外接RAM/ROM时,ALE脚会有1/6晶体振荡频率,可作为外部时钟。(3)在烧写EPROM时,ALE作为烧写时钟的输入端。2.2.3 PSEN程序储存使能端(1)内部程序存储器读取,不动作。(2)外部程序存储器读取(ROM),在每个机器周期会动作两次。(3)外部数据存储器读取(RAM),两个/PSEN脉冲被跳过不会输出。(4)外接ROM时,与ROM的/OE脚连接。 EA/VPP (1)接高电平时:CPU读取内部程序存储器(ROM)。扩充外部ROM,当读取内部程序存储器超过0FFFH(8051)、1FF

29、FH(8052)时,自动读取外部ROM。(2)接低电平时:CPU读取外部程序存储器(ROM)。(3)8051烧写内部EPROM时,利用此脚21V的烧写电压。 XTAL1、XTAL2接晶体振荡器引脚 机器周期晶体12。2.3 X76F100卡座以及卡的介绍 X76F100卡座 图2.2 X76F100Y引脚X76F100为1288位的保密串行FLASH E2PROM,其中读密码和写密码分别为64位5。图2.2为其智能卡封装的引脚图。把芯片封装在一个卡片上,将卡片插入IC卡读写器的卡座中,读写器就可以对它进行读写。IC卡卡座有8个引脚,当X76F100Y插入时,正好同这几个引脚相连5。另外还有两个

30、固定端,其中一个固定端同卡座上一个弹簧片相连,两个触点和簧片就相当于一个常闭开关。 X76F100卡1.X76F100卡的性能 XICOR公司的产品X76F100是一种可用于密码访问安全监控、加密存储器卡的闪烁存储器芯片。X76F100芯片的主要技术性能如下:有两种密码,即用于读出芯片数据的密码和用于将数据写入芯片的密码,每种密码字长8字节(64位),这些密码保护存储器阵列的读写操作。具有可编程功能读、写密码,多阵列访问编程,重试计数器编程,即允许8次试验然后阵列清零。高可靠性:每字节可重复擦写10万次,数据保持100年,所有引脚具有2000V的ESD保护能力。符合ISO标准的32位对复位的响

31、应(RST输入)。每次8字节扇区的写入与读出。4个1K(1288)存储器阵列。2.卡引脚配置及功能X76F100卡引脚功能如下:/CS端:片选,该端为低电平时选中芯片。SCL端:串行时钟输入端。SDA端:串行数据输入/输出线。VCC端:电源正端,电压为5V或33.6V。VSS端:GND。NC端:不连接脚。RST端:当该端为高电平,/CS为低电平时,器件进入RESET状态,X76F100将输出固定的确认为标准的“复位同步响应”的32位数据,该数据符合对RESET同步响应的ISO标准。在RESET期间,/CS端应为低电平且器件不处于写周期。在RESET响应时,若/CS端变为高电平,则RESET响应

32、终止,器件将回到等待状态。3.工作原理X76F100内部电路框图如图2.3所示,该器件是CMOS闪烁存储器。X76F100有两种基本的工作:保密读和保密写,对此要遵守如下的约定:重试计数器。X76F100内部包含一重试计数器,该重试计数器允许8次无效访问而不发生动作,如果访问超过8次,内部数据将会清零。器件的协议:X76F100支持与双向总线有关的协议。时钟和数据的约定:在SDA线上数据的状态只有在SCL为低电平时才能改变;当SCL是高电平时,SDA的变动用作表示“开始”和“停止”条件。开始条件:所有命令都由开始条件前导,即当SCL为高电平时,SDA由高电平跳变到低电平。停止条件:所有命令都必

33、须由停止条件来终止,即当SCL为高电平时,SDA由低电平跳变到高电平。应答:应答是一个用来表示数据传送成功的软件约定。 图2.3 X76F100内部电路框图4.编程操作页写:重写方式需要发出8位命令其后跟随密码。写命令字节包括所要写入的页地址。数据从页的第一个地址开始写入并且必须传送8个字节。在最后字节传送以后发出一个停止条件。这个条件启动非易失性写周期,如果传送少于或多于8个字节,则页中的数据将保持不变。读操作(含页面读):页面读时,用读命令提供一个页面地址。一旦密码被响应,数据即可从页面中读出。每8位数据的传送必须跟随一次应答。一次读操作总是从页面中的第一个字节开始,但可以在任何时候停止。

34、对阵列的随机访问是不可能的。阵列的连续读将从后续的页面中取数据。在读到阵列中的最后一页时,地址将自动地设置到阵列中的第一页,而数据可继续地读出。在最后一位被读之后,不需要先送应答就可产生停止条件。密码:密码可以在正常的页面写操作过程中通过送一个“改变读密码”或“改变写密码”命令来改变。必须传送一个全部为8字节的新的密码,随后是发送当前的密码和一个有效的密码应答响应。用户可以用一个重复的应答来询问命令从而检查新的密码是否正确地写入。一个应答表示新的密码已有效。5.加密原理软件加密原理:已知明文数组内有26个字母,密文数组内也有26个字母,将字符串明文按4个字母分成若干组,最后一组不足4个的用虚码

35、补足,接着再将字符串明文经过如下的加密算法后变成对应的密文,如表2-1所示。X1,X2,X3,X4为一组明文,Y1,Y2,Y3,Y4为加密后的密文A为加密矩阵,B为解密矩阵(BA)MOD26=E。表 2-1 将字符串明文经加密算法后变成对应的密文2.4 监控电路设计 X25045介绍及其引脚功能X25045是美国XICOR公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内。X25045的引脚图如图2.4所示。图2.4 X25045引脚图其引脚功能如下:CS:片选择输入。SO:串行输出,数据由此引脚逐位输出。SI:串行输入,数据或命令由此引脚逐位写

36、入X25045。SCK:串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出。WP:写保护输入,当它低电平时,写操作被禁止。VSS:地。VCC:电源电压。RESET:复位输出。X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表2-2所示。 表 2-2 X25045指令及其含义指命令指令格式操作WREN00000110设置写使能锁存器(允许写操作)WRDI00000100复位写使能锁存器(禁止写操作)RDSR00000101读状态寄存器WRSR00000001写状态寄存器READ0000A8011把开始与所选地址的存储器中的数据读出WRITE0000A8010把数据写开始与

37、所选地址的存储器 X25045看门狗电路设计及编程X25045看门狗电路硬件连接图如图2.5所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路输出一个正脉冲,使CPU复位。图2.5 X25045看门狗电路硬件连接图看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表2-3所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。 表 2-3 X25045状态寄存器D7D6D5D4D3D2

38、D1D0XXWD1WD0BL1BL0WELWIPWD10,WD0=0,预置时间为1.4s。WD10,WD0=1,预置时间为0.6s。WD11,WD0=0,预置时间为0.2s。WD11,WD0=1,禁止看门狗工作。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长一些。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。只需这样一块芯片,外加晶振和复位电路就可以组成单片机的应用系统。2.5 键盘接

39、口电路设计键盘扫描只是CPU的工作内容之一,CPU在忙于各项工作时,如何处理键盘的输入取决于键盘的工作方式,键盘工作方式的选择应根据应用系统中CPU工作的忙、闲情况而定6。通常键盘工作方式有三种:编程扫描、定时扫描和中断扫描。在编程扫描中,CPU反复地扫描键盘,等待用户的输入命令,而执行键入命令或处理输入数据时,CPU不再响应输入要求,直到CPU返回重新扫描键盘为止。定时扫描工作方式利用单片机内部定时器产生定时中断,CPU响应定时器中断后对键盘进行扫描,在有键按下时识别出该键并执行相应功能程序。使用中断方式时,在没有键按下时,不占用CPU处理时间,只有当有键按下时产生键盘中断,由中断程序识别键

40、并执行功能程序。键盘接口电路如图2.6所示。 图2.6 键盘接口电路2.6 显示电路设计显示部份采用LED显示器,也用I/O口实现。用于显示系统状态、输入的密码或出错信息等。 LED数码管的显示现在显示器主要使用的就是LED或LCD。LCD具有薄、轻、文字显示效果好等优势。LED属于固体冷光源,具有更小、更轻、更坚固,而且寿命长、抗震效果好、光谱几乎全部集中于可见光频段显示清晰、电路简单使成本大大降低,使用它可以达到理想效果。LED数码管是由8段发光二极管构成,因此也称为8段数码显示器,其中八个管脚分别是对七个发光二极管和小数点的驱动,另外两个管脚是对字段驱动。它的8个发光二极管具有两种接法:

41、一种是把8个发光二极管的阳极连在一起构成了一个公共的阳极,称为共阳极接法,另一种是共阴极接法。而我们所采用的就是共阴极接法的数码管。 数码管驱动芯片的选择及其应用分析常用的专用数码管显示电路选用MAX7219,它连线简单,不占用数据存储器空间。 MAX7219是八位串行共阴极LED数码管动态扫描驱动电路的驱动芯片,其峰值段电流可达40mA;仅使用单片机3个I/O口即可完成对六位LED数码管的显示控制和驱动,外围电路仅需一个电阻设定峰值段电流。还可以通过级联,完成对多于八位的数码管的控制显示。因此我们选择了后者MAX7219作为数码管的驱动芯片。但级联时会有些不方便,电路有时也不稳定。MAX72

42、19内部含有硬件动态扫描显示控制,它可以直接驱动64段LED条形图显示器。数据通过单片机处理后送给MAX7219。当工作处于关闭方式时,单片机仍可对其传送数据和修改控制方式。MAX7219是共阴极LED显示数码管的驱动器,具有多显示可控方式。DIN为串行数据输入端;CLK为串行时钟输入端;SGASGP为LED七段显示器段驱动输出端和小数点驱动输出端,要在动态显示器的某一位上显示小数点,设置一个控制字,当扫描到显示小数点的这位显示器时,就用到控制字来修改字位代码,使对应的小数点发光;DG0DG7为8位字驱动端,MAX7219的字驱动端与数码管的公共阴极相连,公共阴极由此吸入电流。为实现LED的动

43、态扫描,除了把所有显示器的8个显示段从左到右同名端连在一起外,还须对每个显示器的公共极DG实行独立的I/O控制,这里只用到DG0DG5驱动六位显示器输出字选信号;LOAD为装载数据控制端;ISET为LED段峰值电流提供端,它通过一只电阻与电源相连,以便给LED段提供峰值电流;GND:接地端; VCC:+5V电源端。MAX7219驱动4位LED显示器,DIN、LOAD、CLK 端口分别与8051的P21、P22、P23端相连,即P21为MAX7219提供串行数据,装载数据由P22控制,P23为它提供串行时钟脉冲,为数码管显示器提供位控信号和段控信号。由于数码管位驱动是低电平有效,而SEG段控口是

44、高电平有效,所以MAX7219后要加ULN2803作为驱动装置来作为反向驱动器,ULN2803(它相当于一个集电极开路OC门)经过三极管和限流电阻来驱动LED显示器的每一个显示字段。这样,当所有显示器接收到CPU向显示段输出口送出的字形代码时,由MAX7219为显示器提供位控信号和段控信号,位控信号再经ULN2803反向器的取反,将电平转换,然后通过三极管和限流电阻的驱动所有显示器。但显示器中的一段数码管压降为+9V,考虑一定的电路需要,选+12V作为电源来提供整个显示部分。动态显示必须由段控信号决定某一显示器是否点亮。采用分时方法,循环地控制各个显示器的DG端,使各个显示字段轮流点亮。在LE

45、D显示器扫描过程中,任何时刻只有一位显示器亮,但由于人眼的视觉惰性,显示刷新很快时,可以认为全部显示。第3章 IC卡读写器的软件程序设计3.1 主程序流程图 主程序流程图,如图3.1所示。开机后,系统处于待机状态,不断查询P3.2脚电平,当X76F100插入读写器卡座时,P3.2脚电平变高,单片机检测到P3.2高电平信号时,使P1.3脚电平变高,如果此时为低电平,X76F100复位,输出32位固定的“同步复位响应”数据7。然后循环扫描键盘显示程序,进行存款、取款、查询或改密码。一次操作完成后返回,然后不断循环。 图3.1 主程序流程图3.2 循环键盘显示程序循环扫描键盘显示程序如图3.2所示,

46、它采用程控扫描方式。键盘实际操作的顺序是:先按功能键,然后依次输入8位(十进制)密码,按回车键确认。当修改密码时,随后输入8位新密码,输完后按回车键确认。若输入密码正确,显示IC卡内信息或改密码成功信息(SUCCESS)。若密码不正确,提示重新输入,允许输入密码4次。 为了记录操作中正在进行的状态,在键盘程序中设置了多个指针。(1)KEY 有否按键按下标志。00H表示无键按下,01H表示有键按下。此标志用于判断按键是否已松开,防止误操作。(2)FUN为功能键指针,00H表示无功能键按下,01H表示存款(ADD),02H表示取款(SUB),03H表示查询(IQUIRE),04H表示改密码(CHA

47、NGE PASSWORD)。(3)DIG为允许数字键输入标志,00H表示不允许,01H表示允许。此标志主要是防止输入多余的密码,或输入的款数超出限额。(4) NUM表示输入第几个数字,00H表示无数字输入,01H08H表示输入密码,09H10H表示输入款数或新密码,若NUM为11H,显示出错信息。 图3.2 循环键盘显示程序流程图3.3 X76F100读程序举例X76F100为I2C总线E2PROM。SCL为时钟输入,SDA为双向数据输入输出线。通过片输入来控制对器件的访问。下面以页写为例,页写时序如图3.3所示。在该系统中,8051,X76F100为从机。首先主机向从机发一个START命令,

48、产生开始条件,然后发写命令字。当从机接到命令后,向主机发一个应答信号NACK。然后跟随8字节密码,随后进入一个写周期,写周期结束后进行密码应答轮询ACK Polling。X76F100要求主机用专用的应答命令55H进行应答轮询。如果输入的密码正确,将返回一个“ACK”。如果密码不正确,将返回“no-ACK”,重试计数器加1,返回到启始位置,提示重新送入写命令字和8字节密码。若密码正确,主机接着送入8个字节的数据,ACK响应成功后主机发出STOP命令完成写操作。下面是用写密码进行页写的程序。 图3.3 页写时序图WRITE_USING_WRITE_PASS: ;用写密码进行写操作ACALL ST

49、ART ;调开始命令MOV A,#SECTOR_WR ;调页写命令ACALL OUTBYTE ;调输出字节命令ACALL NACK ;X76F100发应答信号ACALL WR_WR_PASS ;调写密码命令ACALL T10ms ;10ms延时开始写密码周期ACALL ACK_POLLING ;调密码应答轮询子程序ACALL WR_DATA ; 调页写数据子程序ACALL STOP ;调停止命令ACALL T10ms ; 延时10ms写密码周期RET WR_WR_PASS ;将写密码写入X76F100MOV R0,#WR_PASS7 ;将密码首址送入R0MOV R1,#08H ;写密码为8个字

50、节WP:MOV A,R0 ;将R0中的数据送入A中ACALL OUTBYTE ;输出字节子程序ACALL NACK INC R0DJNZ R1,WPRETOUTBYTE: ;主机向X76F100发字节MOV R2,#08H ;一个字节有8位LOOPOCLR SCL_76 RLC A ;移位MOV SDA_76,C ;将进位送入数据线SETB CL_76 DJNZ R2,LOOP ; 循环直到R2为0RET STARTSETB SDA_76 ;开始子程序SETB SCL_76 SETB SCL_76RETSTOPCLR SDA_76 ;停止子程序SETB SCL_76 SETB SDA_76RE

51、TACK_POLLING ;密码应答轮询子程序ACALL STARTMOV A,#55H ;主机发固定应答命令ACALL OUTBYTEACALL NACK ;调从机发应答信号JC PASS_ERROR ;若有进位则密码错误RET PASS_ERROR ;密码错误ACALL STOP RETACK:CLR SDA_76 ;主机执行一个应答ACALL CLOCK RETNACKSETB SDA_76 ;从机执行一个应答ACALL CLOCK RETCLOCKSETB SCL_76 ;第9个脉冲MOV C,SDA_76 ;读SDA状态以判断是否有应答CLR SCL_76 RETT10ms:MOV

52、R7,#064H ;10ms延时T10A MOV R6,#032HT10BDJNZ R6,T10BDJNZ R7,T10ARET第4章 IC卡的安全性问题随着IC卡在我们生活中应用范围不断扩大,我们不得不考虑它的安全性问题,IC卡的安全要从两方面考虑,一是从系统设计上要切实解决安全问题,一是使用部门要建立起必要的安全管理制度。这里从系统硬件设计的角度考察一下对安全性问题的处理。4.1 对IC卡及其系统潜在攻击IC卡系统组成主要有IC卡、读写器终端设备、数据传送网络和管理系统等几部分。对于系统的不同部分可能存在的潜在非法攻击主要表现为以下几种情况。 对IC卡片可能出现非法攻击1.用伪卡替换操作:

53、终端设备在读写IC卡的过程中,可能会有一定的时间间隙,在这个时间间隙之前用合法的授权卡打开终端设备及其控制装备,并在写入数据之前用假卡替换真卡,使得所有的消费记录没有写入到真正被授权的IC卡中,而被纪录在伪卡之中。2.用干扰信号破坏对IC卡的操作:在IC卡的读写过程中,对某信号线在特定的时刻施加干扰信号,以使IC卡中的数据混乱或无法正确地纪录和修改。3.解剖分析IC卡的内部结构:将IC卡的电路进行分析,并利用较先进的仪器设备测试IC卡的各种密码的位置和状态字,从而破译整个系统。4.冒充合法持卡人使用IC卡:在IC卡使用过程中,由于被盗窃或遗失,使得非授权持卡人可能冒充合法持卡人使用IC卡,并利

54、用其他设备来跟踪探测IC卡的密码,以便获取卡内资金和资料信息或欺骗打开各种受控设备。 对IC卡终端设备非法攻击1.对终端设备进行信息截获和复制:任何类型的IC卡终端设备其输入或输出的信息总是可以测试得到或从操作过程中截获。通过大量信息的分析,就有可能得出IC卡或设备的响应规律或复制特征。2.对终端设备进行仿造:正在使用中的IC卡终端设备被人盗窃或拆卸,改装,并使之成为对合法的IC卡或系统进行攻击的工具。3.对终端设备误操作:对终端设备的操作,可能是由完全无相应知识的人员来进行的。在无意识情况下的操作失误,有可能对IC卡或系统造成具有危害性的影响。 通讯网络系统的攻击1.改变信号流向:截获网络通

55、讯过程的文件信息,将IC卡终端设备的源信息传送到虚假目的的终端设备,以改变系统信息流的真实流向,使得真实的控制信息或文件传送不到或相互错位传送。2.用干扰信号来破坏网络系统的通讯:在IC卡的读写过程中(如对某些重要信息进行认证的过程中),通过对网络施加干扰信号,使IC卡输入/输出的数据或终端设备的数据传送发生变化。3.通过网络途径截获有价值的信息:在IC卡应用系统中,将通过网络传输的各类信息截留和分析,有可能得到各种有价值的信息,甚至成为系统密码,通讯协议泄露的重要途径。4.2 IC卡安全问题的解决方案为了彻底解决卡内数据安全,使用了SAM机制来构成卡表的基本安全机制。 确保卡内数据安全及防止

56、单片机程序被读的方法SAM机制基本原理是:SAM模块和CPU卡互成一对,双向相互认证(内部认证外部认证),并采用对随机数进行加密的方法来进行密钥的确认,加上卡口的输出数均为密文等严密的安全措施保护了卡内密钥无法获得破译、卡内数据无法进行非法修改。 提高电子模块的抗攻击能力的方案为了在低成本前提下实现防止恶意攻击卡口方面,我们将该模块装入外卡口到单片机管脚之间(包括电源),若由外卡口任意引线之间加入AC不超过600V、DC不超过2500V、静电不超过30000V(模块有吸收静电能量的功能)的各种电攻击,模块在不超过0.1ms内将电攻击隔离,当电攻击撤消后,外卡口到单片机管脚之间通道将会自动重新开

57、通。结 论本文对一种安全可靠的IC卡读写器做了较为细致的介绍。设计领域包括了电子技术、单片机、IC卡技术、C语言,和一些数据的处理问题,涉及到了很多学课。在设计研究过程中,侧重于IC读写器的硬件功能实现,其中包括:单片机8051的选型同时对它各个管脚的功能做了深入的研究;本文还对Xicor公司生产X76F100卡和监控芯片X25045也做了比较详尽的介绍;同时还对键盘电路、显示电路的设计做了深入的研究。由于时间和所掌握技术有限的原因,本设计仍存在需要改进的工作:(1)IC卡安全方面需要改进,现阶段IC卡的密码仅仅限于简单的数字构成,所以很容易破译,我们可以考虑使用加密认证技术来提高IC卡的安全

58、可靠性。(2)LED的显示部分,本设计采用的是四位LED显示,我们可以将其改进为液晶显示,使其更加完美。IC卡目前是我国新兴产业,它必将在人们生活的各个领域得到广泛的应用,我们可以在本设计的基础上进一步的改进扩充,使IC卡的功能更加完善,得到新的产品。致 谢4年的学习时间即将结束,我也完成了毕业论文将要离开学校。在此学习过程中,我受到了多位老师的帮助和支持,虽然是有限的学习时间,但在众位优秀老师的精心指导和学院合理的授课安排下我仍然获得了终生受益的知识财富。在即将离开我的校园踏上新的征程之际,我谨向所有在生活和学习上帮助过我的老师和同学致以诚挚的谢意。尤其是在完成毕业论文期间,我的导师张立松给

59、予了我莫大的帮助,在他无微不至的关怀下使我的设计得以顺利进行,他对我设计中的每一个环节都不遗余力地给予帮助,他严谨求实的治学态度,丰富渊博的知识涵养,严肃认真的工作作风和兢兢业业的敬业精神,使我受益终生。在论文的选题、系统方案设计、他都倾注了大量的心血。在此,谨向导师张立松致以诚挚的谢意,并表示衷心的感谢。同时感谢院领导及各位老师在学习期间给予我的帮助。最后,对我的父母以及所有亲人给予我的帮助、支持表示深情的感谢。并以此文献给所有关心与帮助过我的亲人们、老师们和朋友们。参考文献1李琼IC卡的应用及其发展趋势J.湖北农村金融研究,2002,35-37.2陈红军IC卡表应用现状及其发展趋势北京智能

60、科技有限公司,2002,5-7.3詹树仁. GMS90及GMS97系列单片机的工作原理及其应用.武汉力源电子股:20-22.4 X76F100 DATA SHEET. XICOR公司5王卓人IC卡的技术与应用M北京:电子工业出版社,1999,38-39.6赵依军,胡戎.单片机微机接口技术.人民邮电出版社,1989,33-35.7卢存伟,钱捷.微机原理及应用系统设计.河海大学出版社,1992年,12-16.附录A 8051 Development ToolsWe discusses the features and advantages of the 8051 microprocessor fa

温馨提示

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

评论

0/150

提交评论