一种指纹生物特征的隐私保护和认证方法
2021-10-20
来源:信息安全与通信保密杂志社
摘 要:
近年来,越来越多的智能终端和信息系统集成了生物识别技术,并在金融、安防等领域中广泛使用。用户的生物特征信息一旦泄露,将严重威胁用户的切身利益。依托模糊提取技术、纠错算法和安全散列算法,提出了一种指纹生物特征的隐私保护和认证方法。该方法中,指纹注册阶段并不保存指纹图像、细节点特征等原始信息,仅保留由纠错编码算法和安全散列算法生成的辅助数据,从而达到隐私保护的目的。身份认证时,通过辅助数据结合纠错运算去除图像采集误差并进行安全散列运算密文比对,完成用户身份的识别。
00
引 言
近年来,随着生物特征识别技术的广泛应用,人们越来越担心自身的生物特征的安全问题。无论在哪种场合,只要提供了自己的生物特征信息,这个生物特征信息就有被复制和盗用的风险。而且,人的生物特征一般情况下是不会变化的,一旦泄露就无法像口令一样修改或重新设置。当同一生物特征信息应用于多个信息系统时,一个系统中的生物特征信息泄露将影响其他系统的安全。2020年10月,中国信通院、电信终端产业协会、中国互联网协会等单位联合发表了《生物识别隐私保护研究报告》。报告指出需要完善我国的生物识别隐私保护标准体系,加快重点标准研制,建立评估机制,提升保护力度,同时在技术层面上需要创新生物识别隐私保护技术手段,加强基础理论研究和技术研发。
在生物特征识别技术广泛应用之前,信息系统的认证主要依靠口令的方式进行。在对口令的安全保护设计中,口令通常使用安全散列算法,如安全散列算法1(Secure Hash Algorithm 1,SHA1),进行安全散列运算,并将散列值存储起来。口令认证时,输入的口令将再次进行安全散列运算,并将散列值并与存储的散列值进行比较,确定用户身份。在这个过程中,信息系统中并不保存原始的口令,由于安全散列算法是单向运算,即使存储的散列值被泄露,攻击者也无法得到原始的用户口令。
虽然通过安全散列算法可以很好地保护口令安全,但这个技术并不适用于生物特征信息。生物特征信息识别系统一般分为注册阶段和认证阶段,因为生物特征信息受采集条件、环境变化等各种因素影响,即使是同一个生物样本,每次采集的生物特征信息都会有不同。例如,在进行指纹特征采集时,受手指与传感器之间的压力、接触范围、角度不同,以及灰尘、油污等影响,都会造成采集的生物特征信息存在差异。由于这些差异的存在,使得同一指纹多次采集的特征信息进行安全散列运算后的散列值都是不同的,无法用于确定用户真实身份,因此在设计生物特征的隐私保护方案时,最根本的难题是如何解决同一生物特征多次采样产生的差异。
01
生物特征信息的饮食保护
生物特征信息是按照一定的提取策略,生成一组特征值的序列。该序列被称为生物特征模板。一般情况下,生物特征模板X可以表示成图片的形式。对于任意的两个特征模板X和Y,如果存在一个子集图片,且满足图片,则认为两个生物特征模板是匹配的,其中图片和图片为设定的阈值。
生物特征信息的隐私保护需要做到在不影响识别性能的同时,无法还原或伪造出原始的生物特征信息。近年来国内外在生物特征信息的隐私保护方面也提出了许多方法,这些方法主要分为基于变换的生物特征保护方案和基于辅助数据的生物特征保护方案两类。
1.1 基于变换的生物特征保护方案
基于变换的生物特征保护方案主要设计思想是对生物特征模板进行一种不可逆变换,如坐标扭曲、折叠等。进行匹配时,待匹配数据也进行相同的变换后再进行匹配。在指纹的变换保护方面,Ratha等人提出了基于笛卡尔坐标的转换函数,在这个转换函数中,指纹图像被分割为若干个矩形单元,每个单元按照一定的规则重新变换位置。在这种变换中,指纹图像被打乱,原本分散的两个或多个指纹特征点可能被集合到邻近区域,编码成一个特征点,即使攻击者知道变换方法,也无法确定该特征点原来属于哪个区域。
基于变换的保护方案缺点在于设计出一个安全的变换函数和参数非常困难,同时不太容易从理论上分析出逆向变换的难度,特别是当变换函数和参数被泄露的时候,这种方法很难证明其安全性。
1.2 基于辅助数据的生物特征保护方案
基于辅助数据的生物特征保护方案主要的设计思想是利用生物特征信息生成一些辅助信息,如纠错编码、杂凑值、验证数据等。这些辅助信息不会透露原始的生物特征信息,但可以在认证时利用其完成身份认证。目前基于辅助数据的保护方案主要有模糊提取、模糊承诺和模糊金库几种。模糊提取和模糊承诺要求生物特征数据必须是有序的,该技术目前已成功用于虹膜等生物特征识别。由于指纹的细节点特征是无序的,对指纹的细节点特征的保护大都采用模糊金库的方法。模糊金库方法在进行生物特性信息的隐私保护时构建一个多项式
该多项式在2维平面上是一条曲线,指纹的若干个细节点特征依次作为图片值带入多项式中进行运算得到若干个图片值,每次运算的图片值就形成了平面上的真实坐标点。在真实坐标点之外,随机生成若干个假坐标点就得到了指纹模糊金库。实际应用中,假坐标点的数量需要远远大于真实坐标点的数量,使得攻击者很难找出哪些是真实坐标点。在认证时,只有合法指纹才能筛选出真实点并重构出多项式,完成生物特征认证。理论上,当模糊金库中存在24个真实点,200个假坐标点,n值为8时,其安全强度约为图片。
模糊金库的缺点在于当同一生物特征信息被用于两个及以上的模糊金库时,如果模糊金库数据被攻击者得到,攻击者可以通过交叉匹配能很容易地找出模糊金库中的真实点,破解模糊金库。除此之外,模糊金库还存在多模板攻击、替代攻击、密钥反向攻击等难以解决的问题,在安全性上存在一定的局限性。
02
指纹生物特征的隐私保护方法
基于细节点特征匹配的指纹识别是目前指纹身份认证的主流技术方案。但由于指纹细节点的无序性使得在完成匹配前并不知道注册的细节点和匹配的细节点之间的对应关系。同时,两次采样时,受各种因素影响,获取的细节点数量很有可能是不一样的。
为了解决指纹的细节点特征无法直接通过模糊承诺进行保护的问题,国内外进行了许多研究并提出了一些方法,如基于傅里叶变换和滤波变换得到指纹细节点信息的幅度谱和相位谱构建模糊承诺方案。
与上述方法不同,本文从指纹特征细节点分布结构出发,设计了一种指纹细节点特征二值化方法,并结合纠错算法和安全散列算法,完成指纹生物特征信息的隐私保护。
2.1 基于细节点分布的指纹特征二值化方法
根据中华人民共和国颁布的《居民身份证指纹采集和比对技术规范》,指纹的细节点一般由中心点和普通特征点构成。指纹中心点的数量最多为3个,特征点数量最多为120个,其中中心点用图片坐标表示,特征点用图片表示。基于细节点分布的指纹特征二值化方法采用划分指纹区域结合特征点角度的方式来进行二值化。
最开始,需要在指纹图像中确立一个笛卡尔坐标系。当指纹图像有一个中心点时,坐标系以该中心点为原点,原点与最近的特征点连线方向作为图片轴。当指纹图像中有两个中心点时,坐标系以两个中心点之间的中点为原点,两个中心点之间的连线方向作为图片轴。当指纹图像中有三个中心点时,坐标系以3个中心点的图片值和图片值的平均值为原点,距离最近的两个中心点之间的连线方向作为图片轴。由于同源指纹特征多次采样时的位置和角度均会有不同,指纹细节点信息需要根据笛卡尔坐标原点进行对齐,即将指纹细节点进行旋转和平移,将原点位置移动到图片坐标,并将图片轴移动到水平方向。细节点旋转和平移的公式如下:
式中:图片是旋转平移前的细节点特征值;图片是原点坐标;图片是将图片轴移动到水平方向需要旋转的角度;图片是旋转平移后的细节点特征值。
在笛卡尔坐标系建立之后,需要对指纹图像进行分割,如图1所示。具体实现方法为,在笛卡尔坐标系中以原点为中心,图片为间距,图片为扇区角度划分区域。
图1 指纹特征二值化划分区域方法
完成指纹图像的区域划分之后,可以根据区域中是否有指纹特征点、以及特征点的角度对指纹特征进行二值化。二值化时,每个区域与原点之间的角度、距离以及一定图片角度范围内是否有特征点,可以构建一个3维阵列,如图2所示。
图2 指纹特征二值化矩阵
当3维阵列中某个位置中存在特征点时,该矩阵被编码为1,用黑色表示,否则被编码为0,用白色表示。矩阵中所有位置编码完成后,再按照一定规则对编码值进行排列,即可完成指纹特征的二值化。
基于细节点分布的指纹特征二值化方法排除了同源指纹多次采样时的位置和角度不同造成的偏差,实现了指纹的对齐和二值化。任意两次二值化的结果偏差可以用汉明距离来表示。工程实现时,可以对图片值,图片值以及图片值进行调整尽量减小同源指纹之间的二值化汉明距离,增大非同源指纹之间的汉明距离。当图片,图片,图片时,测试了40幅指纹图像两两之间的二值化特征值汉明距离如图3所示。
图3 40幅指纹图像的二值化特征值的汉明距离
图3中,横坐标表示汉明距离的大小,纵坐标表示出现的次数。从图中可以看出,采用指纹区域结合特征点角度的方式二值化后,同源指纹的二值化特征值汉明距离明显小于非同源指纹的二值化特征值汉明距离,可以达到明显区分同源指纹和非同源指纹的目的。
2.2 指纹特征信息的隐私保护
指纹的二值化特征值反映了指纹的特征点分布情况,必须对其进行保护。采用密码算法加密保存指纹数据的方法并不能从根本上解决问题。因为一旦密钥丢失,攻击者同样可以通过解密还原出指纹数据。而且,在每次进行生物特征匹配时,无论匹配是否成功,都需要对已加密的指纹数据进行解密获取指纹特征的明文,存在安全风险。采用了基于辅助数据的隐私保护方案完全避免了这一问题。
在基于辅助数据的隐私保护方案中,指纹特征信息注册阶段,利用纠错算法生成注册指纹二值化特征值的纠错编码,利用安全散列算法生成注册指纹二值化特征值的散列值。纠错编码用于纠正同源指纹两次测量之间的误差,散列值用于认证。注册完成后,仅需要保留纠错编码和散列值,形成辅助数据,原始的指纹二值化特征值等其他数据均被销毁。由于安全散列算法的逆向计算在数学上是不可行的,攻击者即使得到了辅助数据,也无法恢复原始指纹二值化特征值。基于辅助数据的隐私保护方案的注册过程如图4所示。
图4 基于辅助数据的隐私保护方案的注册过程
在认证阶段,待认证的指纹图像通过二值化抽取得到二值化特征值,然后通过辅助数据中的纠错编码尝试对二值化特征值进行纠错运算。如果纠错运算失败,则认证失败。如果纠错成功,则利用安全散列算法计算纠错后二值化特征值的待认证散列值,并将其与辅助数据中的散列值进行比较,只有当待认证散列值与辅助数据中的散列值一致时,才认为身份认证成功。基于辅助数据的隐私保护方案的认证过程如图5所示。
图5 基于辅助数据的隐私保护方案的认证过程
03
测试结果
本文以指纹样本库FVC2002_DB2B为基础,测试了基于细节点分布的指纹特征二值化方法的指纹识别可靠性。测试时,先将样本库中的指纹数据处理为符合国家二代居民身份证指纹采集和比对技术规范的指纹数据结构,再基于细节点分布特征进行二值化处理,最后结合二元线性循环码(BCH)和SM3安全散列算法完成指纹数据的隐私保护。
真匹配实验是将指纹图像库中每个手指其中任意一幅图片为模板,其余同源指纹为样本进行比较,计算识别率;假匹配实验则是选取任意手指的一幅图片为模板,与其余不同手指的所有图片进行比较,计算误识率。
测试时,通过调整图片以及纠错比特位数,测试了不同情况下指纹识别可靠性,如表1所示。
表1 不同配置情况下的指纹识别可靠性
在实际应用中,可以根据不同的应用场景来选择不同的参数,以满足不同的识别可靠性要求。
文献[15]中指纹的识别率和误识率分别是73.32%和0.23%。文献[16]中指纹识别率在86.712%时,误识率为0.106%;识别率在90.804%时,误识率为1.236%。本文提出方案在识别可靠性上有所提高,同时本方法与基于幅度谱和相位谱构建模糊承诺方案相比原理上更加简单,在保证识别可靠性的前提下,降低了计算复杂度。
综上所述,本方案具有以下特点:
(1)用于身份识别的指纹特征信息通过安全散列算法计算散列值,这个过程是不可逆的,所以攻击者无法恢复原始指纹细节点信息;
(2)当同一指纹特征用于多个设备或软件中时,通过配置不同的安全散列算法密钥(如硬件ID,口令,随机变量等),可以生成不同的散列值,当同一生物特征信息应用于多个信息系统时,一个系统中的生物特征信息泄露不会影响其他系统的安全。
04
结 语
本文提出的指纹生物特征信息隐私保护和认证方法以一种较为简便的方式实现了指纹特征信息的隐私保护,同时也具备较好的指纹识别可靠性。本文提出的方法可以直接利用现有成熟指纹识别技术提取的指纹特征,如符合国家二代居民身份证指纹采集和比对技术规范的指纹特征,且可以在兼容的情况下,将该技术推广到已有的指纹识别系统中。