基于两枚不同指纹融合模糊金库的身份认证算法

2023-05-08 03:01胡伟通陈宇磊
计算机应用与软件 2023年4期
关键词:指纹图金库密钥

周 迪 胡伟通 鲍 狄 陈宇磊 游 林*

1(浙江宇视科技研究院 浙江 杭州 310051) 2(杭州电子科技大学网安学院 浙江 杭州 310018) 3(浙商银行股份有限公司 浙江 杭州 310003)

0 引 言

依据Kerckhoffs准则[1],一个密码系统的安全性,并不是因为一个对于对手来说保密的算法,而是因为它的密钥对于对手来说保密,换言之,一个密码系统的加密算法可以是公开的,只要保证使用的密钥安全性就能保证整个系统安全。因而,对于密钥的保护成了密码系统中最重要的一环,而生物特征识别技术在各种角度上对于密钥的管理、储存的安全性有极大帮助。与传统的口令不同,口令能够被字典攻击破解,而基于人类某项或某几项生物特征进行加密,由于生物特征本身的多样性、复杂性,使得攻击者很难构造类似的生物特征字典来进行暴力破解,另外因为生物特征具体是人的指纹、虹膜、掌纹、声纹等信息,比起传统的以某种持有物作为密钥相比,在面对转移和窃取手段时天然具备更好的安全特性。本文尝试以生物特征为基础构造一种身份认证方案,可生物特征识别技术也并非完美,它同样存在一些问题,主要体现在生物特征普适性和模板安全性上。为此,将多生物特征识别技术和密码技术相结合来较好地解决上述两个问题。

模糊金库是一种利用具有某些特定属性的集合来保护秘密信息的特殊属性集合,而基于单一样本生物特征的模糊金库在安全性上越来越无法满足社会生活的实际需求,从而结合多种生物样本特征构造新型多样本生物特征模糊金库应运而生。

本文将对来自两枚不同手指的两个指纹进行预校准后的指纹图像作为多样本(在这里也就是双样本),然后利用Diffie-Hellman密钥交换协议的思想,提出基于有限乘法群上离散对数安全的一种双指纹特征融合方法,并由此产生一个全新的虚拟指纹特征模板,随后结合经典模糊金库算法,提出了一种基于两枚不同指纹融合模糊金库的身份认证方案,并且在测试中取得了较好的效果。

本文首先对模糊金库和指纹特征处理技术进行了简单的介绍,以Diffie-Hellman密钥交换协议为灵感来源,提出了一种乘法群上细节点与方向场的融合方法。随后将产生的融合特征分别与经典模糊金库结合,构建了一种新的模糊金库方案,并进行了实验仿真,最后对实验结果做了分析。

1 模糊金库方案

模糊金库方案是一种经典的生物特征与密码技术相结合绑定的方案,其思想最早在2002年IEEE信息论国际会议上由Juels等[2]提出。该方案是利用使用者的某些特定属性的集合,如用户特定归属类别的数字化集合,当做密钥,然后利用某种特定的某种数学方法将使用者的秘密信息隐藏储存在一个特别的方程系统或者是一个特殊集合中,使用者只要保护好这个信息即可。当且仅当使用者将原先特定的归属类别的数字化集合(或者其他使用者特定属性集合)输入才能正确完整获取隐藏储存在其中的秘密信息,值得一提的是模糊金库方案中,并不一定要将整个特定属性集合完整无误的输入,而是只要达到一个近乎相同的水平。文献[3-7]分别对基于指纹特征的模糊金库方案各方面进行了研究,同时也取得了比较好的成果。基于指纹特征的模糊金库方案是目前在理论研究及实际应用上最为成熟的。(指纹)模糊金库原理如图1所示。

(b) 解锁阶段图1 指纹模糊金库技术原理

Lee等[8]在2007年首次提出了基于虹膜特征的模糊金库方案。同年Nyang等[9]提出一种基于带权重生物特征的模糊金库实现方案。Kumar等[10]在2008年提出一个基于掌纹的模糊金库的双层(一层对称密码另一层非对称密码)加密系统。Cao等[11]在2011年提出了一种能够应用于人体传感网络的改进模糊金库方案。Bringer等[12]在2012年提出一种基于折叠RS编码以及相应的列表恢复算法的多用户的扩展模糊金库模型,实现了多用户共享同一个模糊金库。Velciu等[13]在2014年提出一种基于声纹特征的模糊金库方案,其特点是将模糊金库与云计算相结合,做到云环境下的密钥保护及访问控制。同年Moon等[14]提出并实现了一整套IC卡环境下实用化的模糊金库方案。

模糊金库方案是一种较理想的保护用户秘密信息安全的信息技术,所以其实际的安全性能和应用性能也日益引起相关研究人员的关注。2007年Scheirer等[15]对常见的SKA(密钥泄露)、ARM(记录多样性)、BSA(盲替代)三种针对模糊金库的攻击方式进行了分析。2010年Fu等[16]为了解决记录多样性攻击和盲替代攻击提出了一种对提取的真实点进行双线映射的模糊金库方案,该方案基于Pairing-based Cryptography(配对密码体制)。2012年Poon等[17]对当时使用的几种模糊金库主要包括RS、B-M、CRC中的解码方案进行了测试比较,结果认为Gao[18]的RS解码方案较之于B-M方案更出色,同时得到结论,CRC方案在面对暴力破解时存在明显的短板,哪怕是对方案进行了改进后仍旧存在该问题。2013年Nguyen等[19]在模糊金库的杂凑点生成算法中取得了较好的成果,提出的新型杂凑点算法一定程度上提高了指纹模糊金库安全性的同时,较当时常用的算法在时间上有了大幅缩短。2014年Josef等[20]将hash引入了模糊金库,在储存真实点时对真实点进行hash计算,提高了模糊金库安全性。

2 指纹特征识别技术

本文主要关注指纹预处理、特征提取与量化过程。这些环节的必要性一方面考虑到存储空间的消耗以及避免图像缩放失真等的性能需求。另一方面是因为原始指纹图像的质量不能得到保证,首先指纹采集对象如老年人群、一些从事体力劳动的工人、农民指纹存在残缺磨损的现象极为普遍,其次即便拥有完整清晰指纹的对象,当进行指纹采集时仍旧不可避免的存在噪声,这必然导致虚假细节点的产生。因此,直接使用原始采集图像,简单提取细节点进行使用,不可能满足实际需要。通过指纹图像矢量化、增强、二值化、量化等过程可以大幅减少噪声干扰,大大提高对残缺指纹的识别效果,同时压缩图像存储空间,防止图像缩放失真。

2.1 指纹图像预处理

指纹图像预处理过程如图2所示。

图2 指纹图像预处理流程

1) 指纹梯度计算。梯度场是一种由数量场得到的矢量场,能够反映指纹中谷线与脊线场强变化。对指纹图像进行矢量化操作,不但能够压缩图像存储空间,还能避免图像缩放过程导致的失真。我们将一幅原始指纹图像记为F(x,y),其指纹梯度场记为T(x,y),计算该点的偏微分,得到的就是最陡的方向。那么求指纹图像F(x,y)偏导数:对x求偏微分的值,能得到水平分量记为Fx(x,y),对y求偏微分的值,能得到垂直分量记为Fy(x,y),最后求出该点梯度向量T(x,y)。该点的梯度值为

(1)

2) 指纹图像分割与收敛。为了区分指纹图像的前景和背景,我们需要对指纹进行分割。由于随着图像中梯度不同会出现颜色深浅不同,所以我们可以梯度值来做指纹图像的分割,其中前景梯度数值通常较大(颜色更白),背景梯度数值通常较小(颜色更黑)。由此我们就能利用梯度值来对指纹图像进行分割,过程如下:

(1) 平滑处理:去噪。

(2) 分割前景背景:通过设置梯度阈值,记分割阈值为δ,则

若|T(x,y)|>δ,像素点(x,y)位于前景。

若|T(x,y)|<δ,像素点(x,y)位于背景。

使用该方法做指纹图像分割的程序实现结果如图3(b)。在实际生活中,由于面光源效应、环境因素或者非理想点的存在纹线的灰度图像的灰度和像素位置会发生一定的偏移。进一步的图像收敛能尽量修正这种偏移,这里我们采用二维高斯函数进行收敛。图3(c)为对图3(b)进行采用二维高斯函数进行图像收敛后得到的指纹图像。

(a) 原始指纹图像 (b) 分割后指纹图像 (c) 收敛后指纹图像图3 指纹图像预处理

2.2 指纹特征增强、二值化、量化与特征提取

分割后的指纹图像在经过收敛后图像质量有所改善但依旧达不到对噪声的完全剔除,也难以满足接下来特征提取量化的需要,进一步地处理包括:增强、细化、量化等。为了使得使纹线更加清晰,使用二维Gabor滤波,由于它是一个经过复数正弦函数调制的高斯函数,其实部进行滤波时能得到平滑的图像效果,它能够沿着纹线方向对图像进行收敛增强,弥补纹线断裂的不足。下一步是指纹图像的二值化,本文中采用了领域分析法,该方法在成像质量较好表现,设脊线区域灰度值赋值为黑色(0),谷线区域灰度值赋值为白色(255)。

经过二值化之后得到的指纹图像已经达到了指纹细节点特征提取的要求。指纹细节点特征种类较多,其中最主要是分叉点以及端点。指纹纹线的末端即为端点,两条指纹纹线相交点即为分叉点。图4标出了4种细节点特征:分叉点、端点、环点以及孤立点。

图4 四种指纹细节点特征

可以看出,经过了预校准的指纹特征,基本满足了指纹特征提取的需求,但是在实际当中,在各种外在因素影响下,提取到的指纹细节点坐标会因为时间的不同产生一些随机的无法预估的变化。然而在模糊金库方案中,密钥信息与指纹特征的绑定操作又必须保证有一定数量的细节点坐标数据完全正确,确保密钥恢复的准确无误。因此我们需要对指纹特征做进一步的量化处理,一种简单的棋盘格式量化方法就能够较好地解决上述由于外在因素导致的细节点差异问题。首先我们将指纹图像大小为255×255,然后是设置一个合适的D(区间间隔)目的是将指纹坐标量化,区间间隔的设置会影响量化后指纹特征坐标点与量化前坐标点的相似程度,很明显,当区间间隔越小,量化前后的指纹特征图像越近似,反之,差距越大,量化公式如下:

若量化区间间隔参数D为偶数,则:

(2)

若量区间间隔参数D为奇数,则:

(3)

例如坐标点为(201,19),当取D=3时,量化区间间隔参数为3,经D为奇数的公式计算其横坐标量化后结果为202,纵坐标量化结果为19,即细节点(201,19)量化后坐标为(202,19)。

图5(a)为量化后的图像,图5(b)为对量化后的图像提取细节点特征。

(a) 量化后图像 (b) 提取特征点(端点与分叉点)图5 指纹图像细化和特征提取

3 基于细节点与方向场的融合方法

3.1 融合方法

Diffie-Hellman密钥交换协议[21]是一种基于离散对数计算困难性的算法,它不是一种加密方法而是一种建立密钥的方法,一种密钥交换算法,因此必须配合其他某种加密算法相结合来使用。

简要概述如下:

(2) A秘密选定一个整数a:1

(3) B秘密选定一个整数b:1

(4) A计算k=Bamodp。

(5) B计算k′=Abmodp。

因为Ba=(gb)a=gab=(ga)b=Abmodp,所以A和B计算得到的k与k′是相同的。攻击者想要获得k,那么他需要解离散对数问题A=gxmodp或B=gxmodp,这无疑非常困难的。

我们选择使用Diffie-Hellman密钥交换协议来完成两枚指纹细节点的融合,将来自同一用户的两不同手指的指纹作为A和B,也就是协议中要进行密钥交换的双方,那么,可以将两枚手指指纹的细节点特征看作秘密信息,通过协议进行交换产生虚拟的细节点来当作一个全新的双指纹特征融合集合。

这是我们初步的融合思路,但是实际中我们发现,两枚指纹各自产生的所有特征点集合互相进行融合,最后得到的共享的虚拟细节点的集合扩大到了单个指纹特征集合的平方,这必然导致进行密钥恢复计算时的计算量大幅度提高,另一方面,由于产生的虚拟细节点数目庞大,而虚拟细节点又作为模糊金库当中的真实点存在,这意味着模糊金库当中存在的真实点数量高度扩大,从而影响到模糊金库的安全性。为了解决上述问题,下面提出了一种改进的融合方法。

3.2 基于细节点方向场融合方法

Li等[22]在2013年针对指纹模板安全性的问题,提出了一种虚拟指纹的重构算法,该算法同样使用两枚指纹,将一枚指纹的细节点与另一枚指纹的方向场结合再进行重构产生虚拟指纹。考虑到之前出现两枚指纹细节点融合计算量过大的问题,我们结合该方法,提出了一种新的融合方法,该方法对第一枚指纹的细节点与第二枚指纹的方向场进行融合,简记为MO(Minutiae and Orientation)。

对于指纹A和指纹B,根据前面的预处理和特征提取后分别得到图6(a)的细节点集合与图6(b)的方向场,下一步进行特征融合。

(a) 指纹A的细节点 (b) 指纹B的方向场

(c) 指纹B量化结果 (d) 两指纹叠加图6 MO融合方法

1) 对指纹B方向场进行量化,公式为:

θB=θB/(16×16)

(4)

得图6(c)。

2) 将A的细节点与B方向场叠加得图6(d)。

3) 指纹A和B特征融合,公式:

(5)

上述算法通过伪代码描述如算法1所示。

算法1融合方法实现MO算法伪代码

输入:FA,θB。

输出:FAB。

1)sA=count(FA)

//统计集合FA的细节点个数;

2)θB=θB/(16*16)

//16间隔量化;

3) foriinrange(sA):

//融合指纹A;

//串接指纹A坐标;

//两指纹融合;

6)RFi=(rFi/256,rFimod 256)

//伪细节坐标生成;

7)FAB={RF1,…,RFSA};

8) end

4 基于双指纹融合模糊金库的身份认证方案

4.1 注 册

基于上面提出的指纹特征融合方案MO,提出一种模糊金库方案MO-FV,由此生成身份认证模板,简记为IT,完成身份认证算法的注册环节,图7是注册过程流程图。

算法2身份认证模板生成

输入:两枚不同手指的指纹A与B,秘密信息或密钥k,大素数p,正整数d。

输出:模糊金库FV。

1) 依据k选取一个次数为d的多项式

f(x)=adxd+ad-1xd-1+…+a1x+a0

(6)

2) 读取算法1得到的两枚指纹特征融合后的虚拟细节点集合FAB={RF1,RF2,…,RFSA};

3) 将FAB中每个点RFi作为输入值代入多项式f(RFi)取值,得到真实点集合G={(RF1,f(RF1)),(RF2,f(RF2)),…,(RFSA,f(RFSA)};

//这里取值f(RFi)是指将虚拟细节点RFi的横坐标或纵坐标

//进行赋值,或将RFi进行坐标串接后进行赋值

//依据安全性要求,杂凑点个数应远大于细节点个数;

5) 构造模糊金库FV=G∪C,和身份认证模板IT=FV∪hk,其中hk为对k使用SHA-256后的Hash值。

6) 注册完成。

4.2 身份认证

在完成上节注册流程后,通过得到的身份认证模板,按照算法3完成身份认证操作,图8是身份认证过程流程。

图8 身份认证流程

算法3身份认证

输入:两枚不同手指的指纹A与B,大素数p,正整数d,身份认证模板IT。

输出:k。

3) 任选S中d+1个点为一组。

4) 利用多项式插值格式重构多项式f′(x)。

5) 根据f′(x)的系数,得待验证密钥k′,并对之使用SHA-256进行Hash操作得到hk′。

6) 判断hk′是否等于hk,若否,进行下一步,若是,身份认证成功;

7) 选择下一组d+1个点,重复步骤4)-步骤6);

8) 若尝试完S中所有d+1个点的组合情况,不存在hk′等于hk,身份认证失败。

5 仿真实验与结果分析

5.1 可行性实验与分析

这里我们用C++在VS 2010平台上做了实验仿真。图9是实验仿真的操作画面。

(a) 身份认证模板生成(注册)

(b) 身份认证图9 仿真演示

本实验方案基于经典特征模糊金库方案做身份认证,表1是对仿真程序的各个模块的运行耗时统计。

表1 各模块运行耗时表 单位:ms

表1身份认证操作对应模糊金库操作,其中注册对应上锁,认证对应解锁,从实验结果中可以看到,耗时最长的是认证(解锁)环节,并且远大于身份认证(模糊金库)操作之前的操作时间总和,证明本实验方案生成伪细节点集合(FA)并不会大幅增长耗时,即基于指纹细节点和方向场融合模糊金库的身份认证方案具有较好的时效性。

5.2 可靠性实验与分析

一般在指纹、人脸等生物特征识别技术当中我们采用TAR(True Accept Rate)表示正确接受的比例,FAR(False Accept Rate)表示错误接受的比例,FRR(False Rejection Rate)错误拒绝的比例,这里我们用前两个指标设计实验来衡量提出的模糊金库方案性能。在本次实验中,提取特征细节点的指纹当作主体,记为A,提取方向场的指纹作为辅助,记为B,我们设计如下实验:

实验一:A指纹正确,B指纹正确。各取10枚两枚指纹的正确样本进行融合,得到100种融合结果,分别进行实验,得到GAR。

实验二:A指纹正确,B指纹错误。取10个正确的指纹A样本和10个错误的指纹B样本进行融合得到仅指纹B错误时的FAR1。

实验三:A指纹错误,B指纹正确。取10个错误的指纹A样本和10个正确的指纹B样本进行融合得到仅指纹A错误时的FAR2。

实验四:A指纹错误,B指纹错误。各取10枚两枚指纹的错误样本,进行融合,得到100种融合结果,分别进行实验,得到FAR3。

为了提供对照组,我们使用了文献[23]中提出一种对双指纹特征融合的方案,与文中的模糊金库方案使用相同的数据进行了实验,得到结果如表2所示。

表2 两种模糊金库方案可靠性对比(%)

不难看出,文献[23]的方案在只有一枚指纹错误的情况下错误接受率为100%,也就是说当仅有一枚指纹错误时,总能打开模糊金库,换言之,只要有一枚指纹正确,就能打开模糊金库,这意味着两枚不同手指指纹并没有对安全性产生提高。同时可以看到,当两枚指纹全都错误时,仍存在一定概率被错误接受,换言之,当两枚指纹全部错误时,都存在打开模糊金库的可能,这无疑是不安全的,甚至比单指纹模糊金库的安全性更低。MO-FV方案的不足是在两枚指纹均正确时仍会有被拒绝可能(也就是正确的两枚指纹输入却打不开模糊金库),但是优点是只要有一枚指纹出错,尤其是指纹A出错时,基本无法打开模糊金库。文献[23]的方案实验结果产生的原因是该方案仅仅对两枚指纹细节点做了叠加处理,故而其融合之后产生的细节点在坐标上并没有改变,而只是单纯的叠加,那么在真实点足够多的情况下,仅一枚指纹的提取到的特征点就足以重构多项式因此产生了一枚正确指纹也能解开模糊金库的结果。MO-FV的FAR2达到了70%,也就是说当提供细节点的指纹正确时即使提供方向场的指纹是错误的也有较大的概率被接受,这一点形成的原因是在进行方向场取值时我们将只量化到16个区间,这种情况下,由于大部分指纹外观相似,仅仅量化到16个区间会造成许多的指纹量化后方向场相同,即发生重合。这一点或许可以通过增加方向场量化数量减小单个量化区间以达到不同指纹量化后方向场更大的区别来完善。

6 安全性分析

基于模糊金库的身份认证方案其安全性是基于模糊金库安全性的,本节对我们提出的两枚指纹细节点和方向场融合的新模糊金库方案安全性进行研究分析。在模糊金库方案的设计中,包含杂凑点与真实点的集合是公开的,另外,多项式的次数也是公开的。而其中受到保护的是其中的用户原始的生物特征模板,比如预处理后的指纹信息(本文中即指纹特征模板,现实生活中可能是掌纹等)还有密钥信息,所以可分成两部分来讨论。

8 结 语

本文借鉴Diffie-Hellman密钥交换协议的思想,首先基于有限乘法群上的离散对数安全性提出了一种特征融合方法MO,然后分别将这种融合方法得到的融合特征模板与经典模糊金库方案相结合,构建了模糊金库方案MO-FV。仿真实验结果表明,MO具有较好的时效性,且基于此双指纹融合模糊金库方案的身份认证方案也具有很好的有效性及安全性。与基于单一生物特征模糊金库的身份认证方案相比,攻击者自模糊金库中暴力破解出秘密信息的难度是等量级的,但要利用攻击用户的生物特征模板来获取秘密信息的困难性来说,则难度增加了一个生物特征的细节点数量级倍。

猜你喜欢
指纹图金库密钥
石金库
石金库
超级金库诺克斯堡
密码系统中密钥的状态与保护*
指纹图像传感器技术与后续发展研究
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
1株蒜薹采后病原真菌的鉴定、rDNA ITS序列及碳源代谢指纹图谱分析