1. 介绍
在本文中,我们提出了一种新的可取消的生物识别方案来保护IrisCodes。与其他已有方法相比,该方法的特征变换是不可逆的,即使攻击者已知。此外,即使对所有用户使用相同的密钥,也可以保持识别精度。也就是说,变换密钥不需要保持唯一或保密。
2. 提出的方法
该方法包括三个阶段:(1)IrisCode生成,(2)一致比特提取,(3)可取消码(Biocode)生成。
(1)在注册时,从正在注册的眼睛捕获k个样本虹膜图像,并以k个二进制向量生成和收集捕获图像的虹膜代码。
(2)然后,从所述k个向量中提取最一致的比特,并收集到一致比特向量C中;并且它们在真正的IrisCodes中的位置被收集在位置向量P中。(与其他位相比,最一致的位是在由相同虹膜的几个样本生成的多个虹膜代码之间翻转的概率较低的位。在本文中,如果一个比特在k个二进制向量中不改变其值,则认为它是一致的。)
(3)然后,C中的位被随机映射到另一组位以构成受保护的生物码BioCode,如第2.1节所述。
(4)最后,将位置向量和受保护的生物码存储在集中存储中,而不是将原始的IrisCode安全地丢弃。
身份认证过程如下:
2.1 生成BioCode
1.将一致位向量C中的位分组为固定长度m的地址字。
2.使用存储在集中存储器中的随机种子来生成长度=的(伪)随机序列S。
3.将C中的每个字映射到S中的单个位值,其位置由该字中的值寻址。
4.从n/m个寻址比特的集合中构成受保护的生物码,其中n是C的长度。
5.将BioCode存储在集中存储中,并丢弃原始的(未受保护的)IrisCode。
随机序列S不需要是用户特定的;相反,它可以被公开,因为即使使用相同的序列,不同的IrisCodes也会产生完全不同的BioCodes。然而,值得注意的是,尽管有个不同的序列可以使用m比特地址字来寻址,但其中一些序列不适合我们的方案。
例如,使用表1中所示的序列S1将产生仅由零组成的生物编码,并且使用序列S2将降低系统的可区分性,因为完全不同的字对,例如(w0:000,w7:111)和(w1:001,w6:110)分别寻址相似的比特值,即,将从不同的IrisCodes生成相似的生物编码。另一方面,使用S3和S4这样的序列将确保生物编码的准确性和不可逆性。
因此,生成的序列S在使用前应进行测试,以检查其是否满足以下两个条件:(1)S中0的数量应等于(或近似等于)1的数量,以及(2)完全(或大部分)不同的地址字,如‘1011’和‘0100’,应寻址S中的不同位值。尽管满足这些条件可能会限制建议方案的可更新性能力,但它们保留对不同IrisCode的辨别能力,并且不增加相似IRIS码之间的用户内差异。
对于大小为m的地址字,存在个不同的地址字对。这些词对中单词之间的汉明距离从1到m不等。表2显示了m=3的所有28个单词对以及这些单词对中单词之间的汉明距离。通常,寻址给定序列S中的相似位的地址字之间的汉明距离应该尽可能小。
因此,为了确定给定序列是否满足上述条件,我们计算与S中每两个相似比特对应的对中的地址字之间的汉明距离之和如下:
表1所示序列的f值表示具有小f值的序列,例如S3和S4是满足确保不可逆性和保持识别准确性所需的两个条件的序列。另一方面,应该避免具有相对大的f值的序列,例如s1和s2,因为它们可能降低所生成的BioCodes之间的区分性。
3. 不可逆分析
受保护生物代码中的每一位可源自个不同的地址字。因此,攻击者需要执行
个不同的测试,以尝试所有可能的组合,其中l是生物代码的长度。由于l=n/m,其中n是IRIS码中的比特数,则试验次数将是
。对于较大的m,所需的试验次数将是≈2n。
4. 实验结果
iris database CASIA-IrisV3-Interval ,对于每个类在注册时用6张图来提取一致比特向量C,而剩下的四张图像则用于验证。为了使我们的工作具有可重复性,我们使用了Masek和Kovesi[7]提供的开源的MATLAB实现来生成真正的IrisCodes。然后,我们应用所描述的变换方法来生成使用不同字长的可取消生物码,m=2、3和4比特;由于我们感兴趣的是使用唯一的IrisCodes执行身份验证,而不依赖于其他身份验证因素,因此对所有类使用相同的(公共)随机序列S。
我们使用可判断性度量来衡量提议的转换过程对正版和冒名顶替版之间的可分离性的影响:
表4中的结果显示,真品和冒名顶替者分布的统计数据受转换过程的影响很小。