CN104104501A - 一种基于指纹特征与有限乘法群的共享模糊金库方法 - Google Patents

一种基于指纹特征与有限乘法群的共享模糊金库方法 Download PDF

Info

Publication number
CN104104501A
CN104104501A CN201410323824.2A CN201410323824A CN104104501A CN 104104501 A CN104104501 A CN 104104501A CN 201410323824 A CN201410323824 A CN 201410323824A CN 104104501 A CN104104501 A CN 104104501A
Authority
CN
China
Prior art keywords
user
point
fingerprint
shared
fuzzy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410323824.2A
Other languages
English (en)
Inventor
游林
陈宇磊
王毓娜
张欢欢
邓颀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201410323824.2A priority Critical patent/CN104104501A/zh
Publication of CN104104501A publication Critical patent/CN104104501A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Collating Specific Patterns (AREA)

Abstract

本发明涉及一种基于指纹特征与有限乘法群的共享模糊金库方法。现有方法存在双方需要存储不同的模糊金库的问题。本发明中的共享信息产生阶段:通过变换双方指纹信息,利用指定交换方法得到共享信息。共享密钥绑定阶段:指纹信息变换后交换产生的共享信息与经Diffie-Hellman密钥交换协议产生的共享密绑定产生共享迷糊金库。共享密钥释放阶段:通过变换双方指纹信息再次构造出共享信息,解锁模糊金库,恢复出共享密钥。本发明利用指纹模糊金库算法保护共享秘钥的同时,将模糊金库减少到一个,并只有通过验证的双方才能将绑定在共享指纹模糊金库中的共享秘钥释放,使本发明具有更好的安全性。

Description

一种基于指纹特征与有限乘法群的共享模糊金库方法
技术领域
本发明属于模式识别和密码学技术领域,具体涉及有限乘法群上Diffie-Hellman密钥交换方案与自动对齐的共享指纹模糊金库方案。
背景技术
Diffie-Hellman密钥交换方案是一种密钥协议。Diffie-Hellman密钥交换方案是一种建立共享密钥的方法,而不是加密方法。然而,Diffie-Hellman密钥交换方案交换技术允许双方在没有对方的先验知识的情况下,共同建立了一个可以用于加密、进一步的密钥管理或其他的加密方式的共享秘密密钥。安全地存储密钥是最重要的步骤之一。一般,密钥被存储在用户的计算机、智能卡或其他媒介中。虽然这些媒介都可以通过设置用户口令保护媒介中的密钥,但用户的口令可以被穷举搜索攻击获得。存储媒介有丢失或被盗风险。
在2002年A.Juels和M.Sudan提出了“A Fuzzy Vault Scheme”。在她们提出的模糊金库算法中,将用户唯一的集合A混合用户的密钥进入基于Reed-Solomn的金库中。用户可以利用与集合A有绝大多数元素相同的集合B恢复出密钥。在2005年Yongwha Chung等人提出了“AutomaticAlignment of fingerprint Features for Fuzzy Fingerprint Vault”,在他提出的方案中,利用几何哈希技术对指纹特征进行自动校准。
基于Yongwha Chung等人的自动对齐的指纹模糊金库方案的思想,模糊金库方案可以用于保护共享密钥。此时密钥交换新型方法的密钥安全是基于离散对数问题的难解性及用户生物特征未泄露。
发明内容
在真实可靠的实验条件下,本发明提供了一套实用化的一种基于指纹特征与有限乘法群上密钥交换协议的共享模糊金库方法。
一种基于指纹特征与有限乘法群上密钥交换协议的共享模糊金库方法包括构造出共享信息,并利用共享信息绑定共享密钥生成一个共享指纹模糊金库阶段和共享指纹模糊金库释放阶段。
1.所述的一种新的方式来交换两个用户的相关信息,构造共享信息,并利用共享信息绑定共享密钥得到共享指纹模糊金库阶段具体如下:
1.1.假设用户A和用户B利用Diffie-Hellman密钥交换产生共享密钥,具体做法如下(以下所有操作都是在有限乘法群上进行的,g为G中的生成元;表示伽罗瓦域,p为大素数):
1.1.1.用户A秘密选定随机自然数a∈G,计算α=ga mod p;将α发给用户B。
1.1.2.用户B秘密选定随机自然数b∈G,计算β=gb mod p;将β发给用户A。
1.1.3.用户A计算(gb)a mod p,然后清除a。
1.1.4.用户B计算(ga)b mod p,然后清除b。
1.1.5.用户A和用户B得到的共享密钥k=H(gab mod p),其中H(·)是一个哈希函数其输出长度固定为128比特,即共享密钥k长度为128比特。
由于a和b是保密的,所以即使攻击者知道了p,g,α,β,也很难获得用户A和用户B的共享密钥k。
1.2.用户A和用户B利用共享密钥k构造多项式P(x),首先使用CRC循环冗余校验码为k添加16比特作为校验码得到kCRC,然后将kCRC等分为9段作为多项式P(x)的9个系数,每段长度为16比特。
这里多项式P(x)的结构为:P(x)=a8x8+a7x7+…+a1x+a0mod(p′),并且该多项式在有限乘法群中运算,即p′=65537,保证每个系数可以用16位二进制数表示而不会产生溢出。
1.3用户A和用户B分别提取各自的指纹特征FA=(xAi,yAiAi,tAi)和FB=(xBj,yBjBj,tBj),其中i=1,...,s1、j=1,...,s2;x,y,θ,t分别表示指纹细节点的平面坐标,方向和特征类型,其中特征类型为端点或叉点;s1为用户一真实细节点的个数,s2为用户二真实细节点的个数;i的取值范围为1到s1的自然数,j的取值范围为1到s2的自然数;有角标A的字符表示用户A的数据,有角标B的字符表示用户B的数据(下同)。同时,用户A和用户B输入个人的注册用户名,分别记作User1,User2
1.4.分别令uAi=[xAi||yAi],uBj=[xBj||yBj]。记集合GA={aAi=(uAiAi,tAi)|i=1,...,s1},GB={aBj=(uBjBj,tBj)|j=1,...,s2}。用户A和用户B通过信息的交换分别构造共享信息点真实点集合
1.5.同时,用户A和用户B各自分别添加rA-s1·s2和rB-s1·s2个随机数作为杂凑点,rA-s1·s2和rB-s1·s2远远大于s1·s2,其集合记为
QA,chaff={(ck,dk,ek,tk)|ck,dk,ek,tk∈Fpdk≠P(ck),(ck,ek)≠(uAA),k=s1·s2+1,…,rA}。
1.6.最后我们将得到的用户A的包括真实点和杂凑点在内的所有细节点集合RA=QR∪QA,chaff与用户B的包括真实点和杂凑点在内的所有细节点集合RB=QR∪QB,chaff做合并,即令RAB=RA∪(RB\R)。
1.7.用户A和用户B得到了共享的模糊金库VAB={RAB,(p′,g,n)}。
1.8.用户A对集合FA运用几何哈希技术生成一个注册哈希表,具体实现方法如下:
1.8.1.集合FA中的第一个点作为基准点,记为其它点依次记为
1.8.2.对指纹细节点进行变换和量化。在M0被选作基准点以后,其它点将根据M0进行校准操作,其变换公式为:
TR M i 1 ( 0 ) = TR x i 1 A ( 0 ) TR y i 1 A ( 0 ) TR θ i 1 A ( 0 ) TR t i 1 A ( 0 ) = cos ( θ 0 A ) sin ( θ 0 A ) 0 0 - sin ( θ 0 A ) cos ( θ 0 A ) 0 0 0 0 1 0 0 0 0 1 x i 1 A - x 0 A y i 1 A - y 0 A θ i 1 A - θ 0 A t i 1 A , 1 ≤ i 1 ≤ s 1 - 1
变换后的横坐标,纵坐标,脊线方向角值和类型记作 TR M i 1 ( 0 ) = ( TR x i 1 A ( 0 ) , TR y i 1 A ( 0 ) , TR θ i 1 A ( 0 ) , TE t i 1 A ( 0 ) ) ; 以M0为基准点时的变换特征点的集合然后对集合T0中的每一点进行如下量化:
这里形成的点是量化后的结果,其中坐标值和角度的量化参数λ和μ的选择与注册阶段提取的细节点坐标值范围和验证阶段系统要达到的精度有关,此时形成的集合 E H 0 = M 0 ∪ { M i 1 ( 0 ) = ( x i 1 A ( 0 ) , y i 1 A ( 0 ) , θ i 1 A ( 0 ) , t i 1 A ( 0 ) ) } , 即是当以M0为基准点时,其他各点形成的注册哈希表中的其中一组值。
1.8.3.其它各组注册哈希表的生成过程,只需重复1.8.1和1.8.2,直到所有其它的点依次作为基准点为止,其它各组的哈希值可以记为最后形成完整的注册哈希表 E H A = E H 0 ∪ E H 1 ∪ . . . ∪ E H s 1 - 1 .
1.9.用户B重复用户A在1.8.中所做的工作,得到用户B的注册哈希表
至此密钥绑定过程完成,系统保存的数据为用户A和用户B的完整的注册哈希表数据一个用户A和用户B共享的模糊金库VAB={RAB,(p′,g,n)}。其中保存注册哈希表的目的是校准注册指纹图像和查询指纹图像的细节点特征信息。
2.共享指纹模糊金库释放阶段,假设用户A想恢复共享密钥k,他将做如下工作:
2.1.用户A输入个人的查询用户名记作User,判断User是否为User1,若用户名正确则寻找与User1相对应的注册哈希表若不正确则向用户提示错误,并要求重新输入,直至用户名正确。否则一直停滞在此,不进行其它操作。
2.2.用户A的查询指纹图像中每个细节点的平面坐标和方向角均线性映射到[0,255],分别用8比特表示。真实细节点集合F′A={(x′Ai,y′Ai,θ′Ai,t′Ai)|i=1,...,s′1},其中x′,y′,θ′,t′分别表示查询指纹细节点的平面坐标,方向和类型。
2.3.从F′A中任意选取一个细节点作为基准点,用注册时使用的几何哈希技术生成含有s′1个元素的一组验证哈希表,将它与保存在系统中的注册哈希表中的s1组数据进行对比;将注册哈希表中匹配数目最多的一组数据中的基准点添加到候选的真实细节点集合Q′A,其中0≤basis_j≤s′1,重新选择基准点,并在计算得到了一组新哈希值后,在重新进行匹配,直至遍历选取F′A中所有细节点作为基准点;如果如果真实细节点集合Q′A的个数,即|Q′A|小于9,则无法从s′1组哈希值中获取一组匹配数目大于9的数据,此次验证失败,并要求用户重新输入指纹图像;当用户被要求输入指纹图像的次数超过3次,则告知用户验证失败,中止密钥恢复。
2.4.经过2.3用户A得到真实的指纹细节点集合记作 Q A ′ = { ( x w A , y w A , θ w A , t w A ) | w = 1 , . . . , | Q A ′ | } , u w A = x w A | | y w A , w = 1 , . . . , | Q A ′ | , 得到向用户B发送释放共享密钥的请求,请求用户B发送向其发送用户B的真实细节点信息。
2.5.用户B重复用户A在2.2、2.3与2.4的工作,验证指纹通过,得到 Q B ′ = { ( x w B , y w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } , Q B ′ ′ = { ( u w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } , 其中Q′B为用户B的真实细节点集合,Q′B为用户B串接后用于多项式计算真实细节点集合,|Q′B|为用户B真实细节点的个数。在收到释放请求后,验证是否是合法的合作用户A,不是则不发送消息;是则在集合Q″B中随机选取一个元素计算并将β′1发送给用户A。
2.6.用户A收到B发送的β′1后,做如下工作:计算
2.7.将集合VA与RAB相匹配,设经过匹配算法,比对得到的候选真实细节点的集合为(这里的匹配数目l≥9),最后运用牛顿插值法重构8次多项式P(x)得到包含CRC校验码的共享密钥,并通过CRC循环冗余校验码验证共享秘钥的正确性。
2.8.用户B也可以通过相同的步骤恢复共享密钥。
本发明利用指纹模糊金库算法保护共享秘钥的同时,将模糊金库减少到一个,只有通过验证的双方才能将绑定在共享指纹模糊金库中的共享秘钥释放出来,使本发明具有更好的安全性;本发明中共享密钥释放阶段,通过验证的一方向另一方发起释放密钥请求,对方在收到请求后,随机从指定参数集中选取一个参数发送,使本发明具有较好抵抗仿冒攻击的性能,同时也提高了本发明的实用性。
附图说明
图1是共享密钥绑定过程的流程图;
图2是共享密钥释放过程的流程图;
图3是进行试验的指纹数据库中的部分指纹图像;
图4是注册指纹图像中提取的细节点图;
图5是加入杂凑点后的细节点图;
图6是查询指纹图像中提取的细节点图;
图7是查询指纹图像和注册指纹图像匹配得到的候选细节点图。
具体实施方式
以下结合附图对本发明作进一步说明。
1.共享指纹模糊金库绑定共享密钥的详细过程如下:
1.1.如图1所示,用户一Alice与用户二Bob共同选定一个大素数p,并选定g为乘法群中的一个生成元。Alice秘密选定一个整数a:2≤a≤p-1,并计算ga mod p,发送给Bob。Bob秘密选定一个整数b:2≤b≤p-1,并计算gb mod p,发送给Alice。假设Alice和Bob要生成一个128比特的共享密钥。因为(ga)b=gab=(gb)a,故Alice和Bob可以分别通过计算H((gb)a mod p)和H((ga)b mod p)得到共享密钥k。其中选定H(·)为生成一个128比特的哈希函数。同时,Alice和Bob分别输入个人的注册用户名,分别记作User1,User2
1.2.由上一步已经得到一个长度为128比特的共享密钥k,将k每隔16位作为多项式的一个系数,依次赋值为1次项至8次项的系数,生成一个8次多项式P(x)如下:
P(x)=a8x8+a7x7+...+a1x+a0mod(p′)
其中常数项a0是由CRC-16(a8||a7||...||a1)生成,符号“||”表示二进制数串联。这样就将密钥和P(x)联系起来,并加入了CRC校验码。CRC-16(·)是指16位循环冗余校验码。这里该CRC校验码的生成多项式选用了CRC16_IBM:x16+x15+x2+1。
1.3.Alice输入一幅指纹图像(图3是指纹数据库中的部分图像),对这幅指纹图像作如下操作:
对该指纹图像进行分割,方向场和梯度计算,均衡,收敛,平滑,增强,二值化,细化等一系列预处理操作,得到一幅清晰的保持了指纹特征信息的二值图像。然后提取该图像中的所有细节点,并过滤和去除其中的伪细节点,保留原始图像的真实点信息,如图4所示,并得到这些细节点所在纹线的方向角。这里每个细节点的特征信息可以标记为(x,y,θ,t),其中x,y,θ,t分别表示指纹平面横纵坐标,方向和特征类型。t=0表示指纹特征类型为端点,t=1表示为叉点。
1.4.Alice将指纹每个细节点的平面坐标和方向角均线性映射到[0,255],分别用8比特表示。将这些细节点集合记作FA={aAi=(xAi,yAiAi,tAi)|i=1,...,s1}。把每个细节点的平面坐标xAi,yAi串联起来构成一个16比特的数记作uAi=[xAi||yAi],记集合F′A={a′Ai=(uAiAi,tAi)|i=1,...,s1}。再对集合中的每个元素aAi中的uAiAi分别进行底数为g的幂运算,结果记为最后得到集合并将该集合发送给B。
1.5.Bob重复Alice在1.3.和1.4.中所做的工作,得到集合并将该集合发送给Alice。
1.6.Alice在接收到集合后,对j∈{1,...,s2}中每个j计算其中i=1,...,s1;定义运算
其中tBi∧tAi是tBi和tAi的逻辑与运算。再计算可得真实点集合
1.7.添加rA-s1·s2个随机数作为杂凑点(如图5),rA-s1·s2远远大于s1·s2,其中随机数必须满足真实点元组中的对应元素的距离大于阈值γ的条件,这里γ=4。其集合记为
Q A , chaff = { ( c k , d k , e k , t k ) | c k , d k , e k ∈ F p , d k ≠ P ( c k ) , ( c k , e k ) ≠ ( g u Bi u Ai , g θ Bi θ Ai ) , k = s 1 · s 2 + 1 , . . . , r A } 。于是得到Alice的包括真实点和杂凑点在内的所有细节点集合RA=QA∪QA,chaff,并将RA发送给Bob。
1.8.Bob重复Alice在1.6.和1.7.中所做的工作后,同样得到Bob的所有细节点集合RB=QB∪QB,chaff,并将RB发送给Alice。
1.9.由1.6.中的易得αj,i=βi,j,即Alice与Bob的真实点集合相等,即Q=QA=QB,记RAB=(RA∪RB)\Q。Alice和Bob得到一个共享的模糊金库VAB={RAB,(p′,g,n)}。
1.10.对Alice的集合FA运用几何哈希技术生成一个注册哈希表,具体实现方法如下:
1.10.1.集合FA中的第一个点作为基准点,记为其它点依次记为
1.10.2.对指纹细节点进行变换和量化。在M0被选作基准点以后,其它点将根据M0进行校准操作,其变换公式为:
TR M i 1 ( 0 ) = TR x i 1 A ( 0 ) TR y i 1 A ( 0 ) TR θ i 1 A ( 0 ) TR t i 1 A ( 0 ) = cos ( θ 0 A ) sin ( θ 0 A ) 0 0 - sin ( θ 0 A ) cos ( θ 0 A ) 0 0 0 0 1 0 0 0 0 1 x i 1 A - x 0 A y i 1 A - y 0 A θ i 1 A - θ 0 A t i 1 A , 1 ≤ i 1 ≤ s 1 - 1
变换后的横坐标,纵坐标,脊线方向角值和类型记作 TR M i 1 ( 0 ) = ( TR x i 1 A ( 0 ) , TR y i 1 A ( 0 ) , TR θ i 1 A ( 0 ) , TE t i 1 A ( 0 ) ) ; 以M0为基准点时的变换特征点的集合为然后对集合T0中的每一点进行如下量化:
这里形成的点是量化后的结果,其中坐标值和角度的量化参数λ和μ的选择与注册阶段提取的细节点坐标值范围和验证阶段系统要达到的精度有关,此时形成的集合 E H 0 = M 0 ∪ { M i 1 ( 0 ) = ( x i 1 A ( 0 ) , y i 1 A ( 0 ) , θ i 1 A ( 0 ) , t i 1 A ( 0 ) ) | 1 ≤ i 1 ≤ s 1 - 1 | } , 即是当以M0为基准点时,其他各点形成的注册哈希表中的其中一组值。
1.10.3.其它各组注册哈希表的生成过程,只需重复1.10.1和1.10.2,直到所有其它的点依次作为基准点为止,其它各组的哈希值可以记为最后形成完整的注册哈希表 E H A = E H 0 ∪ E H 1 ∪ . . . ∪ E H s 1 - 1 .
1.11.Bob重复Alice在1.10中所做的工作,得到Bob的注册哈希表
1.12.至此密钥绑定过程完成,系统保存的数据为Alice和Bob的完整的注册哈希表数据一个Alice和Bob共享的模糊金库VAB={RAB,(p′,g,n)}。其中保存注册哈希表的目的是校准注册指纹图像和查询指纹图像的细节点特征信息。
2.共享指纹模糊金库释放共享密钥过程的具体步骤如下:
Alice或Bob任何一人想恢复共享密钥,都可以通过以下过程获得密钥k。如图2所示,假如Alice想恢复共享密钥k,他将做如下工作:
2.1.Alice输入个人的查询用户名记作User,判断User是否为User1,若用户名正确则寻找与User1相对应的注册哈希表若不正确则向用户提示错误,并要求重新输入,直至用户名正确。否则一直停滞在此,不进行其它操作。
2.2.首先Alice输入查询指纹图像。然后对该输入的查询指纹图像进行分割操作,方向场和梯度计算,均衡,收敛,平滑,增强,二值化,细化等一系列预处理操作,得到一幅清晰的保持了指纹特征信息的二值图像。然后提取这幅图像中的所有细节点,并过滤和去除其中的伪细节点,提取得到s′1个真实细节点,如图6所示。Alice的查询指纹图像指纹每个细节点的平面坐标和方向角均线性映射到[0,255],分别用8比特表示。真实细节点集合F′A={(x′Ai,y′Ai,θ′Ai,t′Ai)|i=1,...,s′1},其中x′,y',θ',t'分别表示查询指纹细节点的平面坐标,方向和类型。
2.3.从F′A中任意选着一个细节点作为基准点,用注册时使用的几何哈希技术生成含有s′1个元素的一组验证哈希表,将它与保存在系统中的注册哈希表中的s1组数据进行对比;将注册哈希表中匹配数目最多的一组数据中的基准点(xA basis-j,yA basis-jA basis-j,tA basis-j)添加到候选的真实细节点集合Q′A,其中0≤basis_j≤s′1;重新选择基准点,并在计算得到了一组新哈希值后,再重新进行匹配;直至遍历选取F′A中所有细节点作为基准点;如果真实细节点集合Q′A的个数,即|Q′A|小于9,即无法从s组哈希值中获取一组匹配数目大于9的数据,此次验证失败,并要求用户重新输入指纹图像;当用户被要求输入指纹图像的次数超过3次,则告知用户验证失败,中止密钥恢复。
2.4.经过2.3用户A得到真实的指纹特征点集合 Q A ′ = { ( x w A , y w A , θ w A , t w A ) | w = 1 , . . . , | Q A ′ | } , u w A = x w A | | y w A , w = 1 , . . . , | Q A ′ | , 得到同时用户A向用户B发送释放共享密钥的请求。
2.5.用户B重复用户A在2.2,2.3与2.4的工作,验证指纹通过,得到 Q B ′ = { ( x w B , y w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } , Q B ′ ′ = { ( u w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } . 其中Q′B为用户B的真实细节点集合,Q′B为用户B串接后用于多项式计算真实细节点集合,|Q′B|为用户B真实细节点的个数。在收到释放请求后,验证是否是合法的合作用户A,不是则不发送消息;是则在集合Q″B中随机选取一个元素计算并将β′1发送给用户A。
2.6.用户A收到B发送的β′1后,做如下工作:计算
2.7.将集合VA与RAB相匹配,设经过匹配算法,比对得到的候选真实细节点的集合为(这里的匹配数目l≥9)如图7表示查询指纹图像和注册指纹图像匹配得到的候选细节点图。
2.8.从集合中任意选择9个细节点特征数据,运用牛顿插值法重构8次多项式
p ( u ) * = p ( u 0 ′ ) + p [ u 0 ′ , u 1 ′ ] ( u - u 0 ′ ) + . . . + p [ u 0 ′ , u 1 ′ , . . . , u 8 ′ ] ( u - u 0 ′ ) . . . ( u - u 7 ′ ) - - - ( 2 )
其中, p [ u 0 ′ , u 1 ′ , . . . , u i ′ ] = p [ u 0 ′ , u 1 ′ , . . . , u i - 1 ′ ] - p [ u 1 ′ , u 2 ′ , . . . , u i ′ ] u 0 ′ - u i ′ | 1 ≤ i ≤ 8 .
将式(2)重构得到的多项式的高次到低次项的系数分别记作a′8,a′7,...,a′0
2.9.计算CRC-16(a′8||a′7||…||a′1),并判断其是否等于a′0。若相等,则认为可以通过重构的多项式的系数获得Alice的共享密钥的可能值k′;若不等,则恢复密钥失败。
2.10.Bob也可以通过相同的步骤恢复共享密钥。

Claims (1)

1.一种基于指纹特征与有限乘法群的共享模糊金库方法,其特征在于包括两大步:
第一步,利用一种新的方式来交换双方的相关指纹信息,构造共享信息,并利用共享信息绑定共享密钥生成一个共享指纹模糊金库;
第二步,利用双方指纹信息从共享指纹模糊金库中恢复共享密钥;
其中的第一步具体是:
1.1.用户A和用户B利用Diffie-Hellman密钥交换产生共享密钥,以下所有操作都是在有限乘法群上进行的,g为G中的生成元;表示伽罗华域,p为大素数,具体如下:
1.1.1.用户A秘密选定随机自然数a∈G,计算α=ga mod p;将α发给用户B;
1.1.2.用户B秘密选定随机自然数b∈G,计算β=gb mod p;将β发给用户A;
1.1.3.用户A计算(gb)a mod p,然后清除a;
1.1.4.用户B计算(ga)b mod p,然后清除b;
1.1.5.用户A和用户B得到的共享密钥k=H(gab mod p),其中H(·)是一个哈希函数,其输出长度固定为128比特,即共享密钥k长度为128比特;由于a和b是保密的,所以即使攻击者知道了p,g,α,β,也很难获得用户A和用户B的共享密钥k;
1.2.用户A和用户B利用共享密钥k构造多项式P(x),首先使用CRC循环冗余校验码为k添加16比特作为校验码得到kCRC,然后将kCRC等分为9段作为多项式P(x)的9个系数,每段长度为16比特;
这里多项式P(x)的结构为:P(x)=a8x8+a7x7+…+a1x+a0mod(p′),并且该多项式在有限乘法群中运算,即p′=65537,保证每个系数可以用16位二进制数表示而不会产生溢出;
1.3.用户A和用户B分别提取各自的指纹特征FA=(xAi,yAiAi,tAi)和FB=(xBj,yBjBj,tBj),其中i=1,...,s1、j=1,...,s2;x,y,θ,t分别表示指纹细节点的平面坐标,方向和特征类型,其中特征类型为端点或叉点;s1为用户一真实细节点的个数,s2为用户二真实细节点的个数;i的取值范围为1到s1的自然数,j的取值范围为1到s2的自然数;有角标A的字符表示用户A的数据,有角标B的字符表示用户B的数据;同时,用户A和用户B输入个人的注册用户名,分别记作User1,User2
1.4.分别令uAi=[xAi||yAi],uBj=[xBj||yBj];记集合
GA={aAi=(uAiAi,tAi)|i=1,...,s1},GB={aBj=(uBjBj,tBj)|j=1,...,s2};用户A和用户B通过信息的交换分别构造共享信息点真实点集合
1.5.同时,用户A和用户B各自分别添加rA-s1·s2和rB-s1·s2个随机数作为杂凑点,rA-s1·s2和rB-s1·s2远远大于s1·s2,其集合记为
QA,chaff={(ck,dk,ek,tk)|ck,dk,ek,tk∈Fpdk≠P(ck),(ck,ek)≠(uAA),k=s1·s2+1,…,rA};
1.6.最后将得到的用户A的包括真实点和杂凑点在内的所有细节点集合RA=QR∪QA,chaff与用户B的包括真实点和杂凑点在内的所有细节点集合RB=QR∪QB,chaff做合并,即令RAB=RA∪(RB\QR);
1.7.用户A和用户B得到了共享的模糊金库VAB={RAB,(p′,g,n)};
1.8.用户A对集合FA运用几何哈希技术生成一个注册哈希表,具体如下:
1.8.1.集合FA中的第一个点作为基准点,记为其它点依次记为
1.8.2.对指纹细节点进行变换和量化;在M0被选作基准点以后,其它点将根据M0进行校准操作,其变换公式为:
TR M i 1 ( 0 ) = TR x i 1 A ( 0 ) TR y i 1 A ( 0 ) TR θ i 1 A ( 0 ) TR t i 1 A ( 0 ) = cos ( θ 0 A ) sin ( θ 0 A ) 0 0 - sin ( θ 0 A ) cos ( θ 0 A ) 0 0 0 0 1 0 0 0 0 1 x i 1 A - x 0 A y i 1 A - y 0 A θ i 1 A - θ 0 A t i 1 A , 1 ≤ i 1 ≤ s 1 - 1
变换后的横坐标,纵坐标,脊线方向角值和类型记作以M0为基准点时的变换特征点的集合然后对集合T0中的每一点进行如下量化:
这里形成的点是量化后的结果,其中坐标值和角度的量化参数λ和μ的选择与注册阶段提取的细节点坐标值范围和验证阶段系统要达到的精度有关,此时形成的集合 E H 0 = M 0 ∪ { M i 1 ( 0 ) = ( x i 1 A ( 0 ) , y i 1 A ( 0 ) , θ i 1 A ( 0 ) , t i 1 A ( 0 ) ) } , 即是当以M0为基准点时,其他各点形成的注册哈希表中的其中一组值;
1.8.3.其它各组注册哈希表的生成过程,只需重复1.8.1和1.8.2,直到所有其它的点依次作为基准点为止,其它各组的哈希值可以记为最后形成完整的注册哈希表 E H A = E H 0 ∪ E H 1 ∪ . . . ∪ E H s 1 - 1 ;
1.9.用户B重复用户A在步骤1.8中所做的工作,得到用户B的注册哈希表至此密钥绑定过程完成,系统保存的数据为用户A和用户B的完整的注册哈希表数据一个用户A和用户B共享的模糊金库VAB={RAB,(p′,g,n)};其中保存注册哈希表的目的是校准注册指纹图像和查询指纹图像的细节点特征信息;
其中的第二步具体是:用户A与用户B共享一个模糊金库,即需要用户A和用户B合作才能完成模糊金库的解锁过程,取得共享密钥;用户A或用户B无法单独进行模糊金库解锁,即无法单独取得共享密钥;假设用户A想恢复共享密钥,其需要做的工作如下:
2.1.用户A输入个人的查询用户名记作User,判断User是否为User1,若用户名正确则寻找与User1相对应的注册哈希表若不正确则向用户提示错误,并要求重新输入,直至用户名正确;否则一直停滞在此,不进行其它操作;
2.2.用户A的查询指纹图像中每个细节点的平面坐标和方向角均线性映射到[0,255],分别用8比特表示;真实细节点集合F′A={(x′Ai,y′Ai,θ′Ai,t′Ai)|i=1,...,s′1},其中x′,y′,θ′,t′分别表示查询指纹细节点的平面坐标,方向和类型;
2.3.从F′A中任意选取一个细节点作为基准点,用注册时使用的几何哈希技术生成含有s′1个元素的一组验证哈希表,将它与保存在系统中的注册哈希表中的s1组数据进行对比;将注册哈希表中匹配数目最多的一组数据中的基准点添加到候选的真实细节点集合Q′A,其中0≤basis_j≤s′1;重新选择基准点,并在计算得到了一组新哈希值后,再重新进行匹配;直至遍历选取F′A中所有细节点作为基准点;如果真实细节点集合Q′A的个数,即|Q′A|小于9,则无法从s′1组哈希值中获取一组匹配数目大于9的数据,此次验证失败,并要求用户重新输入指纹图像;当用户被要求输入指纹图像的次数超过3次,则告知用户验证失败,中止密钥恢复;
2.4.经过步骤2.3用户A得到真实的指纹细节点集合记作 Q A ′ = { ( x w A , y w A , θ w A , t w A ) | w = 1 , . . . , | Q A ′ | } , u w A = x w A | | y w A , w = 1 , . . . , | Q A ′ | , 得到同时用户A向用户B发送释放共享密钥的请求;
2.5.用户B重复用户A在步骤2.2,2.3与2.4的工作,验证指纹通过,得到 Q B ′ = { ( x w B , y w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } , Q B ′ ′ = { ( u w B , θ w B , t w B ) | w = 1 , . . . , | Q B ′ | } , 其中Q′B为用户B的真实细节点集合,Q′B为用户B串接后用于多项式计算真实细节点集合,|Q′B|为用户B真实细节点的个数;在收到释放请求后,验证是否是合法的合作用户A,不是则不发送消息;是则在集合Q″B中随机选取一个元素计算a∈R{1,...,|Q′B|},并将β′1发送给用户A;
2.6.用户A收到用户B发送的β′1后,计算
2.7.将集合VA与RAB相匹配,设经过匹配算法,比对得到的候选真实细节点的集合为l≥9,最后运用牛顿插值法重构8次多项式P(x)得到包含CRC校验码的共享密钥,并通过CRC循环冗余校验码验证共享秘钥的正确性;
2.8.用户B也可以通过相同的步骤恢复共享密钥。
CN201410323824.2A 2014-07-08 2014-07-08 一种基于指纹特征与有限乘法群的共享模糊金库方法 Pending CN104104501A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410323824.2A CN104104501A (zh) 2014-07-08 2014-07-08 一种基于指纹特征与有限乘法群的共享模糊金库方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410323824.2A CN104104501A (zh) 2014-07-08 2014-07-08 一种基于指纹特征与有限乘法群的共享模糊金库方法

Publications (1)

Publication Number Publication Date
CN104104501A true CN104104501A (zh) 2014-10-15

Family

ID=51672330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410323824.2A Pending CN104104501A (zh) 2014-07-08 2014-07-08 一种基于指纹特征与有限乘法群的共享模糊金库方法

Country Status (1)

Country Link
CN (1) CN104104501A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266500A (zh) * 2019-07-10 2019-09-20 核芯互联科技(青岛)有限公司 一种哈希值的安全加固生成方法及系统
CN117454436A (zh) * 2023-12-22 2024-01-26 北京天润基业科技发展股份有限公司 基于乘法群的数据对齐方法、系统及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIN YOU,ETC: "A Key Sharing Fuzzy Vault Scheme", 《INFORMATION AND COMMUNICATIONS SECURITY》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266500A (zh) * 2019-07-10 2019-09-20 核芯互联科技(青岛)有限公司 一种哈希值的安全加固生成方法及系统
CN117454436A (zh) * 2023-12-22 2024-01-26 北京天润基业科技发展股份有限公司 基于乘法群的数据对齐方法、系统及电子设备
CN117454436B (zh) * 2023-12-22 2024-02-27 北京天润基业科技发展股份有限公司 基于乘法群的数据对齐方法、系统及电子设备

Similar Documents

Publication Publication Date Title
EP3069249B1 (en) Authenticatable device
CN102946310B (zh) 一种基于(k,w)门限秘密共享方案的指纹模糊金库方法
CN102215223B (zh) 一种基于人脸特征的模糊保险箱远程身份认证方法
CN101674299B (zh) 密钥生成方法
CN102710417B (zh) 一种基于指纹特征与密钥交换协议的模糊金库方法
CN102510330B (zh) 一种基于指纹特征数据与匹配算法的新型模糊金库方法
CN107172071B (zh) 一种基于属性的云数据审计方法及系统
CN105553657B (zh) 一种特征级融合的指纹模糊金库实现方法
EP3161996B1 (en) System and device binding metadata with hardware intrinsic properties
Chang et al. Robust extraction of secret bits from minutiae
CN106027262B (zh) 一种抵抗密钥恢复攻击的多变量签名方法
CN110413652B (zh) 一种基于边缘计算的大数据隐私化检索方法
CN105553980A (zh) 基于云计算的安全指纹识别系统和方法
Barman et al. A novel secure key-exchange protocol using biometrics of the sender and receiver
Liu et al. A key binding system based on n-nearest minutiae structure of fingerprint
CN104320247B (zh) 一种基于椭圆曲线与指纹模糊金库的共享密钥保护方法
CN114065169A (zh) 一种隐私保护生物认证方法和装置、电子设备
CN104104501A (zh) 一种基于指纹特征与有限乘法群的共享模糊金库方法
US9356786B2 (en) Method for encrypting a plurality of data in a secure set
Mao et al. Linkable ring signature scheme using biometric cryptosystem and nizk and its application
Gao et al. Similarity-based deduplication and secure auditing in IoT decentralized storage
Sun et al. Toward quantum-resistant strong designated verifier signature
Tian et al. Lattice-based remote user authentication from reusable fuzzy signature
Han Fingerprint Authentication Schemes for Mobile Devices
You et al. A key sharing fuzzy vault scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141015

RJ01 Rejection of invention patent application after publication