基于双Bloom 过滤器与离散对数的虹膜模板保护方法
2021-09-03高艳娜刘笑楠
高艳娜,刘笑楠
(沈阳工业大学信息科学与工程学院,沈阳 110870)
1 引言
生物特征识别技术在生活中得到广泛应用,但在众多应用领域中生物特征模板存在一定的安全性隐患,一旦模板信息被不法分子盗用,生物特征信息将永久丢失,用户隐私也将受到威胁。针对该问题,已经有很多学者提出多种生物特征模板保护方案,只能在一定程度上阻止攻击者通过不法手段获得原始生物特征模板。因此,如何在保持较高认可度的同时保护用户的生物特征信息不被未经授权的人使用,仍是生物特征识别技术中需要解决的关键问题之一。
虹膜作为一种有效、安全的生物特征,在人的一生中保持稳定,不易受环境和遗传因素的影响,在认证过程中具有稳定性和唯一性等优点,但其同样存在虹膜模板泄露问题。目前最常用的虹膜模板保护方法是基于不可逆变换,即利用不可逆变换函数无法恢复出原始数据的特性实现对数据保护。此类方法包括局部排序[1]、离散对数[2]、随机映射[3]等。Ratha等人[4]首先将不可逆变换即Bloom 过滤器应用于虹膜并引入可撤销的概念。此后许多学者对Bloom 过滤器方法进行了改进,将Bloom 过滤器原理应用于指纹[5],掌纹[6]和人脸[7]等。2020 年,文献[8]提出了一种双Bloom 过滤器的虹膜模板保护方法,在Bloom过滤器的基础上,对Bloom 过滤器进行改进以提高数据压缩比、匹配精度以及不可逆性,在单生物特征识别领域相较于Bloom 过滤器来说具有一定的优势。随着生物特征识别技术的发展,多生物特征识别技术因其较高的安全性和较高的识别率得到广泛的应用。文献[9]将Bloom 过滤器原理应用于多生物特征的模板保护中,在提高生物特征模板安全性的同时保障了识别性能。为进一步增强虹膜模板的安全性能,提出在双Bloom 过滤器原理的基础上融合另一种生物特征——人脸特征。
综上所述,在此提出一种基于Bloom 过滤器与离散对数的多生物特征虹膜模板保护方法。首先提取人脸二值特征,将该特征做离散对数变换,得到加密的密钥特征向量,将此密钥嵌入到双Bloom 过滤器方法中即Bloom 过滤器中异或一个常数以后再与此密钥做异或运算,最后经过双Bloom 过滤器结合离散对数的方法生成受保护的生物特征模板,存储于数据库中。
2 算法原理及流程
所提出的虹膜模板保护方法是融合人脸特征信息即利用同一用户经过离散对数变换后的人脸特征作为密钥嵌入到双Bloom 过滤器中去加密需要被认证的虹膜模板,通过不可逆转换的手段得到最终的加密模板。
首先利用等价模式的LBP 特征提取算法[10]对人脸进行特征提取,将归一化后的人脸图像划分为4×4 个小区域,每个小区域的特征模式有59 种,则得到一维人脸特征向量Fn=16×59=1×944。然后,根据预设阈值τt对Fn中的元素进行量化得到人脸特征二值序列fn:
将得到的人脸特征二值序列做离散对数变换:
1) 将每个人脸二值特征向量fn进行分块编码得到十进制的向量,则产生大小为1×(N/M)、元素范围为1~2M-1 的向量FD=[FD1,FD2,...,FDn],其中n=N/M,M为块的大小,N为所需人脸特征向量大小,具体大小参见后文论述。
2) 求出向量FD中每个元素值对应的前素数,并存储在向量BP中,再利用离散对数生成向量PBP,将其应用于FD的单个元素及其相应的BP值,即:
其中BP=[BP1,BP2,...,BPn],g是前素数域BPi的发生器。经过上述步骤,可得到人脸密钥特征PBP。
3) 采用Log-Gabor变换对用户虹膜的归一化虹膜图像进行特征提取,获得虹膜特征矩阵IM×N,再对它做双Bloom 过滤器变换,将密钥特征PBP嵌入到双Bloom 过滤器变换中。
双Bloom 过滤器是在基于Bloom 过滤器的基础上,对Bloom 过滤器进行改进以提高数据压缩比、匹配精度以及不可逆性。双Bloom 过滤器原理框图如图1 所示。
图1 双Bloom 过滤器原理框图
其具体原理为:虹膜图像的二维二值特征向量IM×N通常表示成宽度W、高度H的二维矩阵,双Bloom 过滤器将虹膜特征向量IM×N划分成K个块,每个块包含W/K列,该比值以l表示。每列的高度设置为w位,其中w≤H,每个块的变换有一个单独的Bloom 过滤器,变换后的虹膜模板中有K个Bloom 过滤器。再将w位划分为两部分,若w为偶数,每一部分长度为w/2,上半部分映射到Bloom 过滤器的上部,下半部分映射到Bloom 过滤器的下部;若w为奇数,上w1位映射到Bloom 过滤器的上部,下w2位映射到Bloom 过滤器的下部,其中w1垣w2==1)。以w为偶数为例,受保护的虹膜模板共有K个Bloom 过滤器,每个过滤器的长度为2×2w/2,因此虹膜模板大小为K×2×2w/2。最后使用下式进行匹配:
其中,bi、bj≠0,为Bloom 过滤器模板被置为1 的个数,HD 为汉明距离,即两个被比较的模板中对应位不同的个数。
3 实验与分析
3.1 实验设计
为了获得无偏的结果,实验在两个独立的虹膜数据库和一个人脸数据库上进行,即虹膜数据库CASIA Iris Image Database V1.0(108 人)、CASIAIrisV3-Interval(249 人)和人脸数据库CASIA-Iris-Distance(142 人)。由于虹膜与人脸不具有关联性,实验采用两个虹膜数据库相组合的方式进行实验,以CASIA Iris Image Database V1.0 为例,为了与虹膜图库相匹配,在人脸图库CASIA-Iris-Distance 里随机选取108 个人、每个人7 张人脸图片作为实验样本。
虹膜图像预处理过程中,采用文献[11]中的方法进行虹膜定位,将所得虹膜区域进行归一化处理,得到归一化虹膜图像,再使用Log-Gabor 进行特征提取得到IM×N=20×480 的特征向量,预处理及特征提取效果图如图2。同时,对人脸特征进行特征提取,再量化得到人脸二值特征向量fn=1×944。
图2 虹膜图像预处理及特征提取
3.2 算法性能分析
为了测试本算法性能,分别用识别正确率(RR,Recognition Rate)和等错误率(EER,Equal Error Rate)对各算法性能进行评估,在两个虹膜数据库上进行实验仿真,并将本算法与几种通用的算法进行比较。对比结果如表1 所示。与单Bloom 过滤器、双Bloom过滤器以及离散对数方法相比,本算法在增强模板安全性的同时取得了较高的识别率;与局部排序、双Bloom 过滤器加不做离散对数变换的人脸特征方法进行对比,不仅在加密安全性上有所提高,在识别正确率上也有所提高。
表1 不同算法性能比较
为说明本算法对不同虹膜图像的适用性,将算法用于CASIA Iris Image Database V1.0、CASIAIrisV3-Interval 两种图库的测试结果列于表2 中。其中基本算法指未加密的虹膜识别方法。实验结果表明本方法在两种图库上均可以取得良好的效果,在对模板保护的同时也保证了身份识别正确率,具有有效性和适用性。
表2 不同数据库对应的GAR 与EER
3.3 参数选择与识别正确率的关系
双Bloom 过滤器与单Bloom 过滤器一样,参数的选取同样会影响识别率的高低,选择合适的参数对识别性能很重要。参数对识别结果的影响如表3。
表3 不同参数选择对识别结果的影响
可见,当w=20,l=32,k=15 时,识别率最高。因此,在Bloom 过滤器映射之前,将虹膜矩阵IM×N转化为十进制矩阵的大小2×15×32=1×960。
考虑到分块大小M以及前素数域发生器g是影响识别正确率的决定因素,对人脸特征二值序列做离散对数变换进行分块,具体使用尺寸与人脸LBP 特征提取方法相关,详见文献[10]。当M=2 时,将人脸二值序列fn扩大3 倍后取前2×960=1920位;当M=3 时,将fn扩大4 倍取前3×960=2880位;当M=4 时,将fn扩大5 倍取前4×960=3840位。详细分析结果如表4 所示。
表4 不同M 与g 值对识别性能的影响
通过实验结果可以看出,当M=2,g=6 时,本方法的识别性能最好,可以达到97.22%。
4 实验安全性分析
4.1 可撤销性
可撤销性要求一旦用于识别的虹膜模板受损或被泄露,能够撤销泄露或受损的模板,重新发布新的模板进行识别,且新模板和旧模板之间不应存在任何关系,即使它们都是从同一生物特征中生成的[12]。在本方法中,由于在双Bloom 过滤器中异或一个常数T∈{0,1}10,通过改变T的数值大小,将生成不同的转换模板,共有1024 种可变换模板,满足可撤销性要求。
4.2 不可逆性
不可逆是指从变换后的虹膜编码中恢复原始虹膜编码的计算难度。在本方法中不存在任何逆变换,所用算法均为不可逆变换函数。因此,攻击者需要学习完整的过程才能有机会破坏模板的安全性。在离散对数中要从变换后的模板中获取十进制向量在计算上是不可行的,这关系到素数域上的离散对数问题,需要消耗次指数时间来攻破。
此外,在应用离散对数之后,新算法将十进制向量与Bloom 过滤器原理相结合后进行双Bloom 过滤器映射,计算出攻破单Bloom 过滤器理论需要的攻击次数为2131,则双Bloom 过滤器需要的攻击次数为2×2131,结合经过离散对数变换后的密钥特征,攻击者若想逆推出原始虹膜模板,尝试次数要远远大于该值,因此攻击者很难通过两个不可逆变换逆推出原始虹膜模板,满足了不可逆性要求。
4.3 不可链接性
不可链接性要求从同一虹膜生成的两个来自不同应用程序的模板不能用于交叉匹配,即是说,攻击者不能判断来自不同应用程序的两个模板是否属于同一用户。在本方法中,由于不同的常数T生成不同的模板,同一用户可以为不同的应用注册不同的模板,而无需交叉匹配。虹膜加密模板是由同一个人在不同应用程序中注册的虹膜模板产生的,如果不提前知道常数数值,用户很难判断出生成的模板是否属于同一个人。在实验中采用两个不同的常数值对算法的识别结果进行测试分析,选择100 个虹膜图像作为测试样本。在一组测试中,令T=62 得到特征模板;在另一组测试中,令T=89 得到特征模板。比较同一虹膜在两组不同常数下所得的特征模板,进行类内类间正常匹配,记录距离,再比较不同虹膜在两组测试中生成的模板,进行类内类间交叉匹配,记录数据。实验结果如图3 所示。
图3 不可链接性验证实验结果
图中,横坐标表示匹配距离,纵坐标为每个相同距离值的匹配次数占总次数的比例。图3(a)表示在同一应用程序中进行正常匹配的类内类间距离分布,可以很明显地看出两者的差异,而且二者的重叠区域很少。图3(b)表示在不同应用程序进行交叉匹配的类内类间距离分布,可以看出二者几乎完全重叠,根据匹配结果无法判断二者是否来自同一用户,满足不可链接性。
5 结 束 语
针对虹膜模板泄露问题,提出了融合人脸特征信息的虹膜模板保护新方法,将量化的人脸特征通过离散对数原理转化为十进制的密钥特征为虹膜模板加密,对虹膜特征进行双Bloom 过滤器变换,将人脸密钥特征嵌入到Bloom 过滤器变换中,在异或阶段对经过离散对数后的人脸特征进行异或,最终利用分数汉明距离对加密模板进行匹配识别。测试结果表明,该算法在加密后的正确识别率为97.22%,在提高模板安全性的同时满足了识别性能的要求,有效保护了虹膜特征信息。