法律状态公告日
法律状态信息
法律状态
2014-07-09
授权
授权
2012-07-18
实质审查的生效 IPC(主分类):H04L9/08 申请日:20111102
实质审查的生效
2012-06-20
公开
公开
技术领域
本发明属于模式识别和密码学技术领域领域,具体涉及一种基于指纹特征数据与匹配算法的新型模糊金库方法。
背景技术
2002年Juels和Sudan在其论文“A Fuzzy Vault Scheme”首次提出了模糊金库的方案,但还存在许多阐述不清楚的问题,2003年,Clancy等在Juels和Sudan工作的基础上提出了指纹模糊金库的概念,该方案与Juels等人的最初方案一样,其存在的最大缺点是假设指纹图像都已经预先校准过,但实际情况是不可能预先得到查询指纹图像进行配准。2005年Uludag等人提出了更加实用化的模糊金库算法,其中最重要的思想是使用了从注册指纹图像中提取的Helper Data,在加密域中对查询指纹图像进行配准。同年Yongwha等人提出的应用于指纹模糊金库的特征点自动校准方案,其应用的几何哈希技术很好地解决了指纹图像的自动校准问题,且同时保护了密钥和指纹模板的安全。近几年来出现的基于模糊金库的指纹模板和密钥的保护方法,大多还停留在理论论证阶段,也缺少必要的真实可靠的实验条件。
与本发明相关的公开的相关的公开文献:
田捷,杨鑫. 生物特征识别理论与应用[M]. 北京:清华大学出版社,2009:371-406;
李昊,傅曦. 精通Visual C++指纹模式识别系统算法及实现[M].北京:北京人民邮电出版社,2008:64-67;
Ari Jules,Madhu Sudan. A Fuzzy Vault Scheme. Proc IEEE Int Symp Information Theory,2002:408;
T. C. Clancy,N. Kiyavash, D. J. Lin. Secure smartcard-based fingerprint authentication. In Proc. ACM SIGMM Multimedia, Biometrics Methods and Applications Workshop,2003:45-52;
U. Uludag,S. Pankanti,A. Jain. Fuzzy vault for fingerprints. In Proc. AVBPA 2005.5. International Conference on Audio- and Video-Based Biometric Person Authentication,2005:310-319;
U. Uludag,Anil Jain. Securing Fingerprint Template: Fuzzy Vault with Helper Data. Proceedings of the 2006 Conference on Computer Vision and Pattern Recognition Workshop (CVPRW′06);
Yongwha Chung,Daesung Moon,Sungju Lee,et al. Automatic Alignment of fingerprint Features for Fuzzy Fingerprint Vault,CISC 2005,LNCS 3822,2005:358-369。
发明内容
在真实可靠的实验条件下,本发明提供了一套实用化的基于指纹特征数据与匹配算法的新型模糊金库方法。这是目前国内最具实用性的一套既不泄露用户指纹特征信息的情况下,又能安全保护其密钥(或秘密信息)的解决方案。
一种基于指纹特征数据与匹配算法的新型模糊金库方法包括随机密钥的上锁过程和随机密钥的解锁过程;
所述的随机密钥的上锁过程具体如下:
步骤1.由系统产生一个长度为128bit随机密钥作为系统的启动,将该长度为128bit的随机密钥每隔16位作为多项式的一个系数,依次赋值为1次项至8次项系数,生成一个8次多项式 ,而该多项式的常数项是由CRC校验码组成;将密钥和该多项式关联起来,并加入了CRC校验码,该CRC校验码的生成多项式选用了 CRC16_IBM: 。
步骤2. 输入一幅指纹图像,并对这幅指纹图像进行如下操作:
对该指纹图像进行分割操作,方向场和梯度的计算,均衡,收敛,平滑,增强,二值化,细化操作,得到一幅清晰的保持了指纹特征信息二值图像;然后提取该图像中的所有细节点,并过滤和去除其中的伪细节点,保留原始图像的真实细节点,得到真实细节点所在纹线的方向角,每个真实细节点的特征信息可以标记为。
步骤3.针对采集得到的256×288的指纹图像进行操作,的坐标范围为0~287;对的坐标进行量化操作,每个值都除以8,量化到0~35,分别用6个bit来表示;的范围0~359,值除以22.5,量化到0~15,共4bit;从而一个指纹细节点的特征信息共需要16bit来表示。
步骤4.从输入指纹图像中可得到了个细节点特征的集合,并且每个细节点特征信息都用16bit来表示,然后使用均匀分布的方式随机添加杂凑点,即在整个指纹图像有效区域内,让杂凑点符合均匀分布的规律且杂凑点到真实细节点的距离和方差都加以限制,杂凑点经过与真实细节点同样的量化过程,使得后续过滤杂凑点的步骤变得有效而简单。
步骤5.设添加得到的个杂凑点集合,最后形成了个点的集合,并将这样形成的点集合中的顺序置乱。
步骤6. 对集合运用几何哈希技术生成一个注册哈希表,具体如下:
步骤6-1. 从集合中选择第一个点作为基准点,记,其它点可以依次记为。
步骤6-2. 进行细节点的变换和量化过程,在选择了作为基准点以后,其它点将根据它进行校准过程,其变换公式为:
分别表示当以为基准点的情况下,点变换后的横坐标,纵坐标和脊线方向角值;这里集合代表以为基准点时的变换特征点的集合;然后对这个集合中的每一点进行如下量化过程:
这里形成的点是量化后的结果,其中坐标值和角度的量化参数和的选择与注册阶段提取的细节点坐标值的范围和验证阶段系统要达到的精度有关,此时形成的集合,即是当以为基准点时,其它各点形成的注册哈希表中的其中一组值。
步骤6-3.其它各组注册哈希表的生成过程,只需重复步骤6-1和步骤6-2,直到所有其它的点依次作为基准点为止,其它各组的注册哈希表可分别可以记为,最后形成完整的注册哈希表。
步骤7. 用集合中的每一个含有16bit信息的点作为横坐标代入多项式中,得到一个纵坐标的值;遍历集合中的所有点,生成一个包含个点对的集合,记作集合,即为生成的模糊金库;至此上锁过程完成,系统保存的数据为一个完整的注册哈希表数据和模糊金库,其中保存注册哈希表的目的是校准注册指纹图像和查询指纹图像的细节点特征信息。
所述的随机密钥的解锁过程具体如下:
步骤A.首先由用户输入查询指纹图像进行验证,然后对该输入的查询指纹图像进行分割操作,方向场和梯度的计算,均衡,收敛,平滑,增强,二值化,细化操作得到一幅清晰的保持了指纹特征信息二值图像;然后提取该图像中的所有细节点,并过滤和去除其中的伪细节点,提取得到个真实细节点,该集合也必须经过特征量化的过程,保证每个点的信息为16bit,并且假设该个细节点都是从查询指纹图像中提取得到的真实细节点。
步骤B.从中任意选择一个细节点作为基准点,用几何哈希技术生成含有个元素的一组验证哈希表,将它与保存在系统中的注册哈希表中的组数据进行比对;将匹配数目最多的一组数据作为候选的真实细节点集合;设经过匹配算法,比对得到的候选真实细节点的集合为,如果匹配的数目小于9,必须重新选择基准点,并在计算得到了一组新哈希值后,再重新进行匹配获取候选真实细节点的过程,如果遍历中的每一个点,还是无法从组哈希值中获取一组匹配数目大于9的数据,则验证失败。
步骤C.从集合中任意选择9个细节点特征数据,结合模糊金库中的点对进行多项式重构,运用拉格朗日插值重构8次多项式
其中为从中选出的其中9个候选真实细节点信息,为储存在模糊金库中的点对值的纵坐标,如果CRC校验成功后,展开上述的拉格朗日多项式得到的系数就能恢复原始密钥。
模糊金库方案作为生物特征加密领域一种经典方法,大多数方案中没有解决注册指纹和查询指纹中的细节点的校准问题。本发明的特点是利用了几何哈希技术产生一个几何哈希表和模糊金库同时保存,虽增加了一定的存储负担,但很好地解决了指纹细节点特征的校准问题,同时有效地保护了指纹模板和密钥的安全,使该方法具有更好的实用性。
附图说明
图1是上锁过程的流程图;
图2是解锁过程的流程图;
图3是进行试验的指纹数据库中的部分指纹图像;
图4是注册指纹图像中提取的细节点图;
图5是加入杂凑点后的细节点图;
图6是查询指纹图像中提取的细节点图;
图7是查询指纹图像和注册指纹图像匹配得到的候选细节点图。
具体实施方式
以下结合附图对本发明作进一步说明。
1. 系统上锁 (Locking) 过程的详细过程:
1.1. 如图1所示,由系统产生一个长度为128bit随机密钥作为系统的启动,将该长度为128bit的随机密钥每隔16位作为多项式的一个系数,依次赋值为1次项至8次项系数,生成一个8次多项式,而该多项式的常数项是由CRC校验码组成。这样我们就将密钥和该多项式关联起来,并加入了CRC校验码。该CRC校验码的生成多项式选用了 CRC16_IBM: 。
1.2. 输入一幅指纹图像 (图3是指纹数据库中的部分图像),并对这幅指纹图像进行如下操作:
对该指纹图像进行分割操作,方向场和梯度的计算,均衡,收敛,平滑,增强,二值化,细化等一系列预处理操作得到一幅清晰的保持了指纹特征信息二值图像。然后提取该图像中的所有细节点,并过滤和去除其中的伪细节点,保留原始图像的真实细节点,如图4所示,并得到这些细节点所在纹线的方向角。这里每个细节点的特征信息可以标记为。
1.3. 由于输入的模板指纹图像的尺寸和传感器分辨率等其它因素的限制,这里我们针对采集得到的256×288的指纹图像进行操作,的坐标范围为0~287。对它们进行量化操作,每个值都除以8,量化到0~35,分别用6个bit来表示;的范围0~359,值除以22.5,量化到0~15,共4bit。因此这里一个指纹细节点的特征信息共需要16bit来表示,这个过程就是特征量化。
1.4. 此时,我们已从输入指纹图像中得到了个细节点特征的集合,并且每个细节点特征信息都用16bit来表示。接着为了隐藏这些真实的细节点信息,我们将添加杂凑点信息。这里杂凑点的添加有一定的策略。目前国内外的研究只是说添加个杂凑点,其中(为真实的细节点的个数),但是并没有说明如何添加杂凑点,只说明杂凑点是随机的,一种极端的情况就是添加的个杂凑点刚好在图像上某个很小的区间内,这样攻击者就很容易区分真实细节点与杂凑点。本算法使用均匀分布的方式随机添加杂凑点,即在整个指纹图像有效区域内,让杂凑点符合均匀分布的规律,如图5所示,且杂凑点到真实细节点的距离和方差都加以限制,且经过与真实细节点同样的量化过程,使得后续过滤杂凑点的步骤变得有效而简单。
1.5. 这里设添加得到的个杂凑点集合,最后形成了个点的集合,并将这样形成的点集合中的顺序置乱。
1.6. 接下来的步骤就是要将对集合运用几何哈希技术生成一个注册哈希表的过程:
第一步, 从集合中选择第一个点作为基准点,记,其它点可以依次记为。
第二步, 进行细节点的变换和量化过程,在选择了作为基准点以后,其它点将根据它进行校准过程,其变换公式为
分别表示当以为基准点的情况下,点变换后的横坐标,纵坐标和脊线方向角值。这里集合代表以为基准点时的变换特征点的集合。然后对这个集合中的每一点进行如下量化过程:
这里形成的点是量化后的结果,其中坐标值和角度的量化参数和的选择与注册阶段提取的细节点坐标值的范围和验证阶段系统要达到的精度有关,此时形成的集合,即是当以为基准点时,其它各点形成的注册哈希表中的其中一组值,特别需要指出的是基准点也应该当成该组注册哈希表的成员加入。
第三步,该步骤是其它各组注册哈希表的生成过程,只需重复第一步和第二步,直到所有其它的点依次作为基准点为止,其它各组的注册哈希表可分别可以记为,最后形成完整的注册哈希表。
1.7. 用集合中的每一个含有16bit信息的点作为横坐标代入1.1中产生的多项式中,得到一个纵坐标的值。遍历集合中的所有点,生成一个包含个点对的集合,记作集合,即为生成的模糊金库。至此上锁过程完成,系统保存的数据为一个完整的注册哈希表数据和模糊金库,其中保存注册哈希表的目的是校准注册指纹图像和查询指纹图像的细节点特征信息。
2. 解锁(Unlocking)过程的具体步骤:
2.1. 如图2所示,系统首先要求用户输入查询指纹图像进行验证,然后对该输入的查询指纹图像进行分割操作,方向场和梯度的计算,均衡,收敛,平滑,增强,二值化,细化等一系列预处理操作得到一幅清晰的保持了指纹特征信息二值图像。然后提取该图像中的所有细节点,并过滤和去除其中的伪细节点,提取得到个真实细节点,如图6所示。该集合也必须经过特征量化的过程,保证每个点的信息为16bit,并且假设该个细节点都是从查询指纹图像中提取得到的真实细节点。
2.2. 我们从中任意选择一个细节点作为基准点,用1.6中的几何哈希技术生成含有个元素的一组验证哈希表,将它与保存在系统中的注册哈希表中的组数据进行比对。将匹配数目最多的一组数据作为候选的真实细节点集合。设经过匹配算法,比对得到的候选真实细节点的集合为(这里的匹配数目)。如图7表示查询指纹图像和注册指纹图像匹配得到的候选细节点图。如果匹配的数目小于9,必须重新选择基准点,并在计算得到了一组新哈希值后,再重新进行匹配获取候选真实细节点的过程。如果遍历中的每一个点,还是无法从组哈希值中获取一组匹配数目大于9的数据,则验证失败。
2.3. 从集合中任意选择9个细节点特征数据,结合模糊金库中的点对进行多项式重构,运用拉格朗日插值重构8次多项式
其中为从中选出的其中9个候选真实细节点信息,为储存在模糊金库中的点对值的纵坐标。如果CRC校验成功后,展开上述的拉格朗日多项式得到的系数就能恢复原始密钥。
机译: 一种基于点匹配算法的指纹模板合成和指纹糊化的方法
机译: 一种基于点匹配算法的指纹模板合成和指纹糊化的方法
机译: 基于点匹配算法的指纹模板合成和指纹糊化的方法