Hindawi Publishing Corporation
EURASIP Journal on Applied Signal Processing
Volume 2006, Article ID 58263, Pages 1–11
DOI 10.1155/ASP/2006/58263
Efficient and Secure Fingerprint Verification for
Embedded Devices
Shenglin Yang,1 Kazuo Sakiyama,2 and Ingrid Verbauwhede2
1Department of Electrical Engineering, University of California, Los Angeles, CA 90095, USA
2ESAT-COSIC, Katholieke Universiteit Leuven, Kasteelpark Arenberg 10, 3001 Leuven-Heverlee, Belgium
Received 9 March 2005; Revised 22 September 2005; Accepted 21 January 2006
Recommended for Publication by Roger Woods
This paper describes a secure and memory-efficient embedded fingerprint verification system. It shows how a fingerprint verification module originally developed to run on a workstation can be transformed and optimized in a systematic way to run real-time on an embedded device with limited memory and computation power. A complete fingerprint recognition module is a complex application that requires in the order of 1000M unoptimized floating-point instruction cycles. The goal is to run both the minutiae extraction and the matching engines on a small embedded processor, in our case a 50MHz LEON-2 softcore. It does require optimization and acceleration techniques at each design step. In order to speed up the fingerprint signal processing phase, we propose acceleration techniques at the algorithm level, at the software level to reduce the execution cycle number, and at the hardware level to distribute the system work load. Thirdly, a memory trace map-based memory reduction strategy is used for lowering the system memory requirement. Lastly, at the hardware level, it requires the development of specialized coprocessors. As results of these optimizations, we achieve a 65% reduction on the execution time and a 67% reduction on the memory storage requirement for the minutiae extraction process, compared against the reference implementation. The complete operation, that is, fingerprint capture, feature extraction, and matching, can be done in real-time of less than 4 seconds.
Copyright copy; 2006 Shenglin Yang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
1. INTRODUCTION
Biometric verification systems offer great security and convenience due to the uniqueness and efficiency of the personal biometric information. However, one of the most significant disadvantages of these systems is that the biometric information cannot be easily recalled. For example, in a fingerprint authentication application, once the finger used as a password is compromised, it never can be used again. In a traditional biometric recognition system, the biometric template is usually stored on a central server during enrollment. The candidate biometric signal captured by the front-end input device is sent to the server where the processing and matching steps are performed. In this case, the safety of the precious biometric information cannot be guaranteed because attacks might occur during the transmission or on the server. Some embedded fingerprint verification systems try to decentralize the storage of the information by storing the fingerprint template into a device such as a smart card [1]. Although this provides higher security for the fingerprint matching process as well as the template storage, the minutiae extraction process still runs outside on the card reader and the transmission of the input fingerprint information still can lead to the disclosure of the important biometric data. What is unique in our proposed method is that both the minutiae extraction and the matching process are executed locally on the embedded device, gaining maximum security of the system. The embedded device has limited computation resource and memory space. This requires that the signal processing procedure must be fast and compact. Therefore, the goal of our work is to show that efficient minutia extraction modules can be realized in the context of an embedded device. It does require a systematic approach that looks at different abstraction levels to reach this goal.
Different fingerprint authentication applications might use the same fingerprint due to the limited number of fingers for one person. So the fingerprints stolen from one application could also be used in some other applications [2]. Therefore the secure storage of the fingerprint template is becoming extremely important. By extracting the minutiae and performing the matching locally, the system can avoid attacks on the communication and the server. Also it avoids the need for biometric data to be stored on multiple servers for multiple applications. One alternative is to encrypt the sensitive data before it leaves the embedded device. Then an attack on the link is not possible. This is certainly an option for some applications. There are two main reasons why we opted to process the biometrics on the embedded device. The first one is of perceived privacy. In our proposed system, the fingerprint template needs to be stored only once and the user keeps it with him. We want to avoid that biometric data is stored in multiple places with different levels of security. For example, it could be used to enter nuclear facilities as well as the locker room of the local sports club. If the data is sent over to be processed elsewhere, the user has to trust that his/her personal data is treated confidentially and not disclosed. The second reason is that in the future, we envision that most embedded devices are connected with a wireless link. The radio transmission energy is a much larger cost than the local processing energy [3]. This can be orders of magnit
全文共44942字,剩余内容已隐藏,支付完成后下载完整资料
嵌入式设备的高效安全指纹验证
Hindawi出版公司 EURASIP应用信号处理期刊
卷2006,文章ID 58263,第1-11页 DOI 10.1155 / ASP / 2006/58263
摘要:
本文描述了一种安全且高效的嵌入式指纹验证系统。它展示了最初开发的在工作站上运行的指纹验证模块如何能够以有系统的方式进行转换和优化,以在存储器和计算能力有限的嵌入式设备上实时运行。完整的指纹识别模块是一个复杂的应用程序,需要1000M未优化的浮点指令周期。目标是在小型嵌入式处理器上运行细节提取和匹配引擎,在我们的例子中是一个50MHz的LEON-2软核。它在每个设计步骤都需要优化和加速技术。为了加快指纹信号处理阶段,我们在算法级别,软件级别上提出加速技术以减少执行周期数量,并在硬件级别上分配系统工作负载。第三,基于内存跟踪图的内存减少策略用于降低系统内存需求。最后,在硬件层面上,它需要开发专门的协处理器。作为这些优化的结果,与参考实现相比,我们的执行时间减少了65%,细节提取过程的内存存储需求减少了67%。完整的操作,即指纹采集,特征提取和匹配,可以在4秒内实时完成。
1.引言
由于个人生物识别信息的独特性和高效性,生物识别验证系统提供了极高的安全性和便利性。然而,这些系统最重要的缺点之一是生物特征信息不容易被召回。例如,在指纹认证应用程序中,一旦用作密码的手指受到损害,它永远不会再被使用。在传统的生物识别系统中,生物识别模板通常在注册期间存储在中央服务器上。由前端输入设备捕获的候选生物测定信号被发送到执行处理和匹配步骤的服务器。在这种情况下,宝贵的生物信息的安全性无法得到保证,因为在传输过程中或在服务器上可能发生攻击。一些嵌入式指纹验证系统试图通过将指纹模板存储到诸如智能卡的设备中来分散信息的存储[1]。虽然这为指纹匹配过程以及模板存储提供了更高的安全性,但是细节提取过程仍然在读卡器外面运行,并且输入指纹信息的传输仍然可以导致重要的生物统计数据的公开。我们提出的方法的独特之处在于,细节提取和匹配过程都是在嵌入式设备上本地执行的,从而获得系统的最大安全性。嵌入式设备具有有限的计算资源和内存空间。这就要求信号处理过程必须快速而紧凑。因此,我们工作的目标是证明可以在嵌入式设备环境中实现有效的细节提取模块。它确实需要一个系统的方法来看待不同的抽象层次来达到这个目标。
由于一个人手指数量有限,不同的指纹认证应用程序可能会使用相同的指纹。因此,从一个应用程序中窃取的指纹也可用于其他一些应用程序[2]。因此,指纹模板的安全存储变得非常重要。通过提取细节并在本地进行匹配,系统可以避免对通信和服务器的攻击。而且它避免了将生物特征数据存储在多个应用程序的多个服务器上的需要。一种替代方法是在敏感数据离开嵌入式设备之前对其进行加密。然后攻击链接是不可能的。这对于某些应用程序当然是一种选择。我们选择在嵌入式设备上处理生物识别技术有两个主要原因。第一个是感知隐私。在我们提出的系统中,指纹模板只需要存储一次,用户可以随身携带。我们希望避免将生物特征数据存储在具有不同安全级别的多个地方。例如,它可以用来进入核设施以及当地体育俱乐部的更衣室。如果数据被发送到其他地方进行处理,用户必须相信他/她的个人数据会被保密处理并且不会被披露。第二个原因是,在未来,我们设想大多数嵌入式设备都与无线链路连接。无线电传输能量比本地处理能量大得多[3]。这在电池供电设备中可以是数量级的。因此,嵌入式设备的趋势是尽量减少需要传输的数据量。但是,仍然有可能损害嵌入式设备中模板的普通存储。为了提高存储的安全性,我们提出了一种基于定义好的变换模板结构的安全匹配算法,该算法不包含原始指纹信息。
嵌入式验证的设计需要在每个设计步骤进行优化。 在算法级别,开发了安全匹配算法来解决嵌入式设备中的安全问题。 在软件级别,基于性能分析结果的优化减少了所需的系统周期数。 在硬件级别,内存组织和数据路径加速都会执行优化。 基于内存跟踪映射的内存减少策略可用于降低系统内存需求。 内存映射技术已被用于设计加速协处理器。
本文的贡献是:(1)利用指纹图案特征的高速优化技术; (2)通过为嵌入式内核创建专用协处理器来实现DFT加速器; (3)系统内存估计和优化技术,以减少嵌入式设备特征提取过程的内存需求; (4)基于局部结构的更安全的匹配算法。
本文组织如下:第2节回顾了一些相关的工作。 第3节介绍了我们提出的系统的概述。然后第4节讨论了特征提取的算法和速度优化,第5节讨论了内存管理。在第6节中,我们提出了我们的安全匹配技术。 最后,我们在第7部分结束本文,主要贡献了我们的工作。
2.相关工作
已经对基于细节的指纹匹配进行了许多研究。 他们中的一些人使用细节的局部结构来描述细节集的特征[4]。 基于对齐的匹配算法利用连接到细节的脊的形状[5]。 其他一些研究结合了当地和全球的结构[6,7]。 局部结构用于查找两个细节集的对应关系,提高全局匹配的可靠性。 全局结构可靠地确定指纹的唯一性。 [8]中的方法与我们的工作类似。 然而,我们提出了一个细节局部结构的新定义,该定义证明对低质量输入指纹有效。
随着新处理器不断提高嵌入式系统的性能,处理器与存储器之间的差距越来越大,内存在很多应用中都成为速度,面积和功耗方面的主要瓶颈[9]。系统级的内存估计技术用于指导嵌入式系统设计人员选择最佳解决方案。在数据主导的应用程序中,总结所有数组的大小是获得内存需求上限的最直接方式。然而,“就地”问题[10]引入了一个巨大的高估。在[11]中,考虑了内部就地映射,总存储需求是每个阵列需求的总和。在[12]中,代码中的数据依赖关系用于查找每个赋值生成或消耗的数组元素的数量,从中可以找到作为时间函数的上边界和下边界矩形的内存轨迹。在[13]中,描述了基于活动变量分析和整数点计数的方法。本文介绍的方法既考虑了程序大小又考虑了数据大小,并提供了一种有效的方法,可以通过运行时仿真收集的信息,降低系统级嵌入式系统的内存要求。
为了在嵌入式平台上进行高效的指纹认证系统设计,最近的研究已经通过一套通用的定制指令扩展引入了协处理器增强功能,以实现嵌入式处理器指令集架构[14]。 除了硬件/软件代码优化之外,本文还提出了软件级加速技术。
3.系统概述
在传统的涉及资源有限的嵌入式设备的分布式系统中,通常系统分区仅基于在嵌入式设备和主服务器之间分配计算来降低总体能耗。但是,我们提出的系统需要考虑安全性的分区技术。因此,我们需要在嵌入式设备上本地执行完整的生物识别处理,而不是将它们卸载到服务器或读卡器。所提出的指纹验证系统由四个基本子系统组成:数据采集,细节提取,匹配和通信。前三者负责生物识别处理和匹配,而通信部分允许将结果(是/否信号)传输到服务器。通过这样做,敏感的生物特征数据被限制在嵌入式设备中,唯一传输的信息是最终的二进制结果,这是不敏感的。
演示我们系统的硬件平台包括嵌入Xilinx FPGA(Virtex-II),DDR SDRAM和Authentec AF-2 CMOS成像指纹传感器的LEON-2处理器。 LEON-2是符合SPARC V8架构的32位处理器的综合VHDL模型。该模型是高度可配置的,并且特别适用于片上系统(SOC)设计[15]。演示设置和架构如图1所示。指纹传感器通过串行链路连接到FPGA板。 FPGA包含软LEON-2 SPARC内核和两个加速单元,一个用于细分处理(DFT)和一个用于加密目的(AES)。
为了验证指纹匹配算法,我们将我们的系统应用到FVC2000指纹数据库的一个子集[16]。 为了评估现实的系统性能,我们还使用Authentec AF-2 CMOS成像传感器[17]构建了一个新数据库,该数据库是我们指纹验证系统的一部分。 捕捉来自10个不同拇指的每个手指的10个实时扫描指纹样本,形成具有总共100个指纹图像的测试台。
图1:(a)用于演示的FPGA板设置; (b)原型架构。
图2:NIST细节提取流程。
4.特征提取
特征提取步骤是计算密集度最高的步骤。 其优化适合嵌入式设备由几个步骤组成。 第一步是优化算法本身以减少操作次数。 第二步包括确定计算瓶颈并为其设计加速单元。 第三步由内存优化组成。
4.1细节提取算法
提取指纹细节的算法起点取自NIST指纹图像软件[18]。 基本步骤如图2所示。
细节提取过程中的基本步骤是导出定向脊线流图来表示脊结构(MAPS)的方向。为了本地分析指纹,将图像分成具有较大周围24times;24像素窗口的8times;8像素块的网格。对于每个块,周围的窗口被递增地旋转,并且在每个方向上进行离散傅立叶变换(DFT)分析。方向的数量设置为16.在一个方向内,沿着窗口的每个旋转行的像素被加在一起,形成16个行和的向量(参见图3)。每个行和矢量与4个增加频率的波形进行卷积,产生共振系数,表示矢量如何适合特定波形。块的主脊线流向由具有最大波形共振的方向决定。还分析了图像质量。对难以精确确定脊流量的块进行标记,表明在这些块内检测到的细节不太可靠。
- 11.25◦ 6. 22.5◦ 5. 33.75◦ 4. 45◦ 3. 56.25◦ 2. 67.5◦ 1. 78.75◦ 0. 90◦
图3:窗口旋转的示例。
基于与该像素所属的块(BINAR)相关联的脊流方向来为每个像素分配二进制值。一个7times;9像素网格定义在像素中心。网格行的角度设置为与局部脊线流动方向平行。然后比较中心行数和平均行数。如果中心行总和小于平均强度,则中心像素被设置为黑色;否则,它被设置为白色。在二值化之后,检测步骤有条不紊地扫描指纹的二值图像,识别指示脊的结束或分叉(DETECT)的局部化像素图案。由于扫描技术是保守的以最小化错过真细节的可能性,通过执行这些步骤指出的细节候选者需要进一步细化阶段。虚假细节的典型来源包括:(1)二值化图像中的岛屿,湖泊和洞穴; (2)图像质量差的地区不可靠的细节; (3)侧面细节,钩子,重叠,太细的细节等等。考虑到这些问题,需要执行几个步骤来从候选列表中删除错误的细节。
4.2高速加速器
在嵌入式设备上实现指纹验证模块不仅需要精确性,还需要高速度和低功耗。 在本文中,我们调查软件和硬件优化技术以实现此目标。
软件优化旨在减少整个过程的周期数。为了获得更好的性能,第一步是找出系统的瓶颈。为此,TSIM SPARC仿真器用于剖析C代码[15]。仿真表明,细节提取过程占据了大部分(〜99%)的执行时间。因此,我们将重点关注该模块的速度优化。图4(a)显示了细节提取过程的分析结果。图像二值化和细节检测的执行时间分别为总数的11%和12%,并且不被视为系统瓶颈。但是,方向图导出步骤(MAPS)占总执行时间的74%。因此,对它的详细算法进行了进一步的研究。图4(b)显示了MAPS的指令级分析。由于用于创建方向图的重复DFT计算,乘法(Mult)和加法(加法)的指令数总计高达总MAPS处理的56%。基于
图4:(a)描绘细节提取的执行时间; (b)MAPS的指令级分析。
在方向图导出步骤中考虑了剖析结果,软件优化和硬件加速以用于DFT计算。
- 细节提取的软件优化
观察指纹图的方向图,我们发现由于脊流的连续性,相邻图块倾向于具有相似的方向。图5显示了一个例子。这个特性可以用来显着减少DFT计算的次数。例如,图5中左上方的第一个方向数据是使用与原始方法相同的方法计算的。在此之后,当确定块旁边的方向时,不是从theta;= 0开始,首先计算theta;= 4,5,6的DFT,因为结果最可能是theta;= 5。通常,对于每个theta;,沿着窗口的每个旋转行的像素被加在一起形成24行和(行和(i,theta;),i = 0,1,2,...,23)的向量。行和的每个矢量都与几个波形进行卷积。沿矢量计算每个单位的不同频率(phi;)的正弦和余弦函数的离散值。然后将矢量中的行和与其对应的离散正弦值相乘,并将结果累加并平方。向量中的行和与其对应的离散余弦值之间进行相同的计算。
图5:方向图示例。 “-1”表示由于图像中的零填充而没有方向。
然后将平方正弦分量添加到平方余弦分量,产生一个共振系数,该共振系数表示矢量如何适合特定波形。 谐振系数被描述为
ETotal(theta;) = A2(ϕ,theta;) B2(ϕ,theta;),
ϕ
23
ϕ i pi;
A(ϕ,theta;) = row sum(i,theta;) bull; sin ·16· , (1)
i=0
23
ϕ i pi;
B(ϕ,theta;) = row sum(i,theta;) bull; cos · · .
<p
全文共10915字,剩余内容已隐藏,支付完成后下载完整资料</p
资料编号:[9360],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。