掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度神经网络编码的指纹生物密钥生成方法

文献发布时间:2023-06-19 11:52:33


一种基于深度神经网络编码的指纹生物密钥生成方法

技术领域

本发明属于网络空间安全技术领域,涉及一种基于深度神经网络编码的指纹生物密钥生成方法,具体是一种从人类指纹中经由盲对齐、深度神经网络重编码等处理直接提取高强度稳定生物密钥的方法,其能够为现有的基于人类指纹的身份认证技术提供一种新的认证方法,并与现有的公私钥、对称加密方法无缝融合,支持在网络中更方便安全地进行基于用户指纹的身份认证与加密。

背景技术

指纹识别技术是现今比较成熟的生物特征识别技术,其在使用过程中需要存储用户的指纹特征模板用于认证比对,指纹特征模板一般存储在服务器端或本地安全域内(本地安全域如智能卡的一块安全存储区)。由于人类的指纹生物特征一旦形成伴随一生,一旦泄露难以改变,使得指纹身份认证领域对用户指纹信息的安全性非常关注。现有的指纹信息的保护方法主要有指纹特征模板保护(加密、变形、模糊等)、生物密钥等。

指纹特征模板保护一般采用指纹特征模板进行函数运算产生新的指纹特征模板的方法来保护指纹信息,由新的指纹特征模板一般难以推知原始指纹特征。模板变形、模糊金库等方法均可以归入此类方法。模板保护方法在使用过程中存在指纹识别准确率下降,模板保护效果不如预期等问题。例如,模糊金库技术,通过向真实指纹特征信息中加入大量的虚假特征信息,从而达到隐藏和保护真实特征信息的目的。但是该方法存在通过同一生物特征的不同模板数据库的交叉对比,获取用户指纹特征信息的风险,并且识别的准确性会受到掺杂的虚假特征信息的较大影响。更为重要的是,模板无论如何变形,始终留有原始指纹特征信息,存在被攻击而泄漏的可能。

指纹生物密钥生成技术近来受到关注,该技术支持直接从人类指纹特征中获取稳定的密钥序列用于加密,省去了用户记忆冗长密钥的麻烦,增加了密钥强度,同时支持用户方便地进行加密运算。由于指纹生物密钥生成过程在本地进行,期间在本地和服务端均无需存储用于比对的生物特征模板,只需保留生成稳定密钥序列的运算模型及其参数,运算模型可公开,参数可撤销亦可公开。故对用户指纹隐私信息有很好的保护作用。

现有的指纹生物密钥生成技术主要有:(1)中国专利号201410074388.X公开了“一种人类指纹生物密钥生成方法”,方法将指纹特征序列向高维空间中投影,在高维空间中将同一枚指纹的特征数字序列稳定到可接受的波动范围内,再对稳定后的指纹特征数字序列编码,从编码中提取生物密钥。该方法可以对指纹特征序列起到一定的稳定效果,对指纹特征序列已对齐的指纹有一定的提取效果,对于特征序列未对齐的指纹提取效果不理想。另外受限于可稳定的指纹特征点的数量不多,使得方法所能提取的稳定比特序列长度不足(一般<256bit)。总体上指纹密钥生成的成功率和强度均不够高。(2)中国专利申请号201811538752.8公开了“一种基于特征距离与生成区间的指纹密钥生成方法”,提出了一种基于特征距离与生成区间的指纹密钥生成方法。方法利用指纹特征距离和生成区间机制生成用户的指纹密钥,一定程度避免了指纹信息的直接泄露。并且结合使用双层纠错技术和SHA256函数以保障指纹密钥的准确性和容错性。该方法在指纹密钥生成过程中依然保留了指纹特征距离、生成区间及最终生成的生物密钥等指纹特征与密钥信息,这些信息需要保留在本地安全域内,整套方法的安全性依赖于本地安全域的安全性,容易受到攻击。

发明内容

本发明的目的是针对现有的指纹生物密钥生成方法的不足,提出了一种基于深度神经网络编码的指纹生物密钥生成方法。

指纹生物密钥生成分两部分,第一部分为指纹生物密钥训练部分,第二部分为指纹生物密钥提取部分。

指纹生物密钥训练部分具体步骤为:

步骤(1)、对同一枚指纹进行多次样本采集,获得指纹灰度图像集;将上述指纹灰度图像统一缩放到某一固定像素大小,记为指纹图像1。

步骤(2)、对指纹图像1进行第1阶段预处理,获得指纹图像2;其中第1阶段预处理包括均衡、收敛、增强、去噪、二值化、细化等。

步骤(3)、对指纹图像1和指纹图像2进行第2阶段预处理,即盲对齐操作,获得指纹图像3、4。指纹盲对齐操作分为平移和旋转两部分。

步骤(4)、对指纹图像3、4进行第3阶段预处理,即特征扩展操作:

对指纹图像4进行方向滤波处理,可采用领域内成熟的小波滤波取某一方向,获得指纹图像5;将指纹图像3、4、5通过R、G、B三通道合成为一张彩色图像,或者图像3、4、5的任意线性组合拼接为一张图像,获得指纹图像6;基于指纹图像6构建指纹深度神经网络训练集合L1。

步骤(5)、构造指纹深度神经网络,并利用训练集合L1进行训练

所述的指纹深度神经网络包括串联的指纹稳定特征提取器、指纹生物密钥稳定器、指纹生物密钥提取器;

5-1构造指纹稳定特征提取器M1,其输入为指纹图像6,输出为指纹图像7;

5-2构造指纹生物密钥稳定器M2,其输入为指纹稳定特征提取器M1输出的指纹图像7,输出为指纹生物特征序列L2;

5-3构造指纹生物密钥提取器M3,其输入为指纹生物密钥稳定器M2输出的指纹生物特征序列L2,输出为指纹生物密钥。

指纹生物密钥训练部分完成。

指纹生物密钥提取部分由:指纹生物特征预处理、指纹稳定特征提取、指纹生物密钥稳定、指纹生物密钥提取4部分顺次连接组成。具体步骤为:

步骤(1)、对指纹进行采样,获得指纹灰度图像,统一缩放到某一固定像素大小,记为指纹图像1a。

步骤(2)、对指纹图像1a进行第1阶段预处理,获得指纹图像2a;其中第1阶段预处理包括均衡、收敛、增强、去噪、二值化、细化等。

步骤(3)、对指纹图像1a、2a进行第2阶段预处理,盲对齐操作,获得指纹图像3a、4a。指纹盲对齐操作与训练阶段步骤(3)相同。

步骤(4)、对指纹图像3a、4a进行第3阶段预处理,即特征扩展操作,获得指纹图像6a;具体操作步骤与训练阶段步骤(4)相同。

步骤(5)、用指纹深度神经网络处理指纹图像6a,生成指纹生物密钥。

本发明的有益效果:

针对现有的指纹生物密钥生成方法的不足,提出了一种基于深度神经网络编码的指纹生物密钥生成方法。该方法利用经典指纹图像处理方法与深度神经网络方法相结合,实现了指纹图像的盲对齐、稳定特征提取、特征序列稳定等系列操作,与现有经典的指纹特征点提取方法比较,可以更为精准地提取同枚指纹不同样本的稳定特征分量,并通过深度神经网络的层层处理,进一步稳定指纹特征于特征值,最后通过指纹密钥模糊提取器,实现正常指纹图像高强度密钥序列生成,所生成的指纹生物密钥长度可大于512bit。本发明不存在需记录的生物特征模板信息,大大降低了隐私泄露的风险,同时用户无需高强度的记忆即可生成高安全性的密钥,该密钥可用于现有的公私钥、对称加密等操作,能够为现有的基于人类指纹的身份认证技术、泛在加密技术提供一种新的认证模式与加密技术,扩展了指纹在信息安全领域内的应用范围,提高了指纹生物特征使用的安全性和灵活性。

附图说明

图1为基于深度神经网络的指纹生物密钥生成框图。

图2为指纹图像预处理过程图。

图3为指纹盲对齐示意图。

图4为指纹稳定特征提取器M1结构图。

图5为指纹生物密钥稳定器M2结构图。

具体实施方式

下面结合附图对本发明作进一步说明。图1显示了基于深度神经网络的指纹生物密钥生成框架。

本发明分二部分,指纹生物密钥训练部分与指纹生物密钥提取部分。

第一部分指纹生物密钥训练部分的具体实施步骤为:

步骤1、对同一枚指纹进行多次样本采集,一般采集次数>20次,获得指纹灰度图像,将灰度图像统一缩放到某一固定像素大小(一般大于256×256,小于512×512),这一阶段获得的指纹图像标记为指纹图像1。

步骤2、对获得的指纹图像1进行均衡、收敛、增强、去噪、二值化、细化等处理,获得指纹图像2。其中均衡、收敛、增强、去噪、二值化、细化等处理方法均采用本领域内通用方法。

均衡可采用直方图均衡化方法,该方法是图像处理领域内的通用方法。直方图均衡化的数学公式为:

其中x表示灰度值,在0-255之间。f(x)表示指纹图像中灰度值为x的点将灰度值调整到f(x)。Dmax=255,A

收敛可采用二维离散高斯模板算子对指纹图像进行高斯滤波处理,二维离散高斯模板算子可取多套,作为示例取

计算公式为

f(x,y)表示指纹图像2中坐标为(x,y)的点所对应的灰度值。

增强可采用Gabor函数模板对指纹图像进行图像增强处理,Gabor函数模板可取多套,作为示例取

Hw为切向滤波模板,Vw为法向滤波模板。

用图像处理领域内的通用算法,求出指纹图像的方向场矩阵VMAP。VMAP[x,y]表示坐标为(x,y)的点所对应的方向场值,取值从0°~180°。

用VMAP[x,y]的值确定坐标为(x,y)的点的切线方向,并取切线方向上与(x,y)点相邻的7个点,每个点用f(x,y)表示。f(x,y)表示指纹图像中坐标为(x,y)的点所对应的灰度值。f(x,y)与Hw做卷积运算,运算结果赋值给f1(x,y)。

用VMAP[x,y]的值确定坐标为(x,y)的点的法线方向(切线方向顺时针旋转90°即为法线方向),并取法线方向上与(x,y)点相邻的7个f1(x,y)点,与Vw做卷积运算,运算结果赋值给f2(x,y)。f1(x,y)为指纹图像经切线方向增强后,(x,y)点所对应的灰度值。f2(x,y)为指纹图像经切线方向增强后,(x,y)点所对应的灰度值。

去噪可采用维纳滤波处理,细化处理可采用查表法。

二值化一般采用如下方法:

使用切线与法线方向的加权模板计算图像像素点在两个方向上的加权均值,通过比较两个方向上的均值大小,判定该图像像素点为0或1。加权模板可取多套,作为示例取

Hq=(1 1 1 1 1 1 1)

Vq=(2 2 3 4 3 2 2)

Hq为切向加权模板,Vq为法向加权模板。

用加权模板计算坐标为(x,y)的点在切线与法线方向上的灰度均值分别为F

f(x,y)表示指纹图像中坐标为(x,y)的点所对应的灰度值。f(x,y)值为0为黑色,255为白色。

处理过程中间结果图如图2所示,完成后获得指纹图像2。

步骤(3)、对指纹图像1和指纹图像2进行第2阶段预处理,即盲对齐操作,获得指纹图像3、4。示意图如图3所示。指纹盲对齐操作分为平移和旋转两部分。

其中第2阶段预处理采用指纹盲对齐操作,指纹盲对齐操作包括盲对齐-平移和盲对齐-旋转两部分;

指纹盲对齐-平移操作的步骤为:

1)在指纹图像1、2中确定指纹中心点的平移目标位置,两幅图像的位置点统一;

2)采用CNN深网模型Q1寻找指纹图像1、2中指纹中心点;

3)将指纹图像1、2进行整体平移,使指纹中心点与平移目标位置重合,完成盲对齐-平移操作;

所述的CNN深网模型Q1可采用现有成熟的用于图像分类的深网模型,如Resnet模型,以指纹图像1或2为输入,指纹图像1、2中指纹中心点为输出;指纹图像1、2的指纹中心点位置重合,故识别出其中一副图像的中心点位置即识别出另一副图像的中心点位置;模型Q1使用滑动窗口法识别指纹中心点;

所述的CNN深网模型Q1的训练过程:

1)制作数据集:

一类是带有标签的指纹中心点区域图像集:指纹中心点区域由用户依据本人指纹特点进行选择,选取标准如下:中心点区域固定形状和大小,其内部的纹线走向变化较为剧烈,即以顺时针或逆时针计算,围绕中心点周围的各点的方向场差的累加和值越大,认为变化越剧烈;指纹中心点区域一般选取指纹奇异点为中心,半径为r1的圆或长宽为d1、d2的矩形,要求指纹中心点区域图像集包含有中心点角度偏移(-ω

另一类是指纹其他区域的图像集,即非指纹中心点区域,半径或长宽与中心点区域设置相同,数量与指纹中心点区域图像集大致相当;为两类图像集分别打上分类标签,完成指纹中心点区域识别训练数据集的制作;

2)将中心点区域识别训练数据集带入到CNN深网模型Q1进行训练,让模型能够识别指纹中心点区域和非指纹中心点区域,识别的准确率>θ1;θ1为用户定义的准确率阈值,如95%;

3)训练过程中采用Softmax输出+交叉熵的方式;

模型Q1进行二分类判别,Softmax输出为y={y

损失函数设置为交叉熵损失函数

4)使用滑动窗口法识别中心点;遍历指纹图像1或2的每一个半径或长宽与中心点区域设置相同的区域,由模型Q1判断该区域是不是指纹中心点区域;对于预设指纹中心点区域包含奇异点的情况,可进一步判断区域是否存在奇异点,奇异点的判断可以采用Poincare公式,为领域内的通用公式。若区域中包含奇异点,则判定该区域为指纹中心点区域;否则判定未找到指纹中心点区域,舍弃该幅指纹图像;

如找到指纹中心点区域,则将指纹图像1和指纹图像2进行整体平移,使指纹中心点区域的中心点与中心点的平移目标位置点重合,完成指纹盲对齐-平移操作;

指纹盲对齐-旋转操作的步骤为:

1)对盲对齐-平移操作后的指纹图像1、2进行图像纹理增强处理,所述的增强处理采用Gabor小波函数处理;

2)采用CNN深网模型Q2判断增强处理后的指纹图像1、2中指纹中心点区域是否存在角度偏离,若是则对指纹图像整体旋转ω

3)重复步骤2),直至CNN深网模型Q2继续判断指纹中心点区域不存在角度偏离;

所述的CNN深网模型Q2采用现有Resnet模型,以盲对齐-平移操作后或盲对齐-旋转操作后的指纹图像2为输入,指纹中心点区域角度偏离结果为输出;

所述的CNN深网模型Q2的训练过程:

1)制作数据集:一类是指纹中心点角度偏离在(-ω

2)将数据集带入到CNN深网模型Q2进行训练,让模型能够识别指纹中心点区域是否存在角度偏离,识别的准确率>θ2;θ2为用户定义的准确率阈值,如95%;

3)将经盲对齐-平移后的指纹图像输入模型Q2判别指纹中心点区域是否存在角度偏离,如果有,对指纹图像整体旋转ω

步骤(4)、对指纹图像3、4进行第3阶段预处理,即特征扩展操作:

对指纹图像4进行方向滤波处理,可采用领域内成熟的小波滤波取某一方向,获得指纹图像5;将指纹图像3、4、5通过R、G、B三通道合成为一张彩色图像,或者图像3、4、5的任意线性组合(例如上下或左右)拼接为一张图像,获得指纹图像6;

将同一枚指纹的多个样本获得的指纹图像6组成一类,打上该枚指纹的标签,存入训练样本集合L1;取多枚指纹的多个样本,重复以上操作,当指纹类别数大于预设阈值C1时,训练集合L1构建完毕;训练集合L1为带标签的监督学习训练集。

步骤(5)、构造指纹深度神经网络,并利用训练集合L1进行训练

所述的指纹深度神经网络包括串联的指纹稳定特征提取器、指纹生物密钥稳定器、指纹生物密钥提取器;

5-1构造指纹稳定特征提取器M1,其输入为指纹图像6,输出为指纹图像7;

指纹稳定特征提取器M1由深度神经网络学习模型、指纹稳定特征选择器组成;

所述的深度神经网络学习模型可采用现有成熟的ResNet、DenseNet等模型,在模型经训练集L1训练稳定后,移除全连接层,用指纹稳定特征选择器替换全连接层,如图4所示;

所述的指纹稳定特征选择器用于从深度神经网络学习模型输出的所有特征图,选择拼接为一张输出特征图。

将训练集L1中的训练图片经深度神经网络学习模型处理后得到的输出特征图组成集合X,其中图片集为X=(X

所述指纹稳定特征选择器从像素点集P中选出取值更趋稳定的像素点集P'具体是:

a)根据公式(4)获得特征图X

b)继续遍历i、j,选择一个新的像素点位置,返回步骤a);直至i=n1,j=m1时迭代结束,将队列中存放的所有像素位置对应的像素点组成像素点集P';

其中

5-2构造指纹生物密钥稳定器M2,其输入为指纹稳定特征提取器M1输出的指纹图像7,输出为指纹生物特征序列L2;

指纹生物密钥稳定器M2以现有成熟的具备编码-解码(Encode-Decode)以及跳跃连接(Skip Connection)结构特点的Unet网络模型为基础,模型的基本构造为多层编码-解码模块的堆叠,编码采用卷积加下采样操作,解码采用上采样加卷积操作;

作为优选,Unet网络的跳跃连接处嵌入神经连接控制(Neural connectioncontrol,NCC)结构,如图5所示;

NCC将流经该网络的原始数据的特征保留;保留的原始数据特征信息将参与到解码运算中。

NCC采用h层(h一般取1~3)神经元连接网络结构构成,原始数据作为NCC结构的输入数据,作为第一层神经元的输入,第一层神经元的输出作为连接到的下一层神经元的输入,最后一层神经元的输出为NCC结构的输出,即保留的特征信息。

单层神经元的计算过程如下:

Z

其中,i表示当前层为第i层神经连接网络,若i为1,则Z

Unet网络处理后的输出为指纹生物特征序列L2。

5-3构造指纹生物密钥提取器M3,其输入为指纹生物密钥稳定器M2输出的指纹生物特征序列L2,输出为指纹生物密钥;

经过指纹特征稳定器M2处理后的序列向量L2一般依然有一定数量的数值是不稳定的,用指纹密钥提取器M3提取稳定的指纹密钥序列。M3的构造可以使用领域内通用的模糊提取器提取指纹生物密钥。也可以采用Shamir门限秘密共享方法进行密钥的模糊提取,具体方法为:

生成阶段:设定参数n,t1,bx,其中参数n表示从序列向量中选取的子序列的个数,bx表示选取的子序列的长度,子序列为连续的数字序列;参数t1表示阈值,当有t1个子序列成功匹配时即可准确提取出密钥。

(1)构造一个多项式,使Output与多项式常数项a

F(x)=a

其中p为素数,系数a

(2)从训练阶段的指纹密钥稳定器M2处理后的序列向量L2中取n块比特长为bx的子序列M

M

提取阶段:

当x=0时F(0)=a

指纹生物密钥训练过程完成。

指纹生物密钥提取部分由:指纹生物特征预处理、指纹稳定特征提取、指纹生物密钥稳定、指纹生物密钥提取4部分顺次连接组成。具体步骤为:

步骤(1)、对指纹进行采样,获得指纹灰度图像,统一缩放到某一固定像素大小,记为指纹图像1a。

步骤(2)、对指纹图像1a进行第1阶段预处理,获得指纹图像2a;其中第1阶段预处理包括均衡、收敛、增强、去噪、二值化、细化等。

步骤(3)、对指纹图像1a、2a进行第2阶段预处理,盲对齐操作,获得指纹图像3a、4a。指纹盲对齐操作与训练阶段步骤(3)相同。

步骤(4)、对指纹图像3a、4a进行第3阶段预处理,即特征扩展操作,获得指纹图像6a;具体操作步骤与训练阶段步骤(4)相同。

步骤(5)、用指纹深度神经网络处理指纹图像6a,生成指纹生物密钥。

本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明,而并非作为对本发明的限定,只要在本发明的实质范围内,对以上实施例的变化、变型都将落在本发明的保护范围。

相关技术
  • 一种基于深度神经网络编码的指纹生物密钥生成方法
  • 一种基于深度神经网络编码的自然语言语义密钥生成方法
技术分类

06120113083137