-
摘要: 为了改善指纹模板保护算法的可撤销性、不可逆性等性能, 设计了一种基于细节点投影的可撤销指纹模板生成算法.首先对指纹图像进行预处理, 提取指纹的细节点特征, 并筛选出采样半径范围内的有效细节点, 然后对细节点进行直线投影, 将投影后的向量映射到二维网格, 生成固定长度的一维比特串, 再结合用户PIN码生成可撤销指纹模板.在指纹数据库FVC2002-DB1和DB2上的实验结果表明, 该算法不仅提高了指纹模板认证的稳定性, 而且在可撤销性、不可逆性和安全性等方面均具有较好性能.Abstract: In order to enhance the revocation and irreversibility performance of the fingerprint template protection algorithm, a cancelable fingerprint template generating algorithm is proposed using minutiae projection. Firstly, we extract fingerprint minutiae feature after preprocessing the fingerprint image and select the effective minutiae within the range of the sampling radius. Next, we project the minutiae into a line and map the projected vectors onto a 2D grid to generate a fixed length 1D bit-string. Finally, the cancelable fingerprint template is generated by combining the user PIN code. Experiments performed on FVC2002-DB1 and DB2 show that the algorithm not only improves the stability of the template authentication but also satisfies revocation as well as non-invertibility, and ensures the security of the algorithm.
-
Key words:
- Minutiae /
- projection /
- sample radius /
- cancelable template
-
随着网络和信息技术的发展和普及, 信息的安全问题变得越来越重要.在众多的信息安全技术中, 生物特征识别技术是指通过人体的行为特征、生理特征等生物特征信息进行身份认证的方式, 常见的生物特征包括指纹、掌纹、人脸、虹膜、指静脉、视网膜和手写签名等特征, 这些特征是独一无二且不易伪造的[1].近年来, 随着基于指纹、掌纹、人脸等生物特征的身份认证技术被广泛使用, 生物特征识别技术的安全问题也日益凸显, 成为信息安全领域的一个研究热点.
现有的针对生物特征的攻击分为四种[2]:传感器攻击、传感器和模块间的攻击、软件攻击和生物特征模板攻击.其中生物特征模板攻击会造成用户的原始生物信息泄露, 威胁到用户的隐私安全.鉴于生物特征具有的唯一性和不可变更性, 一旦泄露将对用户的个人隐私造成永久威胁, 因此, 对生物特征模板进行保护变得尤为重要.
目前应用较为广泛的模板保护方法包括:生物特征加密技术和可撤销生物识别技术[3].生物特征加密技术是将生物特征与密钥进行绑定, 生成安全性较高的加密模板. 2002年, Juels等[4]提出了Fuzzy Vault方案, 它是指纹特征加密技术最经典的方案, 该方案可以很好地将指纹特征与密码算法相结合, 实现对指纹特征的保护.而可撤销生物识别技术是对生物特征进行某种不可逆的变化生成可撤销的模板, 其中指纹特征的可撤销模板保护技术主要分二类[5], 一类是基于预配准的可撤销指纹模板保护技术, 2004年, Jin等[6]提出一种基于BioHashing的可撤销生物认证方案, 该方案将用户的特征向量与存储在用户身份令牌中的一组伪随机数进行迭代内积, 产生一组BioCode码.实验证明, 该方案具有良好的安全和识别性能, 但仍存在许多问题, 如难以在指纹中提取算法所要求的定长特征, 不能在随机数丢失的情况下保证认证性等[7-8]. 2007年, Ratha等[9]针对指纹特征采用不可逆变换函数生成可撤销模板, 使得变化后的特征无法恢复出原始指纹的特征信息, 当可撤销模板被盗时, 可通过改变函数参数生成新的可撤销模板, 从而确保生物特征信息的安全性.但Feng等[10]指出Ratha使用的变换函数中存在一一对应的映射关系, 攻击者可通过蛮力攻击、多重记录攻击和解方程法求出部分原始指纹的特征信息.
另一类是免配准的可撤销指纹模板保护技术, 2007年, Lee等[11]提出一种免配准的可撤销指纹模板的方法.该方法虽然避免了指纹预配准所产生的误差, 但增加了密钥泄露时模板遭受攻击的风险. 2010年, Lee等[12]提出了基于三维数组的可撤销比特串模板生成方法, 随后研究人员相继提出基于极坐标[13]和投影[14]的比特串模板生成方法, 这些方法都是通过用户特定的令牌实现对比特串的加密, 但由于置换矩阵的可逆性, 当模板被盗时, 量化后的细节点位置就会被恢复. 2012年, Wang等[15]采用DITOM映射构造了一种免对齐的可撤销指纹模板, 之后又提出基于循环卷积生成二进制字符串的构造方法[16], 通过实验证明该模板的安全性较高, 即使在模板和参数都泄露的情况下, 也无法恢复出二进制串. 2015年, Sandhya等[17]提出基于K邻域结构的免对齐指纹模板保护方法. 2016年, Pambudi等[18]提出了基于投影的可撤销指纹模板生成方法, 该方法避免了指纹预配准时产生的误差, 且提取的局部细节点对非线性失真具有鲁棒性, 但其安全性和识别性等性能还有待提高. 2017年, 许秋旺等[19]设计了一种基于细节点邻域信息的可撤销指纹模板生成方法, 该方法拓展了细节点描述子的采样结构, 对系统的识别性能有所改善, 具有较好的实用性.
因此, 为了避免指纹预配准时产生的误差, 以及直接映射造成的用户原始指纹信息泄露, 本文利用指纹细节点特征的旋转平移不变性, 对细节点进行处理, 并将处理后的细节点通过投影、映射和加密生成可撤销的指纹模板.实验结果表明, 该算法生成的指纹模板不仅满足可撤销性、不可逆性、多样性和安全性, 而且具有较好的认证性能.
1. Pambudi方法
2016年, Pambudi等在文献[18]中提出了基于投影的可撤销指纹模板生成方法, 其主要思想是:首先从指纹图像中提取细节点特征, 进行预处理.然后任意选取一个细节点作为参考细节点, 计算并提取在采样半径范围内的其他细节点相对于参考细节点的距离与角度.最后根据密钥依次对这些细节点进行水平和垂直方向上的投影等变换, 生成向量集合$ \{{\pmb v}\} $作为最终的可撤销指纹模板.细节点的投影特征如图 1所示.
假设$ m_{i} $为参考细节点, $ m_{k} $为$ m_{i} $的一个邻域细节点, 则变换后的向量集合$ \{{\pmb v}\} $, 如式(1)所示.
$$ \begin{align} \{{\pmb v}\}^{n}_{i} = \left\{ \begin{array}{c} (r{'}_{i1}, d{'}_{i1}, \theta_{i1v}, \theta_{i1h}, \delta_{i1v}, \delta_{i1h}) \\ \vdots \\ (r{'}_{n1}, d{'}_{n1}, \theta_{n1v}, \theta_{n1h}, \delta_{n1v}, \delta_{n1h}) \\ \end{array} \right \} \end{align} $$ (1) 其中, $ n $为细节点数, $ r{'}_{ik} $和$ d{'}_{ik} $分别表示变换后的点与参考细节点$ m_{i} $的距离和投影直线上二点距离. $ \theta_{ikv} $和$ \theta_{ikh} $表示水平和垂直投影点的方向, $ \delta_{ikv} $和$ \delta_{ikh} $表示投影点的索引.
实验结果表明, 该方法生成的模板具有良好的识别性能, 如等错误率为1 %等.但方法中存在一些缺点:首先, 在投影过程中提取的指纹特征较多, 这容易造成指纹信息泄露, 而且计算量较大.其次, 该方法虽然对细节点特征进行了变换, 但模板中仍包含有原始指纹的信息, 如$ \theta_{ikv} $和$ \theta_{ikh} $.因此当系统遭受攻击时, 模板的安全性受到威胁.最后, 由匹配结果可知, 进行模板匹配的细节点数目多少, 对模板的认证性能影响较大, 这对于图像质量较差, 提取细节点的精度较低的指纹来说, 效果可能并不理想.
2. 本文提出的算法
为了改进算法的稳定性和认证性, 本文提出基于细节点投影的可撤销指纹模板生成算法, 主要包括指纹模板的生成和指纹匹配二个阶段.指纹模板的生成过程为:首先对指纹图像进行预处理, 提取指纹的细节点特征; 再任选一个细节点作为参考细节点, 对剩余细节点进行旋转和平移变换, 并筛选出采样半径范围内的有效细节点; 然后对其进行直线投影, 将投影后的向量集合量化并映射到一个二维极坐标网格中生成固定长度的一维比特串; 最后结合用户PIN码生成可撤销指纹模板.指纹匹配时, 对验证指纹图像做相同的变换生成验证指纹模板, 计算二个模板之间的匹配分数, 得出最终结果.
本文算法的基本流程如图 2所示.
2.1 细节点的变换
首先提取指纹的细节点特征进行预处理, 并生成细节点集$ M = \{m_{i}\}^{n}_{i = 1} $, 其中, $ m_{i} = \{x_{i}, y_{i}, \theta_{i}\} $, $ x_{i} $, $ y_{i} $, $ \theta_{i} $分别表示第$ i $个细节点的位置坐标和方向角度, $ n $表示从一幅指纹图像中提取的细节点数.然后从细节点集$ M $中任意选取一个细节点$ m_{i} $作为参考细节点, 求出其余$ n-1 $个细节点相对参考细节点的距离与角度.如图 3所示, 设$ m_{c} $为变换后的细节点, $ x_{ci}, y_{ci} $和$ d_{ci} $分别为细节点$ m_{c} $相对细节点$ m_{i} $的位置坐标和距离, $ \alpha_{ci} $和$ \beta_{ci} $分别为细节点对$ (m_{c} $, $ m_{i}) $的连线沿逆时针方向与自身方向所形成夹角[16].
$$ \begin{align} & \begin{cases} x_{ci} = (x_{c}-x_{i})\cos\theta_{i}+(y_{c}-y_{i})\sin\theta_{i}\\ y_{ci} = (x_{c}-x_{i})\sin\theta_{i}-(y_{c}-y_{i})\cos\theta_{i}\\ \end{cases} \end{align} $$ (2) $$ \begin{align} &d_{ci} = \sqrt{x^{2}_{ci}+y^{2}_{ci}}, &&\quad c = 1, 2, \cdots , n-1 \end{align} $$ (3) $$ \begin{align} &\alpha_{ci} = \arctan \frac{y_{ci}}{x_{ci}}, &&\quad c = 1, 2, \cdots, n-1 \end{align} $$ (4) $$ \begin{align} &\beta_{ci} = \alpha_{ci}+\theta_{c}-\theta_{i}, &&\quad c = 1, 2, \cdots, n-1 \end{align} $$ (5) 在投影过程中, 为了避免变换后的细节点与参考点的距离太近而产生投影误差, 应对细节点进行筛选[18].当所选取的细节点过多时会增加认证时间, 但过少的细节点会减弱指纹的独特性, 因此应该获取足够多的细节点, 使其能够代表整个指纹数据库的特性.
如图 4所示, 以任意一个细节点$ m_{i} $为圆心, 以$ t\_\min $和$ t\_\max $为采样半径作圆, 筛选出位于二个圆形区域之间的细节点.当细节点$ m_{c} $相对细节点$ m_{i} $的距离$ d_{ci} $满足条件(6)时, 将细节点$ m_{c} $作为有效细节点筛选出来.
$$ \begin{align} t\_\min \leq d_{ci} \leq t\_\max \end{align} $$ (6) 假设满足条件(6)的有效细节点个数为$ r $, 则以细节点$ m_{i} $作为参考点生成集合$ p_{i} = $ $ \{(x_{ji} $, $ y_{ji} $, $ \alpha_{ji} $, $ \beta_{ji})\}^{r}_{j = 1} $, 其中, $ x_{ji} $和$ y_{ji} $分别为细节点$ m_{j} $相对参考细节点$ m_{i} $的位置坐标, $ \alpha_{ji} $和$ \beta_{ji} $分别为细节点对$ (m_{j}, m_{i}) $的连线沿逆时针方向与自身方向所形成角度.
2.2 细节点的直线投影
以细节点$ m_{i} $为中心建立一个新的坐标轴, 将细节点$ m_{j}(x_{ji}, y_{ji}, \alpha_{ji}, \beta_{ji}) $投影到直线上: $ y = \rho x+c $, 其中$ \rho $和$ c $分别表示直线斜率和截距.在本文算法中, 对直线角度$ \theta $分别取$ 50^{\circ} $和$ 150^{\circ} $, $ c $取0, 具体投影步骤如下:
步骤 1. 取$ \theta = 50^{\circ} $, 如图 5所示, 先将细节点$ m_{j} $沿水平和垂直方向进行投影, 得到点$ m_{j} $到直线的水平距离$ a $和垂直距离$ b $, 再计算出细节点$ m_{j} $投影到直线上二点的距离$ r1_{ji} $.
$$ \begin{align} &a = |x_{ji}- \frac{y_{ji}}{\tan\theta}|, && j = 1, 2, \cdots , r \end{align} $$ (7) $$ \begin{align} & b = |y_{ji}-x_{ji} \tan\theta|, && j = 1, 2, \cdots , r \end{align} $$ (8) $$ \begin{align} & r1_{ji} = \sqrt{a^{2}+b^{2}}, && j = 1, 2, \cdots , r \end{align} $$ (9) 步骤 2. 取$ \theta = 150^{\circ} $, 对细节点做同样变换, 并计算细节点$ m_{j} $投影到直线上二点的距离$ r2_{ji} $.
步骤 3. 分别求出距离$ r1_{ji}, r2_{ji} $的平均值和角度$ \alpha_{ji}, \beta_{ji} $的平均值, 得到细节点的投影特征$ (L_{ji}, \phi_{ji}) $, 其中$ L_{ji} $和$ \phi_{ji} $分别表示平均距离和平均角度.
$$ \begin{align} L_{ji} = \frac{r1_{ji}+r2_{ji}}{2} \end{align} $$ (10) $$ \begin{align} \phi_{ji} = \frac{\alpha_{ji}+\beta_{ji}}{2} \end{align} $$ (11) 步骤 4. 以细节点$ m_{i} $为参考细节点, 对$ r $个细节点投影后, 形成的投影特征集合$ \{w_{i}\} = \{(L_{ji} $, $ \phi_{ji})\}^{r}_{j = 1} $.再分别以不同的细节点作为参考细节点, 进行投影, 形成最终投影特征集$ w $, 其中$ \{w\} = \{w_{1} $, $ w_{2} $, $ \cdots $, $ w_{n}\} $.
2.3 一维比特串的生成
针对投影特征集$ w $进行映射时, 需要构建一个二维网格阵列.
如图 6所示, 构建一个长为$ \sigma_{L} $, 宽为$ \sigma_{\phi} $的二维网格阵列, 其中$ \sigma_{L}\in[0, \max(L_{ji})] $, $ \sigma_{\phi}\in[0, 2\pi] $, $ \max(L_{ji}) $表示平均距离的最大值.在二维网格阵列中, 每个单元格长为$ c_{L} $, 宽为$ c_{\phi} $.二维网格单元总数为$ g = \omega_{L}\times\omega_{\phi} $, 其中$ \omega_{L} = \lfloor\max(L_{ji})/c_{L}\rfloor $, $ \omega_{\phi} $ $ = $ $ \lfloor2\pi /c_{\phi}\rfloor $, $ \lfloor\cdot\rfloor $表示向下取整.
将平均距离$ L_{ji} $和平均角度$ \phi_{ji} $进行量化后, 映射到二维网格阵列中.量化公式为
$$ \begin{align} X_{ji} = \left\lfloor \frac{L_{ji}}{c_{L}} \right\rfloor, \quad j = 1, 2, \cdots, r \end{align} $$ (12) $$ \begin{align} Y_{ji} = \left\lfloor \frac{\phi_{ji}}{c_{\phi}}\right\rfloor, \quad j = 1, 2, \cdots, r \end{align} $$ (13) 其中, $ X_{ji} $和$ Y_{ji} $表示映射到网格单元上的位置坐标.依次对每个网格单元进行读取, 若存在特征向量, 则该网格单元的值设为1, 若没有特征向量则为0, 最终得到长度为$ g $的一维比特串$ b_{i}(j)^{g-1}_{j = 0} $, 其中$ g $为网格单元总数.再将每一个细节点作为参考细节点, 对其他细节点进行映射, 形成比特串集$ \{b\} = $ $ \{b_{1} $, $ b_{2}, \cdots, b_{n}\} $.
2.4 可撤销指纹模板的生成
为了防止攻击者通过非法手段获得用户指纹特征模板后, 还原出用户的原始指纹信息.本文通过对固定长度的一维比特串进行DFT运算后, 再与用户PIN码结合打乱比特串的排列顺序, 生成可撤销指纹模板[17].具体步骤为:
步骤 1. 对长度为$ g $的一维比特串$ b_{i} $进行$ g $点DFT运算后产生复向量$ {\pmb v_{i}} $, 如式(14)所示, $ {\pmb v_{i}} $的大小为$ g\times1 $.
$$ \begin{align} {\pmb v_{i}} = \sum^{g-1}_{s = 0} b_{i}{\rm e}^{\frac{-j2 \pi ts}{g}}, \quad t = 0, 1, \cdots, g-1 \end{align} $$ (14) 步骤 2. 利用用户PIN码生成伪随机矩阵$ R_{p\times q} $, 并与复向量$ {\pmb v_{i}} $相乘得到模板$ T_{i} $, 其中$ p<q $且$ q = g $.
$$ \begin{align} T_{i} = R \times {\pmb v_{i}} \end{align} $$ (15) 步骤 3. 对所有比特串$ \{b\} = \{b_{1}, b_{2}, \cdots, b_{n}\} $进行计算得到可撤销指纹模板$ T = \{T_{1} $, $ T_{2} $, $ \cdots $, $ T_{n}\} $.
因此, 为了避免指纹模板中包含有原始指纹信息等问题, 本文在对细节点进行投影时, 在确保认证性较好的前提下, 提取较少的投影向量, 并采用二维映射的方法对投影后的向量进行处理, 使得用户的原始指纹信息能够被较好的隐藏.在对指纹模板进行加密时, 采用DFT运算并与用户PIN码结合, 实现多对一的不可逆变换, 加强了指纹模板的安全性.
3. 指纹模板匹配
指纹模板的匹配是通过对注册指纹模板和验证指纹模板进行比较, 产生最终的匹配分数, 其取值范围为0到1.本文参照文献[19]的模板匹配算法, 并根据算法的匹配效果, 对最终的匹配方程进行修改.假设为$ R^{E} $注册指纹, $ R^{Q} $为验证指纹, 从注册指纹$ R^{E} $和验证指纹$ R^{Q} $中筛选出的有效细节点个数分别为$ f $和$ u $.匹配步骤如下:
步骤 1. 对注册指纹$ R^{E} $和验证指纹$ R^{Q} $采用相同的用户PIN码, 生成注册指纹模板$ T^{E} = $ $ \{T^{E}_{1}, T^{E}_{2}, \cdots, T^{E}_{f}\} $和验证指纹模板$ T^{Q} = \{T^{Q}_{1} $, $ T^{Q}_{2} $, $ \cdots, T^{Q}_{u}\} $.
步骤 2. 从注册模板$ T^{E} $与验证模板$ T^{Q} $中任意选取一个细节点的映射模板$ T^{E}_{a} $和$ T^{Q}_{b} $进行比较, 得出$ T^{E}_{a} $与$ T^{Q}_{b} $的局部匹配分数为
$$ \begin{align} SA(T^{E}_{a}, T^{Q}_{b}) = 1- \frac{ \| T^{E}_{a}-T^{Q}_{b} \| _{2}}{ \| T^{E}_{a}\|_{2} - \|T^{Q}_{b}\| _{2}} \end{align} $$ (16) 其中, $ \| \cdot \|_{2} $表示2范数.将注册模板$ T^{E} $与验证模板$ T^{Q} $进行两两对比后, 生成大小为$ f\times u $的局部匹配相似矩阵$ LS $表示为
$$ \begin{align} \left [\!\! \begin{array}{cccc} SA(T^{E}_{1}, T^{Q}_{1}) & SA(T^{E}_{1}, T^{Q}_{2}) & \cdots & SA(T^{E}_{1}, T^{Q}_{u}) \\ SA(T^{E}_{2}, T^{Q}_{1}) & SA(T^{E}_{2}, T^{Q}_{2}) & \cdots & SA(T^{E}_{2}, T^{Q}_{u}) \\ \vdots &\vdots & \ddots & \vdots \\ SA(T^{E}_{f}, T^{Q}_{1}) & SA(T^{E}_{f}, T^{Q}_{2}) & \cdots & SA(T^{E}_{f}, T^{Q}_{u}) \\ \end{array}\!\! \right] \end{align} $$ (17) 步骤 3. 通过局部匹配相似矩阵得出$ T^{E} $与$ T^{Q} $之间的最大相似度集合为
$$ \begin{align} LS\max(a) = \max \limits_{b} (SA(T^{E}_{a}, T^{Q}_{b}) ) \end{align} $$ (18) 其中, $ \max_{b}(SA(T^{E}_{a}, T^{Q}_{b}) ) $表示相似矩阵$ LS $每行的最大值.那么注册模板$ T^{E} $与验证模板$ T^{Q} $的全局匹配分数$ GMS $表示为
$$ \begin{align} GMS = \frac{\sum \limits ^{f}_{a = 1} LS\max(a)}{ \mu } \end{align} $$ (19) 其中, $ \mu $表示最大相似度集合$ LS\max $中非0元素的个数且为整数.当$ GMS\geq Th $时, 系统认定注册模板$ T^{E} $与验证模板$ T^{Q} $匹配, 其中$ Th $为最优阈值.
4. 实验结果及分析
为了评估本算法的效率, 采用指纹库FVC2002-DB1和FVC2002-DB2进行测试, 该数据库各由100个手指样本组成, 每个手指样本有8幅指纹图像.在真匹配实验中, 选取每枚手指的第1幅指纹图像作为注册指纹, 相应的第2幅指纹图像作为验证指纹, 共进行100次真匹配实验.在假匹配实验中, 选取每枚手指的第1幅指纹图像作为注册指纹, 剩余手指的第2幅指纹图像作为验证指纹, 共进行9 900次假匹配实验.评价指纹识别系统的主要指标是正确接受率(Genuine accept rate, GAR)、错误拒绝率(False refuse rate, FRR)、错误接受率(False accept rate, FAR)和等错误率(Equal error rate, EER).
4.1 参数选取对算法性能的影响分析
为了验证相同指纹图像下的不同采样半径长度$ t\_\min $和$ t\_ \max $、网格单元长度$ c_{x} $和$ c_{y} $对匹配性能的影响, 我们选择在指纹库FVC2002-DB1中进行匹配实验训练, 并通过指纹库FVC2002-DB2测试选取的参数在本文算法的实验效果.不同参数的取值范围如表 1所示.
表 1 不同参数的取值范围Table 1 Parameter settings in the experiments参数 参数描述 参数范围 $ t\_\min $ 最小采样半径 $ \{ 6, 7, \cdots, 13 \} $ $ t\_\max $ 最大采样半径 $ \{ 100, 110, \cdots, 160 \} $ $ c_{x} $ 网格单元的长 $ \{ 10, 11, \cdots, 15 \} $ $ c_{y} $ 网格单元的宽 $ \{ 8, 9, \cdots, 12 \} $ 从表 1中选取参数值, 并在用户PIN码安全和泄露两种情况下验证选取的参数在FVC2002-DB1中对匹配性能的影响.因为等错误率越低, 算法的认证性能越好, 所以本文采用等错误率来评价算法的性能.如表 2所示, 当用户PIN码安全时, 不同参数下的EER相等且接近于0, 这确保了指纹匹配的稳定性.当用户PIN码泄露时, 不同参数下算法的EER不同.经过分析, 当参数$ (t\_\min, t\_\max, c_{x}, c_{y}) $分别取(11, 140, 13, 9)时, DB1的EER最低, 匹配效果达到最佳, 所以将该参数选为数据库DB1的最优参数.
表 2 不同参数在FVC2002-DB1下的EER (%)Table 2 EER of different parameters for FVC2002-DB1 (%)$ (t\_\min, t\_\max) $ $ (c_{x}, c_{y}) $ PIN码安全 PIN码泄露 (7, 100) (10, 8) 0 3.38 (13, 9) 0 3.63 (9, 120) (12, 9) 0 3.12 (14, 10) 0 3.37 (11, 140) (13, 9) 0 2.56 (13, 10) 0 3.14 (13, 160) (11, 11) 0 3.08 (12, 11) 0 3.18 为了验证所选取的参数, 在其他指纹库中也能表现出较好的认证性, 本文在数据库DB2中进行测试. DB2中参数的取值范围与DB1相同, 测试结果表明, 当参数$ (t\_\min, t\_\max, c_{x}, c_{y}) $取(11, 140, 13, 9)时, 其EER在用户PIN码安全和泄露情况下分别为0 %和1.16 %, 相比其他参数能达到较好的匹配效果.因此, 当实验参数$ (t\_\min, t\_\max, c_{x}, c_{y}) $取(11, 140, 13, 9)时, 确保了两个指纹库中均表现出较理想的匹配性能.
理论上, 网格单元长度$ c_{x} $和$ c_{y} $越小, 一维比特串长度越长, 模板匹配的准确度越高.但从实验结果可以看出, 匹配准确度不仅由网格单元的长度决定, 它可能同时受到其他因素的影响, 如图像质量的好坏、提取细节点的精度和有效细节点的个数等.
4.2 真假匹配分布实验
为了验证本文算法的认证性能, 分别在FVC2002-DB1和DB2中针对用户PIN码安全和泄露两种情况下进行了真假匹配实验.实验参数$ (t\_\min $, $ t\_\max $, $ c_{x}, c_{y}) $分别取(11, 140, 13, 9).由图 7可以看出, 当用户PIN码安全时, 二个指纹库的真假匹配分布之间无重叠, 并且有明显的间隔, 说明此算法的认证性能较好.
由图 8可知, 当用户PIN码泄露时, 真假匹配分布之间有部分重叠, 这对算法的认证性能造成一定影响.
4.3 比较实验分析
通过比较本文算法与现有的可撤销指纹模板生成算法的性能, 评估本文算法的优势.
首先, 将本文算法与Pambud等[18]方法中的实验结果进行对比.由表 3可知, 在用户PIN码安全的情况下, 本文算法在指纹数据库FVC2002-DB2中的等错误率小于Pambudi方法, 并且达到理想的认证效果.
表 3 采用Pambudi方法和本文算法的性能比较(%)Table 3 EER comparison between the Pambudi method and proposed method (%)算法 PIN码安全 PIN码泄露 DB1 DB2 DB1 DB2 Pambudi等[18] $ - $ 1 $ - $ $ - $ 本文算法 0 0 2.5555 1.1565 然后, 为了比较在PIN码泄露情况下二种方法的性能, 本文对Pambudi的方法进行实现.该方法的参数设定如下:给定$ R\_\min $的取值为11; $ R\_\max $的取值范围为[20, 140], 经过实验测试, 当参数$ R\_\max $取140时, 效果最好; 密钥$ k $则通过MATLAB随机生成. 图 9为本文算法与Pambudi等方法在用户PIN码泄露时的ROC曲线图, 该实验曲线越接近于1, 认证性能越好, 实验结果表明, 本文算法较Pambudi等方法有更好认证性能.
图 10为用户PIN码泄露时, 本文算法在FVC2002-DB1和DB2的FRR/FAR曲线图, EER为曲线FRR和FAR相等时的值.由图 10可以看出, 数据库FVC2002-DB2相比DB1的EER略低, 则FVC2002-DB2的认证性能更好.
最后, 选取图像质量较差, 提取细节点精度较低的指纹数据库FVC2002-DB3进一步验证本文算法的有效性, 并引用其他经典算法的认证结果与本文结果进行对比.由表 4可知, 在用户PIN码泄露的情况下, 本文算法在数据库FVC2002-DB1、DB2和DB3的EER分别为2.56 %、1.16 %和5.93 %, 较其他七种算法的认证性具有明显的优势.
4.4 可撤销性和多样性分析
指纹模板的可撤销性是为了确保在模板受到攻击后, 用户可以通过更换PIN码生成一个新的模板, 使用户的原始生物信息不会遭到泄露.为了验证本文模板是否具有可撤销性, 我们在数据库FVC2002-DB1和DB2中进行伪假匹配实验.选取每枚手指的一幅指纹图像, 与随机生成的100个PIN码相结合, 产生100个变换的模板.由于每个数据库各由100个手指样本组成, 则一共需要进行9 900次伪假匹配实验.同时, 为了充分证明模板的认证性, 对两个数据库进行交叉匹配实验, 从DB1和DB2两个数据库中选取每枚手指的任意一幅指纹图像分别作为注册指纹和验证指纹, 在用户PIN码泄漏情况下, 共进行10 000次交叉匹配实验.实验结果如图 11所示.
结果表明, 虽然伪假匹配分布接近于密钥安全时的假匹配分布, 但二者仍有明显差异, 所以本文算法满足模板的可撤销性.在用户PIN码泄露情况下, 两个数据库的交叉匹配结果与一个数据库的假匹配重叠, 说明真假匹配实验的真实性.而且由图 11可知当用户采用不同的PIN码与同一指纹特征融合时, 生成的指纹模板具有多样性.
4.5 安全性分析
案例 1. 对指纹模板$ T_{i} $进行攻击.本文通过对比特串$ b_{i} $进行DFT运算, 同时采用式(15)加密生成模板$ T_{i} $.式(15)中$ R $的大小为$ p\times q $, $ {\pmb v_{i}} $的大小为$ q\times1 $, 因此该方程组有$ p $个方程, 而未知数的个数为$ q $个.由于方程的秩小于未知数的个数, 即$ rank(R) $ $ = $ $ p<q $, 则该方程存在无穷多个解, 而复向量$ {\pmb v_{i}} $只是无穷多个解中的一个, 所以攻击者很难重构比特串$ b_{i} $.
案例 2. 对比特串$ b_{i} $进行攻击.由于本文算法是对投影后的细节点进行多对一的不可逆变换, 比特串$ b_{i} $中没有存储原始指纹细节点的方向和角度信息, 因此攻击者在没有获取投影角度、细节点有效数目和量化单元格的情况下, 很难恢复原始指纹信息.即使攻击者获取了参数$ g = 648 $, 细节点的数目和比特串大小, 对于一个尺寸为$ 388\times374 $的图像来说, 大约需要尝试$ 388\times374\times648\approx9.4 $千万次.
案例 3. 当攻击者获取用户真实的PIN码, 并结合自己的指纹信息冒充真实用户进行认证时, 由实验可知, 在数据库FVC2002-DB1和DB2上成功率不高于2.56 %和1.16 %, 具有良好的安全性.
5. 结束语
本文设计了一种基于细节点投影的可撤销指纹模板生成算法, 可以较有效解决原始指纹模板的唯一性和公开性所带来的安全问题.该方法通过对指纹细节点进行直线投影, 再将投影后的向量映射到一个二维极坐标网格中生成可撤销的指纹模板.匹配结果表明, 提出的算法具有较好的认证性和安全性, 而且在可撤销性、多样性和不可逆性等方面具有良好性能.
-
表 1 不同参数的取值范围
Table 1 Parameter settings in the experiments
参数 参数描述 参数范围 $ t\_\min $ 最小采样半径 $ \{ 6, 7, \cdots, 13 \} $ $ t\_\max $ 最大采样半径 $ \{ 100, 110, \cdots, 160 \} $ $ c_{x} $ 网格单元的长 $ \{ 10, 11, \cdots, 15 \} $ $ c_{y} $ 网格单元的宽 $ \{ 8, 9, \cdots, 12 \} $ 表 2 不同参数在FVC2002-DB1下的EER (%)
Table 2 EER of different parameters for FVC2002-DB1 (%)
$ (t\_\min, t\_\max) $ $ (c_{x}, c_{y}) $ PIN码安全 PIN码泄露 (7, 100) (10, 8) 0 3.38 (13, 9) 0 3.63 (9, 120) (12, 9) 0 3.12 (14, 10) 0 3.37 (11, 140) (13, 9) 0 2.56 (13, 10) 0 3.14 (13, 160) (11, 11) 0 3.08 (12, 11) 0 3.18 表 3 采用Pambudi方法和本文算法的性能比较(%)
Table 3 EER comparison between the Pambudi method and proposed method (%)
算法 PIN码安全 PIN码泄露 DB1 DB2 DB1 DB2 Pambudi等[18] $ - $ 1 $ - $ $ - $ 本文算法 0 0 2.5555 1.1565 -
[1] 张宁, 臧亚丽, 田捷.生物特征与密码技术的融合——一种新的安全身份认证方案.密码学报, 2015, 2(2): 159-176 http://d.wanfangdata.com.cn/Periodical/mmxb201502005Zhang Ning, Zang Ya-Li, Tian Jie. The integration of biometrics and cryptography-a new solution for secure identity authentication. Journal of Cryptologic Research, 2015, 2(2): 159-176 http://d.wanfangdata.com.cn/Periodical/mmxb201502005 [2] Rane S, Wang Y, Draper S C, Ishwar P. Secure biometrics: concepts, authentication architectures, and challenges. IEEE Signal Processing Magazine, 2013, 30(5): 51-64 doi: 10.1109/MSP.2013.2261691 [3] Adámek M, Matýsek M, Neumann P. Security of biometric systems. Procedia Engineering, 2015, 100: 169-176 doi: 10.1016/j.proeng.2015.01.355 [4] Juels A, Sudan M. A fuzzy vault scheme. Designs, Codes and Cryptography, 2006, 38(2): 237-257 doi: 10.1007-s10623-005-6343-z/ [5] Kaur G, Singh G, Kumar V. A review on biometric recognition. International Journal of Bio-Science and Bio-Technology, 2014, 6(4): 69-76 doi: 10.14257/ijbsbt.2014.6.4.07 [6] Jin A T B, Ling D N C, Goh A. Biohashing: two factor authentication featuring fingerprint data and tokenised random number. Pattern Recognition, 2004, 37(11): 2245- 2255 doi: 10.1016/j.patcog.2004.04.011 [7] Kong A, Cheung K H, Zhang D, Kamel M, You J. An analysis of BioHashing and its variants. Pattern Recognition, 2006, 39(7): 1359-1368 doi: 10.1016/j.patcog.2005.10.025 [8] Nanni L, Lumini A. Empirical tests on BioHashing. Neurocomputing, 2006, 69(16-18): 2390-2395 doi: 10.1016/j.neucom.2006.05.001 [9] Ratha N K, Chikkerur S, Connell J H, Bolle R M. Generating cancelable fingerprint templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(4): 561-572 doi: 10.1109/TPAMI.2007.1004 [10] Feng Q, Su F, Cai A N, Zhao F F. Cracking cancelable fingerprint template of Ratha. In: Proceedings of the 2008 International Symposium on Computer Science and Computational Technology. Shanghai, China: IEEE, 2008. 572-575 [11] Lee C, Choi J Y, Toh K A, Lee S, Kim J. Alignment-free cancelable fingerprint templates based on local minutiae information. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2007, 37(4): 980-992 doi: 10.1109/TSMCB.2007.896999 [12] Lee C, Kim J. Cancelable fingerprint templates using minutiae-based bit-strings. Journal of Network and Computer Applications, 2010, 33(3): 236-246 http://d.old.wanfangdata.com.cn/NSTLQK/NSTL_QKJJ0218997814/ [13] Ahmad T, Hu J K, Wang S. String-based cancelable fingerprint templates. In: Proceedings of the 6th IEEE Conference on Industrial Electronics and Applications. Beijing, China: IEEE, 2011. 1028-1033 [14] Jin Z, Teoh A B J, Ong T S, Tee C. Fingerprint template protection with minutiae-based bit-string for security and privacy preserving. Expert Systems with Applications, 2012, 39(6): 6157-6167 doi: 10.1016/j.eswa.2011.11.091 [15] Wang S, Hu J K. Alignment-free cancelable fingerprint template design: a densely infinite-to-one mapping (DITOM) approach. Pattern Recognition, 2012, 45(12): 4129-4137 doi: 10.1016/j.patcog.2012.05.004 [16] Wang S, Hu J K. Design of alignment-free cancelable fingerprint templates via curtailed circular convolution. Pattern Recognition, 2014, 47(3): 1321-1329 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=7c4c223ba1fa298bf19097d6a7534b11 [17] Sandhya M, Prasad M V N K. K-nearest neighborhood structure (K-NNS) based alignment-free method for fingerprint template protection. In: Proceedings of the 2015 International Conference on Biometrics. Phuket, Thailand: IEEE, 2015. 386-393 [18] Ahmad T, Pambudi D S, Usagawa T. Improving the performance of projection-based cancelable fingerprint template method. In: Proceedings of the 7th International Conference of Soft Computing and Pattern Recognition. Fukuoka, Japan: IEEE, 2016. 84-88 [19] 许秋旺, 张雪锋.基于细节点邻域信息的可撤销指纹模板生成算法.自动化学报, 2017, 43(4): 645-652 doi: 10.16383/j.aas.2017.c160069Xu Qiu-Wang, Zhang Xue-Feng. Generating cancelable fingerprint templates using minutiae local information. Acta Automatica Sinica, 2017, 43(4): 645-652 doi: 10.16383/j.aas.2017.c160069 [20] Ahmad T, Hu J K, Wang S. Pair-polar coordinate-based cancelable fingerprint templates. Pattern Recognition, 2011, 44(10-11): 2555-2564 doi: 10.1016/j.patcog.2011.03.015 [21] Jin Z, Lim M H, Teoh A B J, Goi B M. A non-invertible randomized graph-based hamming embedding for generating cancelable fingerprint template. Pattern Recognition Letters, 2014, 42: 137-147 doi: 10.1016/j.patrec.2014.02.011 期刊类型引用(1)
1. 董芸嘉,张雪锋,姜文. 基于指纹和手指静脉特征融合的模板保护方法. 传感器与微系统. 2022(11): 9-13 . 百度学术
其他类型引用(1)
-