APP下载

基于指纹识别的支付系统的设计与实现

2015-08-22朱静闽芳陈腊梅陈健鹏陈晓刚

软件 2015年5期
关键词:链表指纹识别服务器端

朱静 闽芳 陈腊梅 陈健鹏 陈晓刚

摘要:指纹支付是支付方式的一个新的方向。指纹识别技术是依靠指纹的唯一性,通过对指纹的采样、特征值提取来实现身份识别的技术。和传统的帐号加密码或是Ic卡扫描识别等身份识别方式相比,指纹支付具有更高的安全性、不会遗忘、丢失、不变性、唯一性、防伪性能好和使用方便等优点。本文设计并实现了一个通过指纹识别方式,完成支付等功能的系统,同时设计了无线功能,可以完成主机和客户端的无线数据通讯、同步功能。该系统可以方便快捷地完成支付功能。

关键词:指纹识别;支付

中图分类号:TP393.02 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.05.028

0 引言

当前,人们进行支付时,多采用现金、充值IC卡的方式。随着IC卡技术的普及,越来越多商户提供了充值IC卡的支付方式,当人们在一些商户消费时,无需现金,直接用充值卡进行支付。但是用IC卡支付的方式存在不少弊病,例如:不易保管,容易丢失等,而且仅仅依靠密码或是签名进行身份验证,并不能真正地确认持卡人是否为其真正的主人,那么一旦用户的IC卡丢失或是被窃,就会有被盗用的危险。

指纹识别技术是利用人类指纹的唯一性,通过对指纹图案的采样、特征信息提取并与库存样本相比较的过程来实现身份识别的技术。与帐号加密码、充值Ic卡等传统的身份识别手段相比,指纹识别技术具有不会丢失、不会遗忘、唯一性、不变性、防伪性能好和使用方便等优点,所以已经逐步在门禁、考勤、金融、公共安全等领域得到应用。本文将指纹支付应用到消费领域,设计并完成一种全新的指纹支付系统。

1 指纹支付的概念

指纹支付,也叫指纹消费,是一种利用指纹认证的生物识别技术进行缴费支付的方式。该支付方式采用指纹系统进行消费认证,即顾客使用指纹注册成为商家会员,通过指纹识别即可消费或打折,简化了消费程序。

由于生物识别技术认定的是人本身,而每个人的生物特征,包括指纹在内,都具有唯一性和一定时期内的稳定性,不易被伪造和假冒,所以这一支付方式在一定程度上确保了用户隐私不受侵犯,而且比其他支付方式更便捷。因此,指纹支付将会成为一种新生的支付方式。

使用指纹支付,可以省去办卡的费用、节约资源。在一些需要刷卡消费的场所,比如餐馆、商店、网吧、食堂或是连锁卖场使用指纹支付,无疑是一种更新颖、更时尚的消费方式,给顾客和商家带来便利的同时,也提升顾客的消费体验感。2系统功能设计

本系统实现的功能是将指纹识别技术应用于商户支付,根据应用的需求,需要设计两类用户:注册用户和管理员,功能如下:

注册会员:充值、查询余额、指纹支付;

管理员:建立新账户、会员管理、金额管理;

本系统设计了服务器端和客户端,服务器端和客户端采用无线方式传输数据。当用户在支付时,无需到柜台进行支付,只需在座位上用客户端进行指纹刷卡,就可以将数据传递到服务器端,从而进行支付;

服务器端:提供指纹支付、指纹充值功能,同时可以处理客户端发送来的信息,进行相应处理,处理完成后,将结果返回给客户端;

客户端:通过采集指纹信息,发送给服务器端进行处理,从而完成支付或是充值功能,并接收服务器端返回的信息。

3 系统实现

3.1 硬件设计

本系统服务器端和客户端均采用ST(意法半导体)公司生产的ARM CortexM3内核的STM32F103ZET6的主控MCU。该芯片最高工作频率72MHz,具有512KB的flash存储空间,64KBSRAM,带多达112个I/O口,11个定时器,13个通讯接口。该MCU完全可以满足本系统的功能和性能要求。

本文通过STM32F 103ZET6外接FLASH模块、SD卡模块、LCD模块、LED模块、指纹模块、矩阵键盘模块、NRF24L01无线通讯模块等模块完成本文提到的所需要功能。系统结构如图1所示。

1.指纹模块

指纹模块的CPU是一片DSP芯片,型号为PS1802,指纹采集使用的是CMOS芯片,CMOS芯片主要是对指纹进行“照相”,生成指纹特征值。指纹模块通过USART接口与服务器端或是客户端进行通讯和数据交换。

2.TFT-LCD模块

TFT-LCD,是在亮度、对比度、功耗、寿命、体积以及重量等综合性能上全面赶超CRT的显示器件,并具有触屏功能,通过它来显示点阵汉字以及其他需要显示的信息。

3.FLASH模块

FLASH(闪存)则是一种非易失性内存,本文用它来存储点阵汉字,既能达到快速提取点阵信息的功能,又不占用有限的编程空间SRAM,提高程序的运行效率和空间。

4.NRF24L01模块

该模块主要用来完成服务器端和客户端无线通讯功能,需要选择从功耗、性能上相对合适的无线传输模块,因此本文选择了NRF24L01模块。NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK调制,内部集成Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信,无线通信速度可以达到2M(bps)。通过它可以实现服务器端和客户端的通讯。

通过对硬件模块功能的分析,明确了各个模块的元器件的选择,最终硬件电路图设计如图2所示。

3.2 数据存储结构

由于用户数量是不确定的,所以无法采用数组方式来存放会员数据,所以本系统考虑采用链表结构来存放数据,节约动态分配空间。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

由于一个用户至少要存储两个指纹的信息,所以需要两个链表来进行数据记录用户及其指纹的信息。另外管理员信息需要单独一个链表来存储,本文创建了三个链表,如图3所示。

3.3 软件模块设计

本系统的所有操作都是以指纹识别为基础,指纹模块与服务器端和客户端都是通过串口进行通讯,主要实现指纹匹配功能、指纹采集功能、指纹删除功能、清空指纹库功能。

指纹匹配功能:将读入的指纹信息与链表中指纹信息进行匹配,如果匹配成功,返回指纹编号,显示指纹对应的用户的信息。如果在一个循环周期内没有搜索到指纹,则返回“匹配失败”。

指纹采集功能:新用户注册时,需要录入两个指纹,因此需要通过指纹采集器进行二次指纹采集,然后制作成指纹模版,并将该模版保存到链表中。

指纹删除功能:当用户不再需要在商户进行消费时,可以将数据进行删除,空出存储空间,便于新会员加入。

清空指纹库功能:提供清空全部指纹功能,可将系统还原至初始化。

指纹匹配算法主要涉及:指纹图像预处理、特征点提取和特征点匹配。图像预处理又包括图像场的计算、分割、均衡化、平滑化、增强、二值化、细化等,通过这些预处理使特征值更容易被提取,如图4所示。

4 结束语

本文将指纹识别技术应用于支付领域,设计并实现了一整套指纹支付系统。该系统包含管理员和普通会员两种用户,方便进行权限控制。同时为了方便用户使用,设计了服务器端和客户端,并采用无线通信方式进行数据传输。该系统极大解决了当前用IC卡进行支付的弊病,提升用户支付体验感,应用前景广阔。

猜你喜欢

链表指纹识别服务器端
Linux环境下基于Socket的数据传输软件设计
基于二进制链表的粗糙集属性约简
基于单片机指纹识别电子寄存柜设计
基于链表多分支路径树的云存储数据完整性验证机制
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
指纹识别技术综述
基于大容量指纹识别的实时身份认证系统
基于线阵CCD的指纹识别实验
链表方式集中器抄表的设计