2024年6月2日发(作者:)
第26卷
第4期
Vo1.26
No.4
电子设计工程
Electronic Design Engineering
2018年2月
Feb.2018
基才麒麟系统下指纹识别系统设计研究
李中,龚俊,周加谊
(中国兵器装备集团西南自动化研究所四川绵阳621000)
摘要:基于中标麒麟系统下的指纹识别系统,以安全、可靠和快捷的登录系统为目的;实现了指纹
技术认证方式代替密码认证方式登录系统;采用指纹芯片和指纹传感器内部通讯,组成指纹模块
的方法。确保指纹信息安全可靠。通过了构建指纹底层PAM模块、编写指纹模块驱动、设计基于
QT应用界面的方法;通过指纹系统在麒麟系统上安全可靠的运行,QT应用软件对指纹模块的检
测,结合QT应用软件的跨平台性、麒麟系统PAM构架的通用性,得出该系统具有运行可靠,设计简
单,容易移植等特点,具有一定实用价值,可以广泛的使用在Linux系统平台上。
关键词:指纹识别;中标麒麟;指纹登录;PAM模块
中图分类号:TN7 文献标识码:A 文章编号:1674—6236(2018)04一O184—04
Research on Kylin based fingerprint identiicatifon system
LI Zhong,GONG Jun,ZHOU Jia。yi
(Southwest Automation Research Institute ofChina Ordnance Equipment Group,Mianyang 621000,China)
Abstract:On the basis of the system of fingerprint recognition,the system is safe,reliable and efficient;
The fingerprint authentication method is adopted instead of the password authentication system;
Fingerprint chip and fingerprint sensor internal communication,the composition of the fingerprint
module,to ensure the safety and reliability of fingerprint information.Through the construction of the
ifngerprint PAM module,the preparation of fingerprint module driver,the design of QT based
application interface method;By running in kylin system safe and reliable fingerprint detection system,
QT application software of ifngerprint module,combined with the general cross platform,kylin system
based on PAM QT application software,it is concluded that the system has the advantages of reliable
operation,simple design,easy to transplant and other characteristics,has a certain practical value,can
be widely used in Linux system platform.
Key words:fingerprint identiication;kylin;ffingerprint login;PAM module
随着互联网时代的发展,信息传播更快、传播环
指纹识别技术是发展最成熟,应用最广泛的技术。
境更复杂,信息安全越来越受到人们的重视,同时人 作为部门国产自主可控产品的配套指纹系统,这里
们对个人信息的要求也不断增加。生活中随时的需
将详细介绍一种基于中标麒麟系统的指纹识别系统
要进行个人身份认证,传统利用密码登录的安全方
的设计方案。
式,其安全性越来越脆弱,使用过程很容易泄密,而
利用指纹更加安全可靠简单的登录方式,有了发展
的土壤。指纹识别技术是利用人体指纹的特征发展
1系统硬件设计
本系统主要实现两个目的;第一个中标麒麟系
而来的身份认证技术。指纹u 的唯一性、终身不变
统指纹登录功能,实现不用输入密码,快速、安全登
性、难以伪造的特点,是指纹技术发展的基础条件。
录系统;第二个指纹应用软件的开发,主要实现指纹
同时指纹识别技术相比于传统的身份认证方法更加
安全、保密和方便。目前在人体生物特性研究方面,
收稿日期:2017—02—14
一
的注册、匹配、删除、等基本功能;指纹应用软件服务
于中标麒麟指纹登录功能。本系统的硬件有两个部
稿件编号:201702045
作者简介:李中(1989一),男,四川眉山人,助理工程师。研究方向:嵌入式开发。
184-
李中,等基于麒麟系统下指纹识别系统设计研究
分Jr,他得开发人员II丁以更为灵活地根据需要给不
分·个址t}t标磨1f麟笔 本汁算机,另一个足指纹模
块 、这I从j个卡jl块之问川串口连接.『fIj实际通过骄
川的需求配 不同的认证方式,不川考虑复杂的密
码 :法,轻松使用PAM模块功能,同时也便丁向操
作系统 f1添加新的认汪方式。针对中标麒麟指纹识
动 序操作指纹模块的足指纹晦州软件和PAM模
块 指纹心J{J软件f1l PAM模块功能主要都是通过
软什没i卜米实现 1为指纹系统硬件框罔
1 指纹系统馊件{=f
指纹摸块土婴包括 个部分,一个足指纹传感
器.”一个址 ”fJ【 ;指纹传感 E曼川米采集指
纹 像,处 指纹I冬I像,运行指纹 法 .单片机主要
址对外心Jl}jJl:发.对1人J 指纹传感搽发送指纹 配、
指纹注册、指纹删除等琏本命令,盘¨ 2所爪 同时
该指纹 I刖十}!块还集『JI{=J 数据通信接口,可实现快
速的模块系统集成
I'
2系统软件设计
2.1 PAM模块设计
l】AM(Plugga1)le Authentieation Modules) 。是
n
公 订提…的一·种认 机制 、PAM通过提供动态
链接 干¨ 的At'I 数,将应朋服务和底层认证
别系统,就是在 标麒麟系统的PAM模块中加入指
纹认证方式,构建指纹PAM模块,即生成pare—finger.
SO义件、
寸甲
系统
管理员
-…一-…。
f…… 1…1一_…一一
l
+ + ● +
3 PAM构架框I
构建指纹PAM模块先要编写pam—finger.t 程序,
在通过编译生成pam—finger.SO模块,JJI5么 先要r
斛PAM模块..罔3 PAM架构框冈叮知,PAM架构主
要分成PAM服务模块 和PAM接口库。服务模块
包括认证管理(auth)模块、账号管理(account)模块、
会活管理(session)模块、口令管理(passwd)模块4个
模块。
认证管理模块是对用户的身份进行识别。在本
系统l}1认证管理模块是核心模块,主要包括两个底
层 数。pam—sm—authenticate 数主要功能是认证
川户,对川户身份进行识别 其利用指纹技术实现
的具体方式是 ,尢调刚指纹驱动向 片机发送指纹
配命令,单片机接收并解析命令,然后单片机向指
纹传感器发送采集指纹『l1像命令,在完成指纹网像
采集后. 片机再向指纹传感器发送指纹模板比对
命令,最后指纹传感器将比X ̄- ̄a果返回单片机,通过
驱动传递给pam—sm—authet1ti(:ate 数。I AM认证管
理模块pare—sm—authenticate 数部分程序如下:
//1.初始化串口设备;
//2.打开串口设备并发送测试命令,测试串口是
否打开
tit=fingerinit():
/,1.等待录入指纹
//2.检测录入指纹是否匹配
//3.设置超时机制
while((rlt=finger
match(0,9,&ids))!:0)
一
1 85—
《电子设计工程》2018年第4期
{//匹配成功,跳过循
retry一;//错误重新再匹配机制
if( try==0){
break:II多次匹配无法成功
】】
函数
功能,确保整个系统稳定、高效的运行
1,州
层涵数
PAM底层
圈回圈 卤
fingerclose();//释放指纹驱动句柄,关闭串口设备
—ehlrn J·ellral:II返回认证管理结果
罔4 I AM懊块 数埘 火系
panl一 一setcred 数主要功能足没 ,刷新,或
{『_【j毁川I, 证书。在指纹识别系统【1】,没仃对,L}J户 捂
存PAM模块 J 设计之后,接下来就是编译、
安装和运行PA M模块 I冬1 4指纹PAM模块加载流
采取操作,闪此埘该 数不做处蝉,fI=接返 成功
账号箭理模块主要是对帐 的符项属性进行榆
,
包括是否允许 录,是否达到最人川 数,或是
root『l1户足甭允许在这个终端 求等 、指纹i只别系
统If】采川的是宽进行指纹登求, 指纹登求不成功
时允许密码 录,因此在指纹的PAM模块足采HI默
认密码账号的PAM管理:
会 钎理模块主要管理会 和记账 主要包括两
个底层 数paIll—sm—open—session不1l pare
sI11_e]ose
ssion。存指纹识别系统中实现的指纹PAM模块
(1)am
finger )没有使用会活管理服务,因此
t)am—module时,没有加入该模块、
¨令管理模块主要是对Jtt 信息的更新处理,
包括修改』{j户密码 用户修改密码底层 数是
I)anl一洲L(-hauthok指纹识别系统lI|实现的指纹
l AM模块(pain
fingel·.SO)密码被指纹取代,不在涉及
密码的渎取、更改、保存等处 ,仉足在指纹没有注
册时.采Hj攒码骛录方式.
M架构4中服务模块.水系统,1:小是全部采
川,根据各个服务模块的特点.采川lr认证箭理服务
模块和1口令管理服务模块 其 tt认证铃理服务模块是
运川指纹技术的关键服务模块、部分参考代石£5如下:
sl rll(‘1 paill—module pain
finger f
”pare
—
finger”,
panl_srn—authenticate,//认证管理模块
pan1_sin—se|el’ed,NUI L,NI_ILL,Nl_J¨ ,
palll—sIn一('halItiit{,k//口令管理模块
};
完成PiM服务模块底 数的没汁,接下来
需要构建 M接口库,组成完恪的PAM模块 、在指
纹系统If1各个PAM底层函数埘心的AI)T 数,如陶
4 PAM模块函数对应关系图 川户渊川这些API
数时,通过PAM架构实际调川1的是PAM底层 数. .
1 AM API 数主要f1{于调试和测试对心底层 数的
一
186一
程【臾1叮 ..首) ̄rfli 编译I)A M模块 成动态库,本
文采用脚本编 力 式,分 2个步骤 第一步将
paIll—filiger.c编泽,Ii成panl—fingel·_《);编译脚本内容
gcc—fPIC—c pani
fillgel ;第_ 存将pare—fingei’-I】
编译生成paIn—fingel· 动念阼.完成PAM模块编
译 编译脚小I大J容 (·一shared一”paIn—finger )
pam—fingei’.0;
接着安装】 AM模块,主 也也分为2个步骤
第一步修改配 义什,存/ ·t/pad.131 Pl录修改
fingerprint—auth史件,门的 丁歼机 录时,采刚
PAM指纹模块登泶 修改内窬aulh Stlfficienlt)am—fin
geI.SO第二步安装l AM模块,将pare—finger )拷贝
; ̄1]/lib/secui·ity曰求
最后有2干叶I 法运行PAM模块,测试PAM模块
功能 第一种足利川I) lM馍块AI,I函数运行币¨测
试第二种是晕 机,使川指纹 录系统,完成运
行和测试、
罔5指纹PAM模块J J【l哉流
2.2驱动软件开发
中标麒麟系统没街驱动 序实 的功能包括驱
动程序… 的注册 销毁、没备的打开与释放、没备
的读丁了操作、设备的控制操作等 j川户通过Qrr应
用程序或者PAM模块州Jl}{没箭 动程J孚与指纹模
块通信时,必须通过测川底层驱动接口 数open、
iea(1、write、close等 数实现,这些接口函数的入口
地址f}『5在fi1P—operalions数据结构当中
李中,等 基于麒麟系统下指纹识别系统设计研究
flie
tll1¨ t.Ill s” 数 结构是对没备进行操作的抽
户进 n 以使川访 普通文什的方法
女¨reHd、W1·i re操作 J没箭义什,进I…刖 设备 .
要求注册指纹,会m现没有采集到指纹 像等错误,
导致注册失败。
象结构体
5)Fingel·Ch
箭句柄..
数:火闭指纹模块设备,释放设
时,·l】标麒麟系统迎过没备义什的芒设备 找到对
应的没箭 动 J ,然后渎取file—operations数据结
构对心的 数指针.把控制权交给函数指钊指向的
函数
“l
—
2-3指纹应用软件设计
指纹应川软件设计是利用QT编 软件” 在巾
此编 设备驱动程序就是编写
标麒麟系统j 实现的可视化I皋]形界 ,该应用软件
主曼围绕指纹注册、 、删除功能来实现,目的存
丁方便用户更好的、更窬易的使用指纹模块。『皋I 7
c,l ·atiot s数 结十勾的雨数指针对应的 数、 本
系统将指纹 动作为书l-I没矫没汁驱动样序,对串
口没箭求说,川 —oper lfitms数 结构中主要提供的
入[Il仃:仃 串¨没箭ope1]()。 、渎取数据rcad()、
写入数 Wri[e()、父门州{【_1设箭t·lose()。利用这些
人[1. fIJ标麒麟l (:没备和指纹模块构建r 5类
APl 数,包括埘 的交 命令,满足中标麒麟PC设
矫对指纹模块的操作 6为指纹驱动流 』冬1
回
匹委
[ :::: : : : 】· : 。 函
臣蛰
匝互豳
、}I:j “ 1 0 0 数
6指纹驱动流
1)FiIlgPl·Init 数:打开指纹卡5l块设备, 配置串
广I}i}箭波特率(默认l1 5200),洲试接 稳定性 .
2)Finge ̄,Ma il 数:向指纹模块设备发送匹配
指纹命令;等待于指接触指纹传感 ;采集指纹体征
像;Ij指纹模板比埘指纹特 ,确定是否 成功。
3)Fingel·I)el 1 数:向指纹模块设备发送删除
指纹命令;找到埘 的指纹模板.许删除指纹模板;
4)Fiug -E rlrol 】数:向指纹模块设备发送注册
指纹命令;等待于指接触指纹传感器;采集指纹体征
像;啊复采集指纹特 图像.增JJI1指纹模板特征数
据,防I {1肌 ij }彳纹, 刮采集指纹的特 值都在
指纹卡I!板 ,停JI:采集指纹;fHj果注册时,没有按照
指纹应用界 。
罔7指纹心川界面
3结束语
本文主要设汁的是一种基于中标麒麟下指纹识
圳系统,相对于传统的密码登录系统,具有更安伞、
¨f 、更力‘便等优点。本系统还设计提供了非常
友好的人机交互界面,帮助用户更迅速的使用本系
统 本系统成川软件是Qf软件编写,县有跨平台特
性;同时,系统驱动是以串【I为基础,也可以跨平
移植..
参考文献:
…张楠.ARM与Linux嵌入式技术在指纹识别系统
中的应用….电脑编程技巧与维护,2015(19):
72-73.
I2】许红磊,石红瑞,冯杏辉,等.基于¥3C2440的嵌入
式自动指纹识另l】系统….仪表技术,201 l(2):45-
46.
I3l毕雪芹,苏艳娟,王琪.嵌入式指纹识别系统的设
计及实验研究….国外电子测量技术,2015,34
(2):51—53.
(下转第193页)
1 87—
郑扬帆,等基于低噪声CMOS图像传感器的成像电路设计与实现
[11]李航.基于FPGA和千兆以太网(GigE)的图像处
理系统设计『D1.南京:南京理工大学,2014.
数据采集系统的设计[J].济南大学学报,2015,29
(2),120—124.
[4]姚立斌.低照度CMOS图像传感器技术研究[J].
红外技术。2013(3):125—132.
[5]陈定定.基于MIPI接口的背照式CMOS数字影像
[12]李芮,李晓,王志斌,等.基于SRAM乒乓操作的
系统的研究【D].上海:复旦大学,2013.
[6]叶舟.紫外BT—CCD凝视相机信息获取与处理技
术研究[D】.北京:中国科学院大学,2015.
[13】王淑荣,邢进,李福田.利用积分球光源定标空间
[7】王建宇,舒嵘,刘银年.成像光谱技术导论[M].北
紫外遥感辐射计[J].光学精密工程,2016,14(2):
京:科学出版社,2011.
l85.
[8】郎君慰.基于CMOS图像传感器的高分辨率航天
『14]赫英威,李平,吴厚平,等.积分球辐射光源照度
推帚成像光谱仪信息获取技术研究[D].上海:上 均匀性研究[J].应用光学,2012,33(3):548—553.
海技术物理研究所。2014.
[15】和文娟.CMOS图像传感器的噪声分析及图像处
[9]付峪.背照式CCD高光谱成像技术的研究【D】.上
海:上海技术物理研究所,2012.
理[D].武汉:华中科技大学,2011.
『16]许妙忠,丛铭,付晓梅,等.国产卫星传感器在轨
MTF检测方法的评价与研究fJ1.测绘科学,2014,
39(4):8—12.
【l0]曾柏杞.600速全自动生化分析仪控制系统的研
究[D].长沙:湖南大学,2012.
(上接第187页)
【4]王超峰.嵌入式自动指纹识别系统设计[J].微计算
[10]茅俊杰,陈渝.Linux设备驱动的内核服务需求特
机信息,2011,27(7):8-9.
征fJ1.清华大学学报,2015,55(8):91卜915.
[5]彭奇,蔡文龙,周峰.基于单片机的指纹采集与识 [11]董小喜,薛立勤,王功翠.Linux驱动开发研究[J].
别系统设计与实现[J].电子技术设计与应用,
2016(10):63—65.
[6]邓江洪,赵领.一种嵌入式指纹识别系统设计与
电脑知识与技术,201l,7(3):560—562.
[12】宁玉玲,陈琼,马扬龙.Linux设备驱动模块框架
的分类研究[J].现代电子技术,2013,36(4):5-8.
实现[J].现代电子技术,2016,39(6):120—122.
【7]Andrew G.Mrogan,Thorsten Kukuk.Linux-PAM—
[13]戴明华,李长云,曾志浩,等.嵌入式Linux驱动程
序研究综述[J].长沙大学学报,2012,26(2):52—
53.
SAG[EB/OL].(2010).http://www.1inux—pam.org/
linux-PAM-html/1inux-PAM
——
SAG.htm1.
【14]郑强.驱动开发入门与实践【M】.2版.北京:清华大
学出版社,2014.
工业出版社.2015.
[8] Andrew G.Mrogan,Thorsten Kukuk.Linux-
PAM
—
MWG[EB/OL].(2010)http://www.1inux-pam.
[15]宋宝华.Linux设备驱动开发详解[M].北京:机械
—
org/linux—PAM—html/linux—PAM
MWG.htm1.
[9]ndrew G.Mrogan,Thorsten Kukuk.Linux-PAM_ADG
[16]白建平,王锋军,闫锋欣,等.Qt高级编程[M】.北
【EB/OL].(20 10).http://www.1inux—pam.org/linux—
PAM—html/1inux—PAM ADG.htm1.
京:电子工业出版社,2011.
——
193——
发布评论