指纹识别模块的二次开发与应用研究
2013-10-22张学斌
张学斌
(怀化学院物理与信息工程系, 湖南怀化 418008)
早期人们采用密码对自己的信息等进行加密保护或安全认证,“密码”一词对人们来说并不陌生,如个人在银行取款使用 “密码”,开启保险箱使用 “密码”,等等.这里指的是一种特定的暗号或口令字.由于这些密码仅仅由数字或字母数字组合而成,存在被破解或被他人窃取的风险,因此人们开始使用指纹识别技术,指纹识别技术是通过计算机实现的身份识别手段,也是当今应用最为广泛的生物特征识别技术[1].指纹识别现已经广泛应用在门禁系统、保险柜等领域.每个人的指纹独一无二的,他人不能替代,且不能轻易被仿制,因此指纹识别技术相对与密码来说,它的安全性大大提高了,基于指纹的安全密钥系统也成为数字化生活中最高级的安全密钥系统[2].但是,随着现在科技的发展,特别是立体打印技术的不断成熟,使得指纹被仿制成为可能.如果指纹一旦被泄露而且被成功仿制,那么基于指纹识别技术的加密产品将是形同虚设.针对密码和指纹存在的安全风险,本文设计了一种将密码和指纹模块结合实现二者双重加密的功能,只有在指纹匹配和数字密码正确的情况下,才能执行相应的操作,大大提高了安全性.
1 系统总体方案设计
1.1 系统总体结构及工作原理
本系统的硬件主要由微处理器、指纹识别模块、液晶显示模块、4*4键盘、报警电路和执行机构等组成.
图1 系统总体结构框图
微处理器作为系统的核心,控制整个系统各模块正常运作.系统工作时先等待4*4键盘输入密码 (初始密码由系统事先设定,如 “000000”.),密码输入正确则等待指纹输入,指纹输入后自动与指纹库中已存取的指纹进行比对,比对成功则可进行指纹添加、删除或密码修改等操作 (密码输入正确后,若指纹库中无指纹,则直接进入指纹添加或密码修改操作,若指纹库中有指纹,则必须比对指纹成功后才能进行指纹的再添加、删除和密码修改等操作).密码输入3次均不正确则启动报警电路报警.液晶显示模块采用12864,用于显示当前执行的操作并显示操作的相关信息,它和键盘一起组成人机界面.执行机构是指在用户输入密码正确且指纹比对无误的情况下由微处理器执行相应的操作,比如开启保险箱、打开机密文件等[3].
1.2 系统各模块功能简介
指纹识别模块采用TFS-M12型高级DSP指纹模块,主要由指纹采集头和指纹处理两部分组成,指纹采集头采用光学指纹传感器,指纹处理板由高性能DSP处理器和FLASH等芯片构成.该模块以TI公司的TMS320VC5416高速DSP处理器为核心,结合具有公司自主知识产权的商用指纹算法 (TFS-9),光学指纹传感器,具有指纹录入、图像处理、特征值提取、模板生成、模板储存、指纹比对和搜索等功能,可主要完成指纹特征的采集、比对、存储、删除等功能[4].
4*4键盘示意图如图2所示,0-9为数字密码输入键,Back为退格键,Enter为确认键,Chag为修改密码键,Del为删除指纹键,Add为添加指纹键,Go为执行相应操作键,在这里指控制继电器的闭合,具体如打开门锁等.
图2 4*4键盘示意图
电源模块由直流稳压电源和备用电源两部分构成,当有220V市电时,由直流稳压电源给系统供电,同时给备用电源充电,当停电或被人为断电时,由备用电源给系统供电.这样可以避免因停电而导致系统无法工作的情况发生[5].
微处理器采用AT89S51单片机,成本低,与指纹模块、显示模块等各模块的接口电路简单,管脚够用,使用方便,易于操作.
液晶显示采用带中文字库的12864,每屏最多可显示4行8列共32个16×16点阵的汉字,可对各次操作的状态和结果进行显示输出,与4*4键盘组成输入输出人机交互界面.
图3 报警电路
报警电路采用蜂鸣器报警,电路如图3所示,当密码输入次数达到3次时,单片机置BEEP脚为高电平并持续一段时间,在此期间PNP管Q1导通,蜂鸣器发出响声报警.持续一段时间后警报自动解除[6].
执行机构指用单片机控制继电器的吸合,从而实现比如门锁的开启等具体的操作.
2 软件设计流程
本系统软件设计主流程图如图4所示,首先,程序初始化,定义相应的端口及变量类型.然后主程序等待密码输入,若输入密码不正确次数达3次,则启动蜂鸣报警电路进行报警,若密码输入正确,则等待指纹模块采集指纹与指纹库中已经注册的指纹进行比对 (若指纹库中无指纹,则直接进入下一步),若采集的指纹与指纹库中保存的指纹比对不成功,则返回继续采集指纹,直到采集到正确的指纹为止,当指纹比对正确后,按相应的键可进行修改密码、添加指纹、删除指纹和执行相应的操作[7](P53-84).
综上所述,本文介绍的基于指纹识别模块TFSM12和数字密码的二次加密系统,结合了数字密码可修改和指纹唯一性的特点,将数字密码和指纹进行二次加密,实现双重保险,既弥补了数字密码易破解、泄露的缺点,也可防止因指纹被仿制而导致意外损失的发生,大大提高了系统的安全性.
图4 系统主程序流程图
[1]刘畅,李晓东,毕云峰.基于LabVIEW虚拟仪器技术的指纹识别报警系统的设计 [J].现代电子科技,2012,35(4):188-191.
[2]姚庆君,单佳佳,杨宜霖.汽车指纹识别门锁软硬件设计[J].微计算机信息,2010,26(2):161-162.
[3]赵亮,龚鸣敏.基于指纹识别的身份认证技术研究[J].微计算机信息,2006,22(25):301-304.
[4]王武军.指纹识别的二次开发应用[J].电脑编程技巧与维护,2003,11(12):56-59.
[5]何军.指纹识别技术的研究与应用[D].北京:首都经济贸易大学,2004.
[6]符鸿亮,基于DSP和FPGA的自动指纹识别系统硬件设计与实现 [D].成都:电子科技大学,2007.
[7]余锡存,曹国华.单片机原理及接口技术[M].西安电子科技大学出版社,2007.