单片机应用系统设计第五章基于指纹识别技术的银行储蓄网络认证系统5.1引言5.2指纹识别的基本原理5.3指纹识别机硬件设计5.4指纹识别机软件设计5.5系统软件实现5.6系统功能5.7结束语单片机应用系统设计利用指纹这一生物识别技术的严密性和尖端性来弥补利用密码控制的不稳定性和不安全性,本文设计出一种计算机自动指纹识别技术的银行网络登陆系统,介绍了负责指纹图像的采集、存储和匹配,且与系统主机进行双向数据交换等工作的指纹识别机的硬件电路实现以及软件设计,采用ActiveX控件与SQL数据库管理结合的关键技术实现系统软件,该系统已经在某银行中可靠的应用,实践证明它已很好的满足实际的需要。关键词:指纹识别;识别技术;AT89C51摘要单片机应用系统设计AbstractUsingstrictnessandtopendcharacteristicofbiologyrecognitiontechnologywhichmakesuptheinstabilityandtheunreliabilityofpassword,onekindofnetworklandingsystembasedoncomputerautomaticfingerprintrecognitiontechnologyisdesigned,andthemachinehardwareelectriccircuitrealizationaswellasthesoftwaredesignwhichisresponsibleforthefingerprintimagegathering,memoryandmatching,alsocaringonbi-directionaldataexchangewiththemainengineispresented,inaddition,thesystemrealizationintegratingVBActivewithSQL,thissystemisappliedinsomebankwithreliability,thepracticeproveditwellmeetstheactualneeds.Keywords:FingerprintIdentification;IdentificationTechnology;AT89C51单片机应用系统设计随着科学技术的发展,信息技术已经融入国民经济的各个方面,在金融机构、银行的计算机网络系统中更是飞速发展。但因为技术或人为的缺陷,银行安全管理和防范措施上往往存在不少漏洞,不时有相关的犯罪事件发生,其中利用计算机网络进行作案更是引起金融界的高度重视。各金融单位采取了许多措施,如进行网络加密,在中心机房安装防火墙,内部完善规章制度等。但是,仍存在着不安全的因素:首先,由于联机密码是由一串六位数字组成,客户在使用有诸多的不便以及不安全因素;其次,由于频繁更换密码,客户容易记错或忘记自己的联机密码;另外,只要作案人留意别人密码的输入操作,很容易掌握别人的联机密码。同时,银行操作员在业务处理中也存在着以下缺陷:(1)联机密码不能锁定操作者的身份;(2)很难发现非法操作。因此,寻求更为安全网络安全系统已成为急需解决的问题。5.1引言单片机应用系统设计众所周知,指纹是人体生物特征之一,具有惟一性、稳定性、不可复制、不可移植和不可仿造的特点[1-3],指纹识别技术已经取得重大突破,如能在银行储蓄系统BSS中使用该技术,可使每个储户的密码都具有与生俱来、终身不变的特点,从而确保银行储蓄系统BSS的安全。因此本文针对这类情况,研制了计算机自动指纹识别技术的银行网络登陆系统。单片机应用系统设计指纹有两类特征:总体特征和局部特征。其中总体特征是指那些用人眼直接就可以观察到的特征,包括:纹型、模式区、核心点、三角点,以及纹数。而局部特征是指指纹上的节点的特征,这些具有某种特征的节点称为特征点。两枚指纹经常会具有相同的总体特征,但它们的局部特征即特征点,却不可能完全相同。指纹纹路并不是连续的、平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为特征点。就是这些特征点提供了指纹惟一性的确认信息[4]。5.2指纹识别的基本原理单片机应用系统设计在考虑局部特征的情况下,一般认为,只要比对13个特点重合,就可以确认为是同一个指纹。理论上讲,任何两枚纹都是不一样的。一般将拒识率控制在千分之一以内,将识率控制在百万分之一以内即可。指纹识别其实是比较复杂的,实际上指纹识别技术并不直接存储指纹图像,指纹识别最终都归结为在指纹图像上提取指纹特征并比对指纹的特征。其基本的识别原理如图1所示。单片机应用系统设计首先,通过指纹采集仪采集到人体指纹的图像,并对原始图像进行初步的处理,使指纹图像中蕴涵的特征信息更明显。然后,运用指纹特征提取算法建立指纹的数字表示.特征数据。这是一种单方向的转换:可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而且两枚不同的指纹不会产生相同的特征数据。从指纹上找到被称为“细节点”的数据点存储到指纹特征文件中,这些细节点也就是那些指纹纹路的分支点或末梢点。有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系;有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K或0.5K大小的记录。无论它们是怎样组成的,至今仍然没有一种模板的标准,也没有一种公布的抽象算法,而是各个厂商各行其是。最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。图1指纹识别的基本原理单片机应用系统设计指纹的预处理一般包括四个过程:灰度滤波过程、二值化过程、二值去噪过程和细化过程(滤除噪声即为灰度滤波和二值去噪)。这四个过程是非常重要的,因为预处理的目的是改善输入指纹图像的质量,以提高特征提取的准确性。指纹特征提取就是统计预处理后的指纹的末梢点数目和分叉点数目,记录其特征信息结构供以后比对[5]。5.2.1指纹图像预处理单片机应用系统设计5.2.2指纹特征值提取为了确保指纹特征数据的准确性,在设计的系统中,将对每个人采取同一指纹五次输入提取特征。对五次提取出的指纹图像特征进行对比,抽取出其重要且易读的指纹特征存放于特征数据库中,以供比对。单片机应用系统设计针对指纹匹配问题,利用指纹图的结构信息进行初匹配,然后在此基础上采用遗传算法与补偿算法来匹配指纹图[6]。该算法不仅可以识别指纹图旋转、平移参数,而且有较强的抵抗噪声和变形的能力。该算法也不依赖指纹图的中心区域,可识别残缺指纹。达到了比对的精确性。5.2.3指纹比对算法单片机应用系统设计5.3指纹识别机硬件设计指纹识别机是一台典型的微处理机系统,负责指纹图像的采集、存储和匹配,且与系统主机进行双向数据交换等工作。其硬件由中央监控单元、指纹采集单元、人机交互单元、串行通信单元组成。硬件组成框图如图2所示。单片机应用系统设计中央监控单元由单片机AT89C51担任,负责协调其他各单元的工作和与主机通信;指纹采集单元由FDA01模块担任[7,8],负责指纹原始图像的采集、存储和比对;人机交互单元由字符点阵式液晶显示器、蜂鸣器、16键小键盘组成;串行通信单元由RS232、RS485接口电路组成,完成单片机与FDA01的通信和单片机与系统主机的通信。由于AT89C51单片机的I/O口有限,为了充分利用其端口,AT89C51与FDA01模块、LCD显示器的数据传输均采用串行通信方式。AT89C51的P31/TXD和P30/RXD引脚通过CMOS模拟开关CD4053切换,分别与RS232接口芯片ICL232和RS485接口芯片MAX1487相连。ICL232再与FDA01的RS232接口相连。AT89C51的P13引脚与串并转换移位寄存器74HC164的B端相连,作为串行数据驱动口;P14引脚与74HC164的CLK端相连;P11、P12引脚直接控制LCD芯片的RS端和E端;74HC164的并行数据端QA2QH再与LCD芯片的D72-D0相连。图2指纹识别机的硬件组成框图单片机应用系统设计5.4指纹识别机软件设计图3指纹识别机的主要程序流程图指纹识别机的主要工作流分为用户注册和用户储蓄。用户注册由银行管理人员监视,完成新用户的指纹注册和用户号的分配,以及系统指纹库的常规维护;用户储蓄由一般银行操作人员监控,完成用户指纹的识别与认证,并记录存取类别和每个用户储蓄的起止时间等数据,生成的储蓄识别日志上传系统服务器。其它工作流还有:接受键盘输入的命令和工作参数设置,接受系统主机的设置参数和命令,从服务器下载用户指纹模板数据等。单片机应用系统设计5.5系统软件实现系统软件实现重要的部分主要包括:VB的ActiveX控件与SQL数据库管理的结合,其中部分操作员库结构内容:操作员编号USER_IDCHAR(6)操作员姓名USER_NAMECHAR(10)密码USESER_PWCHAR(12)操作员权限USER_QXCHAR(10)通道1TD1CHAR(2)通道2TD2CHAR(2)备注USER_REMARKCHAR(100)单片机应用系统设计本系统使用了ADODate控件和MSComm控件。MSComm控件主要是用于实现计算机间通信的ActiveX控件。ADOData控件是一种图形控件,其内部有基本的定位特性。这意味着应用程序在使用ADOData控件时只需要很少的程序代码。访问ODBC数据库需要两步,首先设置ODBC数据源名(DSN),然后在OpenDatabase方法的Source参数中使用该数据源名。单片机应用系统设计用户管理包括对银行终端操作员ID、姓名、权限、通道等详细信息的增加、删除、更新等操作。设定用户ID为4位,不满4位的前面自动加0,利用SQL语言对数据库的检索使用户ID具有不可重复性和唯一性。在工作日志中,对数据库信息设置了升序、降序排列及按用户ID和时间排列,对于查询则设置了按输入时间和按输入用户ID号查询的选择,极大地方便了用户对数据库中信息的查询浏览。单片机应用系统设计VB的事务处理包括以BeginTrans开始,以CommitTrans或Rollback结尾的多条数据库操作指令。事务处理除了能很好的保证数据库的完整性以外,同时能大大提高数据库批量更新的效率。这是因为如果数据库更新操作没有使用事务处理,则每次Update操作都会引起数据库写盘一次,使用事务处理后,更新只在内存缓冲区内进行,执行CommitTrans时才将所有修改一次写回到磁盘中。单片机应用系统设计5.6系统功能5.6.1检查指纹密码设备本功能主要检查系统各部分是否处于正常工作状态,主要检查:键盘、LCD、语音喇叭等是否正常。单片机应用系统设计该功能主要完成储户或操作员的指纹登记工作。每个储户或操作员可登记1至5枚指纹。登记完成后指纹密码设备统一将指纹特征值传送给BSS存储指纹数据,供以后验证指纹之用。5.6.2指纹登记单片机应用系统设计该功能主要完成储户或操作员在取款、办理其它业务、进入BSS等需要验证身份时的指纹识别。同一个登录用户,允许1至5枚指纹同时管理。5.6.3指纹比对单片机应用系统设计5.7结束语本系统运用了最先进的生物识别技术和计算机网络相结合,采用了SQL和ODBC及面向对象的编程技术等相关技术,作为一种填补银行安全管理上的漏洞的一种尝试,具有很大的实际意义。计算机自动指纹识别技术的银行储蓄网络身份认证系统较好地解决了储户异地存取款的不便利性,大大提高了连网银行的工作效率,同时也解决了密码、磁卡等被盗、被抢、被破译、被遗忘等的问题。该系统已在某省会城市的一所银行中试用成功,效果良好,完全满足实际的需要。单片机应用系统设计[1]MehtreBM,ChatterjeeB.Segmentationoffingerprintimage-acompositemethod[J].PatternRecognition,2002,22(4):381–385[2]HardicRC,Bonce