物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  防伪  >  正文

基于智能卡指纹认证系统

作者:刘治
来源:中国一卡通网
日期:2009-10-10 08:46:50
摘要:文中介绍基于智能卡的指纹认证系统, 它结合指纹识别技术与智能卡技术各自的优点, 提供更高的安全性和更好的实用性。

    1 智能卡及指纹识别技术 

    智能卡(smart card)及指纹识别技术智能卡在外形上和磁卡(magnetic card)相似, 但重要的是它不易被仿制。智能卡主要分为三类存储卡, 加密存储卡和CPU卡。存储卡中的数据可任意读写加密存储卡对读取数据没有严格限制, 但写数据时须进行密码校验;CPU卡的读写都有严格的限制, 并有自己的微处理器位(8位CPU, 主频5~10MHz)、RAM、ROM、EEPROM、ROM由于存放操作系统及加密算法等, EEPROM用于存放用户的个人化参数和数据, 而这些数据只能通过智能卡中的操作系统来访问, 外部应用程序不能直接访问。智能卡的安全机制是通过密钥鉴别, 密码认证, 数据加密和解密以及文件访问的安全控制等一系列协议来实现的。

    指纹通常被认为是由谷分开的一系列脊。随着计算机技术、采集技术及指纹识别算法的发展, 人们逐渐将人工指纹识别向指纹自动识别AFIS(Automated fingerprint Identification System)转变。

    2 系统分析

    该系统提出了严格的拒真率(FRR)和认假率(FAR)指标及可靠性安全性的要求。系统设计中使用的智能卡实际上是内嵌于标准塑料卡中的微控制器, 因此, 它所拥有的RAM/ROM及EEPROM的容量都很有限, 根据智能卡的标准, 必须考虑微处理器的时钟频率和是数据传输。智能卡中初始时钟频率只有5MHz, 从而严重影响了计算速度另外外部向智能卡传送数据只能通过单工异步串行口, 通常情况下, 次传输速率为9600bps, 并且, 即便这一速率可以改变, 最大也不会超过115bps,因此基于智能卡的指纹识别系统满足必须有以下条件

    ① 指纹特征样本应尽量的小, 以不超过512字节为宜, 否则会给数据存储和传输带来困难;

    ② 由于用户模板只在登记时传送一次, 因而不会对数据通信造成大的影响, 然而考虑到EEPROM的存储容量和匹配算法的复杂度, 也要尽减小其大小;
 
    ③ 减少定点运算, 杜绝浮点运算, 否则会因计算量的增大而需要协处理器, 造成成本升高。指纹认证算法的方案流程如图1。 

指纹认证算法的方案流程图

    ① 指纹圈像获取主要有光学扫描采集、固休传感器采集和超声波传感器采集三种途径。所采集到的指纹图像为位灰度图, 分辨率和大小因系统用途不同而不等, 分辨率一,大小耐一耐, 本系统以美国推荐的, 大小的图像为标准。

    ② 指纹圈像预处理为使采集的指纹样本适于后续细节提取模块的处理, 并且为了减少数据量, 采取四级预处理方案。首先经计算得到指纹样本的梯度图, 然后根据梯度图分割图像, 去除空白部分, 从而使得到的图像中仅有脊和谷的信息。接下来便是图像增强的过程, 在这个过程中指纹采基于智能卡指纹认证系统集过程中由于手指压力、污溃等造成的图像亮度、对比度的缺陷将得到补偿。最后, 计算得到指纹图像的方向图。

    ③ 细节提取本系统在细节提取过程中使用“ 脊线跟踪” 算法, 该算法基本思想是在指纹图像内部利用方向对脊进行迭代搜录。一旦找到脊上一点即在这一区域内灰度值最低的象素点, 然后顺延找到整条脊线。在得到的脊线图中, 脊线的末梢及两条脊线的交点都是指纹图像的细节特征点。由这些细节特征点的位置、方向以及类型得到指纹图像的特征向量, 并为后续的匹配算法提供必要的信息。这一过程还包括伪特征点的消除。该系统中指纹图像每个细节特征点的特征向量为个字节, 而特征点的数量有赖于获取的有效指纹图像的大小。

    ④ 指纹特征匹配由指纹传感器获取的指纹,在得到其特征向量后要和由读卡器得到的先前注册时储存于卡中的指纹摸板相比对。然而由于手指按压程度不同, 造成指纹采样与卡中指纹摸板之间脊线间距离、对比度等差异。因此, 在匹配过程中应用弹性匹配算法。

    3 系统安全性

    由于本系统限于本地用户使用, 故当前强调用户身份认证的安全性而暂不考虑网络互联带来数据通信安全性问题。

    系统安全机制主要体现在以下三方面首先,系统用户应在系统服务器端进行注册, 同时将用户指纹特征、用户数据及相关信息加密后存人智能卡中, 从而保证在不知道存储格式的情况下不能获得卡中数据。其次, 智能卡读卡机上加装指纹识别模块, 当读卡机阅读卡上信息时, 一并将持卡者指纹读人, 通过对比卡上指纹与持卡者指纹可确定持卡者是否为该卡的合法拥有者, 身份确认后才能进行下一步操作。在更严格的场合下, 还应和后端主机系统数据库中的指纹进行比对。另外, 发卡时向智能卡中写入PIN密码, 该密码同时存储于服务器端的数据库中。该密码对用户是保密的, 用户要想对智能卡进行写操作就必须有PIN密码, 只有用户指纹的采样经服务器端通过身份验证后, 服务器端传送PIN密码至客户端, 才可对智能卡进行写操作。

    (文/ 山东大学 刘治)