本文介绍了采用ET44M210芯片为基础的一个智能银行卡系统的实验设计方法,其中ET44M210为智能卡,PC机模拟读卡机。考虑到预防手指模型欺骗技术,采用输入密码加指纹双重验证的方式。
1 硬件系统结构
1.1 实验中采用的芯片简介
1.1.1 ET44M210微处理器
ET44M210微处理器采用精简指令集的结构(RISC),外接6MHz的晶振,除条件转移指令需要二个时钟周期外,所有指令只要一个时钟周期。在芯片内部整合了USB、16位模数转换、串行周边控制界面(SPI)等功能。处理器内部拥有16kB ROM、1.3kB RAM、42个IO口,供电电压3.6~5V。
ET44M210芯片是一款低价格、高性能,采用CMOS工艺制造,具有RISC架构的8位微控制器芯片。芯片采用SMA封装,引脚数为100,由***义统电子股份有限公司(Etoms Electronics Com)设计生产。ET44M210的设计充分体现了SoC化产品的特征。图1 ET44M210的模块结构图。
1.1.2 ET44M210芯片的开发工具
ET USBICE仿真软件ET44M210芯片采用“USB接口仿真+实验模板”作为硬件开发工具,如图2所示。开发板的前半部分是仿真模板,在其上有一个ET44M210芯片,内部固化了仿真程序。仿真模板通过板上的USB接口与PC机通信,在仿真软件的配合下构成一个低成本、高性能的在线仿真器ICE和写入器。
开发板的后半部分是实验模板,在其上也有一个ET44M210芯片,用户通过实验模板进行系统开发和模拟实验。实验模板上有3个USB接口供用户使用。实验板上还有1个48引脚的插座,可供连接I/O接口、ADC、PWM、SPI等使用。
ET44M210芯片采用ET USBICE仿真软件作为软件开发工具,如图3所示。
ET USBICE仿真软件使用USB接口与PC计算机进行通信。软件具有标准的通用仿真软件界面和工程导向管理功能,适用于Windows98/2000/XP等多种操作系统,可以很方便地对源程序进行编写、编译、侦错、仿真运行、代码生成、写入等全过程。
1.2 指纹识别简介
(1)指纹模块的结构。本系统的指纹采集模块使用的是某公司的指纹模块,它包括指纹传感器、指纹识别芯片。若需要大于16用户的指纹数据,可以使用PC存储器内的指纹数据。
(2)指纹模块的采集功能。该模块在本系统中具有指纹采集的功能。将采集到的指纹存储在模块中后传输给PC并保存。
(3)指纹模块的识别功能。该模块在本系统中具有指纹判断的功能。将采集到的指纹与先前存储的指纹相鉴别,识别出是否是正常的用户,并将识别结果保存。
(4)指纹采集与识别。流程如图4所示。
2 系统原理及框图
2.1 ET44M210的功能
(1)通信功能。通过USB接口与PC机连接,传输已经加密的指纹信息及用户银行个人信息,然后由PC机将之解密,与中央数据库比较。
(2)运算功能。IC卡在向外传输命令之前都会先将其按相应算法加密,同理,IC卡在收到PC机传来的加密信息后,用相应算法对信息进行解密,具体算法请参见系统原理及框图。
(3)内部信息管理功能。由于卡内存储信息量很少(用户个人信息及银行存款信息),故信息系统不必做得很复杂,采用定长存储方式,可以实现信息的建立、修改、删除、维护等基本操作。另外还要实现信息访问的安全控制,如对里面的信息进行修改时,要有不同的安全控制等级。
(4)命令处理功能。智能卡与PC机之间通信采用相应的协议,为实现模拟的真实性,我们在此处使用现在通用的智能卡通信标准协议:使其支持ISO7816-4,6,8,9智能卡标准。根据PC机上传输的不同命令进行相应的处理。
(5)扩展功能。基本功能之外还要在其上加入液晶显示功能及语音功能。其中液晶显示用户的基本信息,语音则通过单片机的AD和PWM功能实现,通过功放发出声音“请放入手指”及“确认通过”、“确认失败”的声音。
2.2 PC机的功能
(1)通信功能。通过USB接口与智能卡进行通信,且产生随机数通过RSA及ECC算法对数据进行加解密;与指纹传感器进行通信,得到相应的指纹数据。
(2)数据库管理功能。模拟中央数据库,存储大量用户信息,以采入的指纹数据为标准进行查找。
(3)模糊比较功能。在进行指纹比较过程中,所得到的数据与原始数据肯定存在一定程度的偏差,因此可设定好百分比,只要偏差在此允许范围内便可默认为一致。
(4)数据读取显示功能。PC机通过和单片机通讯可以读到其相应数据,在屏幕上可以显示以下内容:
修改用户密码或指纹密码; (CHANGEPIN)
消费/取现;(DEBITFORPURCHASE/CASHWITHDRAW)
读余额;(GETBALANCE)
输入密码; (GETPIN)
中英文选择;(CHINESEENGLISH)
打印凭证: (PRINT)
3 软件设计
3.1 系统工作流程
单片机首先复位,然后发消息等PC机回复确认是否正确通信,PC机回复信息确认通信正常。然后单片机发送身分确认请求,要示PC机输入密码及指纹数据,这些数据是经过加密之后传输的,单片机收到确认,然后根据其是否与内部信息匹配做下一步处理,如不匹配,则报错;如错三次,则显示吞卡,如匹配,则回复确认消息,PC机系统从中央数据库调相关资料。然后用户可以根据自己的需要与PC机通信,并在液晶上显示相关的操作过程。
PC机的键盘用来输入用户信息,且用数字键分别选择用户所需要的服务,如提款、读余额等等。同时在注册新卡时,可以输入用户信息。
其具体的定义为:
a…确定;(OK)
b…取消;(CANCEL)
c…取卡;(GETCARD)
d…选项上移;(MOVEUP)
e…选项下移;(MOVEDOWN)
0~9…输入密码及所取款额;(NUMBER)
单片机系统中定义指示灯:
灯1——亮为有卡插入,系统工作;暗为无卡;
灯2——闪5下代表提现金过程;
灯3——闪5下代表系统提示用户取卡;
灯4——亮代表输入密码次数超过限度,机器吞卡:
灯5——代表打印凭条过程;
通过键盘的信息将转化为协议方式,通过USB接口把相应命令输入到单片机。且用户的相关信息及系统的修改时间将被记忆到计算机的数据库中。图6单片机、PC机的软件流程。
3.2 指纹采集与识别
PC机收到单片机的通信确认消息,回复后,进行指纹数据采样和密码输入,对其进行加密后传给单片机进行相关的验证。一旦成功,则从中央数据库中调所需要的数据,面向用户服务。当出现用户修改密码情况则与卡进行相关通信。当操作完成后,控制打印机打印凭条,保存中央数据库的修改。
3.3 通信协议定义
主要的通信协议根据现在通用的ISO7816协议定义机器和单片机之间的命令。
·命令Command:终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答。
·终端Terminal:为完成交易而在交易点安装的设备。
·响应Response:IC卡处理完成收到的命令报文后,返回给终端的报文。
·报文Message:由终端向卡或由卡向终端发出的,不含传输控制字符的字符串。
·报文鉴别代码Message Authentication Code:对交易数据及其参数进行运算后产生的代码,主要用于验证报文的完整性。
·明文Plaintext:没有加密的信息。
·密文Ciphertext:通过密码系统产生的不可理解的文字或信号。
·密钥Key:控制加密或解密转换操作的符号序列。
·加密算法Cryptograhpic Algorithm:为了隐藏或揭露信息内容而变换数据的算法。
·对称加密技术Symmetric Cryptographic Technique
·数据完整性Data Integrity:数据不受未经许可的方法变更或破坏的属性。
·非对称加密技术Asymmetric Cryptographic Fechnique。
·响应状态码:
4 结束语
本文讨论了一种具有指纹识别功能的智能卡系统的设计方法,兼容指纹识别的智能卡读写器可以应用在需要身份认证的银行系统以及其他安全性要求比较高的身份认证管理系统中。该设计采用的指纹识别技术和智能卡技术的结合使用,提高了系统的安全防护能力,改善了系统整体的可靠性和安全性。
评论
查看更多