基于模糊保险箱的人耳生物特征模板保护方法
袁立1,张金辉1,穆志纯1,杨帆2
(1. 北京科技大学 自动化学院,北京,100083;
2. LE2I Laboratory, University of Burgundy, 21078 Dijon Cedex, France)
摘要:以人耳作为生物特征,将模糊保险箱(Fuzzy vault)算法应用到人耳生物特征模板的保护中。首先,利用基于代数特征的主元分析法提取人耳图像的特征向量;然后,利用模糊保险箱算法实现模板保护,该过程分为加密和解密两部分。在加密过程中,对密钥进行循环冗余加密,加密后构造多项式函数;然后,将人耳特征数据在该多项式上投影,并添加一定数量的杂凑点,构成保险箱;在解密过程中,利用保险箱和待认证人耳的生物特征模板构建候选点集合,利用有限域内的拉格朗日插值法解出多项式,并用循环冗余编码对多项式系数进行校验,若满足校验结果则恢复密钥成功。在北京科技大学人耳图像库(USTB人耳图像库)上的实验结果表明,该方法能够有效进行模板加密。
关键词:生物特征模板保护;人耳识别;模糊保险箱
中图分类号:TG146.2+1 文献标志码:A 文章编号:1672-7207(2011)S1-0778-06
Ear template encryption based on fuzzy vault
YUAN Li1, ZHANG Jin-hui1, MU Zhi-chun1, YANG Fan2
(1. School of Automation and Electrical Engineering,
University of Science and Technology Beijing, Beijing 100083, China;
2. LE2I Laboratory, University of Burgundy, 21078 Dijon Cedex, France)
Abstract: An protection method was proposed for ear biometric template based on fuzzy vault. Feature templates of the training samples were firstly extracted using PCA. In order to secure an ear biometric template, an uniformly random cryptographic key was generated and this key was transformed into a polynomial. All the elements in the ear template were then evaluated on this polynomial. This set of points was then secured by hiding them among a large set of q randomly generated chaff points that do not lie on the polynomial. The set of genuine and chaff points along with their polynomial evaluations constituted the vault. During authentication, if the query biometric set was sufficiently close to the training ear template, the polynomial could be successfully reconstructed by identifying the genuine points in the vault that were associated with the training ear template. Experimental results on the USTB ear database show that fuzzy vault can be successfully applied to ear template encryption.
Key words: biometrics template encryption; ear recognition; fuzzy vault
近年来,生物特征识别技术在身份认证中的应用越来越多,但也逐渐暴露出其本身固有的一些安全性和隐私性方面的缺陷。因此,在实际应用中对生物特征模板的安全性提出了更高的要求,从而使得生物特征模板保护成为近两年来生物特征识别领域的一个研究热点[1]。生物特征模板保护策略主要可分为2类:基于变换的方法和基于密钥的方法[1]。前者主要包括双因子认证和非可逆变换,这种方法能将特征模板变换成随机模板,变换后的模板用于认证。两者的区别是双因子认证中密钥是私有的。基于密钥的方法主要有密钥绑定和密钥生成,密钥生成策略从特征模板中提取辅助数据(Helper Data),从待认证的特征模板中将密钥提取出来。密钥绑定策略是指将特征模板与外部输入的密钥绑定,进而产生辅助数据,这种方法能够实现密钥和特征模板的双重保护。
模糊保险箱(Fuzzy vault)算法[2]是密钥绑定策略中比较经典的实用化算法。该算法能够把生物特征的模糊性和密码算法的精确性联系起来。在加密阶段,将生物特征模板与密钥进行绑定,生成辅助数据;在认证阶段,使用待识别的生物特征信息来提取密钥,如果与已存生物特征信息一致,则会恢复出正确的密钥,从而实现成功认证。这种算法使用无序集工作,其安全性是基于多项式重构问题的,在指纹、虹膜、人脸等生物特征模板保护中得到了较广泛应用[3-6]。与人脸识别类似,人耳识别具有友好性和非打扰性的优点,受到了越来越多的关注,而对于人耳生物特征模板保护的研究尚未见报道,所以,本文作者针对人耳识别的一些特点,提出利用模糊保险箱算法对人耳特征模板进行保护。
1 人耳特征提取
首先,对人耳图像进行直方图修正,使图像具有统一的均值和方差,以部分消除光照强度的影响。再利用主元分析法[7]获取投影子空间,进而提取图像特征向量。子空间中每个列向量对应一个“特征耳”。图1所示为前7个列向量对应的特征耳。任意一幅图像都是这些特征耳的线性组合。
图1 “特征耳”图例
Fig.1 “Eigen-ear” images
2 基于模糊保险箱的人耳生物特征模板保护
2.1 加密过程
在加密阶段,用户A首先使用循环冗余校验(CRC)对密钥S进行处理,就是在S尾部加上特定位数的校验码,形成SC;然后,使用SC按照一定规则构造一个N次多项式函数P(x),次数N由密钥长度决定。提取用于加密的人耳特征向量T,并向多项式投影,得到集合RCT,P(T)。随机添加一组不在P上并且距离真实点一定距离的杂凑点集C,与R共同组成保险箱V。加密流程如图2所示。
图2 模糊保险箱算法的加密过程
Fig.2 Encryption process of fuzzy vault algorithm
2.1.1 特征数据的加密
利用主元分析法提取出人耳图像的特征向量后,需要将这些特征数据向一个高次多项式上投影。如果用普通运算,投影后得到的数值将会非常大,不仅不利于存储,也不利于后续识别。理想的情况是投影后的数值和特征数据大致处在同一个范围内,而有限域运算的封闭性恰好能够满足该要求。在后续加密和解密阶段,都在有限域内进行[8]。所以,首先我们需要选取有限域。通过观察样本特征向量可以发现,这些特征数据分布在-1 300~1 300。此处我们采用的做法是将特征值除以10然后取整,最终选取的有限域为GF(28)。
第1步,对密钥S进行循环冗余编码[9]。密钥是一组32位的随机数,采用8位生成多项式,即最终得到的校验码字共有8位。在原32位随机数后加上校验码,这就构成了最终的码字,记为SC。
第2步,构建多项式。因为是在GF(28)上运算,所以我们将SC共40位二进制数分成5段,每段1个字节,从高位到低位分别记为r4,r3,r2,r1,r0。构造如下多项式:
(1)
第3步,将特征数据向所构建的多项式上投影。训练样本所对应的特征向量数据在-128~127范围之内,而我们要将这些数据用8位二进制表示,以对应有限域GF(28)中的元素。虽然负数在计算机内以补码表示,也对应8位二进制码字,但为了方便计算,我们将负数加上256,将-128~-1的数据变换到128~255。这样所有的投影数据就均在0~255范围之内。经过投影操作之后我们得到如下数据点集:
其中:n为人耳特征向量的维数。这个真实点集构成整个模糊保险箱的一部分。
2.1.2 杂凑点的添加
在保险箱中添加杂凑点(Chaff points)是为了保护生物特征模板。添加杂凑点之后,系统存储的模板数据就是真实点和杂凑点的集合,而且杂凑点的个数应远远多于真实点,这样就避免了直接存储特征数据的模板容易被攻破的危险。杂凑点数据也采用(x,y)的点对形式,与真实点保持一致,但要保证(x,y)不在多项式上,即。杂凑点与真实点的距离需要有一个距离限制,这样才能更好地隐藏真实点。在距离阈值范围之内杂凑点可以随机选取,但是杂凑点个数又不能取得过多,以免对后续判别和解密产生较大影响。
2.1.3 保险箱数据的顺序问题
与指纹特征加密不同,本文利用代数方法提取人耳特征,最终得到的是一列数字,而这些数字在特征向量中的位置是有意义的。由主元分析法提取特征的原理可知,特征向量是原高维空间的图像到新的特征空间的映射。特征空间相当于一个新的坐标系,所以特征向量中的数字代表图像在新坐标系某一坐标轴上的投影,数字在向量中的位置代表是坐标系的某一维。所以,这种代数特征在比较时就不能采用类似指纹的逐一比较,必须是特征向量中相同位置的点之间作比较,而且验证样本要和训练样本用同一个特征空间。代数特征的这个特点就决定了其数据的有序性;而且在添加杂凑点时也要考虑这种有序性,添加的杂凑点相当于有一个位置约束,每个杂凑点也仅和验证特征的一个位置的点进行比较,这也就是本文中杂凑点个数会选取27,54或者81的原因(当特征向量维数取27时),这样等于是给每一个位置的点添加了1个、2个或3个点。
2.2 解密过程
前面经过特征向量、真实数据点加密、添加杂凑点后我们得到模糊保险箱。解密阶段的工作就是在用户提交待验证特征模板后,通过与模糊保险箱中的数据进行比较、匹配,最终输出匹配结果:释放密钥或是提示验证失败。具体过程如图3所示。
图3 模糊保险箱算法的解密过程
Fig.3 Decryption process of fuzzy vault algorithm
2.2.1 候选点的选取
将待验证图像向主元分析法获得的子空间上投影,得到其特征向量;然后,与模糊保险箱中的样本数据进行比较,选出候选点。如果保险箱中的数据是有序排列,那么在比较时就只比较相同位置的点。该步主要进行的是测试样本与保险箱中各加密样本的距离判别。若距离小于设定阈值,则列为候选点,与每个加密样本比较之后都会产生一个候选点集合,选择匹配点数最多的那个集合进行拉格朗日插值计算。
选取阈值时需要考虑3方面的因素。首先,就是要体现出同类样本匹配和类间样本匹配的差异。这一点将直接影响判别结果。由于代数特征本身差异较大,所以相同位置的数据点在比较时阈值不能取得太小,要尽量使同类样本的匹配点数大于类间样本。第二,要过滤掉大部分的杂凑点,因此距离阈值不能选得太大,否则,较多的杂凑点进入到候选点集合必然会造成误判现象。最后,设N为密钥多项式的最高次幂,则真实样本的候选点集合的点数要多于N+1个,因为要准确重构出一个N次多项式需要N+1个数据点。考虑到特征向量有可能有重复数值,所以还需留一定裕量。
2.2.2 利用拉格朗日插值法进行多项式重构
从候选点集合中选取N+1个不重复的点,代入拉格朗日插值公式,得到一组系数。和加密时向多项式上投影一样,插值计算也必须遵循有限域内的计算法则。因为在插值公式中有符号变量x的存在,所以运算时应针对x个幂次的系数单独计算,最终得到的是N+1个系数。得到一组系数之后需要进行循环冗余校验。如果满足归类判别条件,说明该测试样本与某加密样本同属一类;否则,需要重新选取新的一组N+1个点,重复上述过程。如果遍历所有N+1个点的组合都未能得出满足CRC校验的一组系数,则说明该样本不属于任何一类,需要作出拒识处理。
上文中所述归类判别就是认定测试样本与哪个训练样本最接近的过程。一般这个接近程度以两者比较之后匹配的点数为依据,点数较多说明两者越接近。如果我们观察提取出的样本特征就会发现,即使是同类样本的特征向量之间也会有比较明显的差异,而且这与选取的特征提取方法有很大关系。也就是说即便是分属于两个类别的人耳特征,其特征向量也可能有一定点数的匹配。考虑到多数情况下同类样本比较的匹配点数总会多于类间样本比较的,所以把归类判别的条件设定为:首先将属于同一类的样本的统计点数做加和,选取综合点数最多的那一类,再将测试样本归于该类。
3 实验结果与分析
3.1 实验设计
本文选用的人耳图像取自北京科技大学USTB人耳库3中的前25个对象,每人7幅,共175幅图像。其中,每人的前4幅用于训练,另外3幅用于测试。选取25人的每人前4幅图像构成训练样本,得到一组特征向量,共100个。因为最终的加密系统需要统计拒识率(FRR)和误识率(FAR)2个指标,所以将这25人分成10人和15人2组。第1组10个人的每人前4幅图像用于加密,另外3幅作为拒识率的测试样本。15人一组的每人后3幅图像作为误识率的测试样本。
3.2 模糊保险箱算法实现
3.2.1 加密部分实现步骤
(1) 使用主元分析法提取训练样本和测试样本的特征向量。通过实验发现,当利用最近邻分类法进行人耳识别时,特征向量维数上升到一定值后,识别率基本保持稳定,所以将特征维数定为27。将训练样本和测试样本向子空间投影后,得到3组数据,一组是训练样本特征,另外2组为测试样本特征,以矩阵形式存储后维数分别为27×40,27×30和27×45。
(2) 生成密钥并附加校验位。实验中需要生成10个随机密钥,分别分配给选取的10类特征样本。密钥长度取为32 bit。附加CRC校验位时选取的生成多项式为,校验位为8 bit,所以附加校验位后的密钥总长度为40位。将这40位密钥分成5段,每段1个字节,记为。
(3) 真实点加密。真实点加密实际就是将训练样本的特征数据往密钥多项式上投影。在投影前,首先将原始特征向量整体除以10后取整,让整个特征数据落在区间[-128,127]内。对于特征向量中的负数,投影时取其加256后的数值,即若特征点x<0,则,px表示x点的投影值,但x本身仍保留负值状态。投影计算遵循有限域内的计算法则。本步结束后,可以得到10个样本集合:
(2)
(4) 添加杂凑点。杂凑点个数为81个,其中有27个点分布在区间[-128,127]内,距离真实点较近。其余点均距离真实点较远,分别在区间[-256,-128]和[128,255]内随机分布27个,分布情况如图4所示。
图4 杂凑点分布
Fig.4 Distribution of chaff points
(5) 构建模糊保险箱。保险箱内共有10类样本,每类包含4幅图像加密后的特征向量。加密后的特征向量为如下形式:
(3)
式中:xi表示真实点;cij表示第i个真实点附加的第j个杂凑点,j=1,2,3。可以看出,这相当于给原来的27个真实点各添加3个杂凑点。同一位置真实点与杂凑点可以无序存储。
3.2.2 解密部分的实现步骤
(1) 选取候选点集合。该步主要进行的是测试样本与保险箱中各加密样本的距离判别。依据前面所述杂凑点的添加情况,测试样本每个点需要和加密样本的4个点进行比较判别,如果距离小于设定阈值,即列为候选点。这样与每个加密样本比较之后都会产生一个候选点集合,实验中选匹配点数最多的那个集合进行拉格朗日插值计算。
我们就距离阈值的选取做了一些测试实验,通过实验确定一个相对最佳的阈值。实验方法是:首先,提取测试样本的特征向量,这里的测试样本仅指用作统计拒识率的30个样本;然后,将这30个测试样本分别与模糊保险箱内的40个加密样本比较,距离阈值分别取5,6,7,8,9,10;再按第2节中所述的归类判别条件进行分类,统计每个阈值下30个测试样本错误分类的个数。通过实验发现,阈值取10时不会有错判现象。当阈值取更大时,杂凑点对系统的影响会凸显,所以本次实验的距离阈值最终取为10。当然,这只是在现有的判别方法下的相对较好的阈值,如果改变判别方法,可能会有更合适的距离阈值。
(2) Lagrange插值计算。从候选点集合中选取N+1个不重复的点代入插值公式,得到一组共5个系数。和加密时向多项式上投影一样,插值计算也必须遵循有限域内的计算法则。级联这5个系数得到一个40 bit的二进制序列。
(3) CRC校验。对上述二进制序列进行CRC校验。如果满足校验条件,则释放密钥,说明该测试样本与某加密样本属同类;否则,需要重新选取新的一组N+1个点,重复上述过程。如果遍历所有N+1个点的组合都未能得出满足CRC校验的一组系数,则说明该样本不属于我们加密的10个类别中的任何一类,表现在实际系统中就说明所提交人耳特征不是真实用户的特征,需要作出拒识处理。
3.2.3 实验结果及分析
如图5所示的ROC曲线给出了FAR和FRR之间的关系。虽然图5中所绘曲线仅有有限个离散的数值点,但还是可以看出FAR和FRR的对应关系以及两者的变化趋势,等错误率约为13%。
本实验表明,人耳生物特征识别中可以应用模糊保险箱算法来对特征模板进行有效保护。但是还存在一些待解决的问题,比如模糊保险箱中数据的顺序问题。该算法的基本思想就是用一个无序集合去保护一个密钥,但本文中模糊保险箱中的数据还没有做到无序存储。另外,就是该算法本身的缺陷问题:由于杂凑点的个数远远多于真实点个数,某些攻击者就可以将其中一些点替换为自己的特征点,这样就有可能造成攻击者和真实用户均可通过的情况。再有,模糊保险箱算法是不可撤销的,一旦生物特征被窃取,该生物特征就不能再用来加密。所以该算法本身也还需要做相应改进,以改善系统的安全性。
图5 ROC曲线
Fig.5 ROC curve
4 结论
生物特征加密通过密钥与生物特征的融合,能够实现对两者的双重保护。本文将模糊保险箱算法应用于人耳特征模板保护。根据人耳特征本身的特点,我们对模糊保险箱算法进行了一些改进,如加密时的多项式投影、解密时候选点集的选取等,最终实现了32位密钥的加密操作。由于人耳图像之间存在类内差异、类间相似等现象,使得在小规模图像库的实验结果具有比较高的等错误率。今后需要改进的问题包括保险箱数据的无序存储和可撤销模板的构建。对于无序存储问题,解决办法是添加位置码字,也就是为特征模板和杂凑点都附加位置信息,比较时采用逐一比较的方式,首先将码字拆开,提取出位置码字,如果两个比较点的位置信息一致再进行数值比较。这样存储时就可以打乱原来特征向量的顺序,实现无序存储。对于可撤销模板的问题,解决思路是通过随机投影将模板数据进行可撤销变换。
参考文献:
[1] Jain A K, Nandakumar K, Nagar A. Biometric template security[J/OL]. EURASIP Journal on Advances in Signal Processing, Special Issue on Advanced Signal Processing and Pattern Recognition Methods for Biometrics, 2008, doi: 10.1155/2008/579416.
[2] Nagar A, Nandakumar K, Jain A K. A Hybrid biometric cryptosystem for securing fingerprint minutiae templates[J]. Pattern Recognition Letters, 2011, 31(8): 733-741.
[3] Li P, Yang X, Cao K, et al. An alignment-free finger-print cryptosystem based on fuzzy vault scheme[J]. Journal of Network and Computer Application, 2010, 33(3): 207-220.
[4] Nagar A, Nandakumar K, Jain A K. Multibiometric Cryptosystems[R]. MSU Technical Report, MSU-CSE-11-4, 2011.
[5] Wu L, Yuan S. A face based fuzzy vault scheme for secure online authentication[C]//Proceedings of 2nd International Symposium on Data, Privacy, and E-Commerce. Buffalo, NY: IEEE Computer Society, ISDPE, 2010: 45-49.
[6] Feng Y C, Yuen P C, Jain A K. A hybrid approach for generating secure and discriminating face template[J]. IEEE Transactions on Information Forensics and Security, 2010, 5(1): 103-117.
[7] 袁立, 穆志纯. 基于核主元分析和支持向量机的人耳识别[J]. 北京科技大学学报, 2006, 28(9): 890-895.
YUAN Li, MU Zhi-chun. Ear recognition based on kernel principal component analysis and support vector machine[J]. Journal of University of Science and Technology Beijing, 2006, 28(9): 890-895.
[8] Stallings W. 密码编码学与网络安全——原理与实践[M]. 北京: 电子工业出版社, 2006: 78-92.
Stallings W. Cryptography and network security: Principles and practice[M]. Beijing: Publishing House of Electronics Industry, 2006: 78-92.
[9] 刘会杰, 张乃通. 基于查表法的快速CRC算法设计[J]. 通信技术, 2002(4): 8-10.
LIU Hui-jie, ZHANG Nai-tong. Design of rapid CRC algorithm based upon table-looking up methods[J]. Communications Technology, 2002(4): 8-10.
(编辑 杨华)
收稿日期:2011-04-15;修回日期:2011-06-15
基金项目:国家自然科学基金资助项目(60973064);北京市重点学科共建项目(XK100080537)
通信作者:袁立(1978-),女,河北邢台人,博士,讲师,从事生物特征识别研究;电话:010-62334995;E-mail:yuanli64@hotmail.com