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

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

【技术领域】
[0001] 本发明属于模式识别和密码学【技术领域】,具体涉及有限乘法群上Diffie-Hellman 密钥交换方案与自动对齐的共享指纹模糊金库方案。

【背景技术】
[0002] Diffie-Hellman密钥交换方案是一种密钥协议。Diffie-Hellman密钥交换方案是 一种建立共享密钥的方法,而不是加密方法。然而,Diffie-Hellman密钥交换方案交换技术 允许双方在没有对方的先验知识的情况下,共同建立了一个可以用于加密、进一步的密钥 管理或其他的加密方式的共享秘密密钥。安全地存储密钥是最重要的步骤之一。一般,密 钥被存储在用户的计算机、智能卡或其他媒介中。虽然这些媒介都可以通过设置用户口令 保护媒介中的密钥,但用户的口令可以被穷举搜索攻击获得。存储媒介有丢失或被盗风险。
[0003] 在 2002 年 A.Juels 和 M. Sudan 提出了 "A Fuzzy Vault Scheme"。在她们提出的 模糊金库算法中,将用户唯一的集合A混合用户的密钥进入基于Reed-So 1 omn的金库中。用 户可以利用与集合A有绝大多数元素相同的集合B恢复出密钥。在2005年Yongwha Chung 等人提出了 "Automatic Alignment of fingerprint Features for Fuzzy Fingerprint Vault ",在他提出的方案中,利用几何哈希技术对指纹特征进行自动校准。
[0004] 基于Yongwha Chung等人的自动对齐的指纹模糊金库方案的思想,模糊金库方案 可以用于保护共享密钥。此时密钥交换新型方法的密钥安全是基于离散对数问题的难解性 及用户生物特征未泄露。


【发明内容】

[0005] 在真实可靠的实验条件下,本发明提供了一套实用化的一种基于指纹特征与有限 乘法群上密钥交换协议的共享模糊金库方法。
[0006] -种基于指纹特征与有限乘法群上密钥交换协议的共享模糊金库方法包括构造 出共享信息,并利用共享信息绑定共享密钥生成一个共享指纹模糊金库阶段和共享指纹模 糊金库释放阶段。
[0007] 1.所述的一种新的方式来交换两个用户的相关信息,构造共享信息,并利用共享 信息绑定共享密钥得到共享指纹模糊金库阶段具体如下 :
[0008] 1. 1.假设用户A和用户B利用Diffie-Hellman密钥交换产生共享密钥,具体做法 如下(以下所有操作都是在有限乘法群G = F/上进行的,g为G中的生成元;&表示伽罗 瓦域,P为大素数):
[0009] 1. 1. 1.用户A秘密选定随机自然数a e G,计算a = ga mod p ;将α发给用户B。
[0010] 1. 1. 2.用户Β秘密选定随机自然数b e G,计算β = gb mod ρ ;将β发给用户A。
[0011] 1· 1· 3.用户 A 计算(gb)a mod p,然后清除 a。
[0012] 1. 1. 4.用户 B 计算(ga)b mod p,然后清除 b。
[0013] 1.1.5.用户A和用户B得到的共享密钥k = H(gab mod p),其中Η(·)是一个哈 希函数其输出长度固定为128比特,即共享密钥k长度为128比特。
[0014] 由于a和b是保密的,所以即使攻击者知道了 p,g,α,β,也很难获得用户A和用 户B的共享密钥k。
[0015] 1.2.用户A和用户B利用共享密钥k构造多项式P(x),首先使用CRC循环冗余校 验码为k添加16比特作为校验码得到。,然后将。等分为9段作为多项式P (X)的9个 系数,每段长度为16比特。
[0016] 这里多项式P(x)的结构为:P(x) = a8x8+a7x7+…),并且该多项式 在有限乘法群1^ 5537中运算,g卩p' =65537,保证每个系数可以用16位二进制数表示而不会 产生溢出。
[0017] 1. 3用户A和用户B分别提取各自的指纹特征FA = (xAi, yAi, Θ Ai,tAi)和FB = (xBj, yBj, Θ Bj,tBj),其中i = 1,…,Sp j = 1,…,s2 ;x,y,Θ,t分别表示指纹细节点的平 面坐标,方向和特征类型,其中特征类型为端点或叉点;Sl为用户一真实细节点的个数,s 2 为用户二真实细节点的个数;i的取值范围为1到Si的自然数,j的取值范围为1到s2的自 然数;有角标A的字符表示用户A的数据,有角标B的字符表示用户B的数据(下同)。同 时,用户A和用户B输入个人的注册用户名,分别记作Useiv User2。
[0018] 1· 4.分另lj 令 uAi = [xAi I I yAi] , uBj = [xBj I I yBj]。记集合 GA = {aAi = (uAi, Θ Ai, tAi) | i = 1, . . . , sj , GB = {aBJ = (uBJ, Θ BJ, tBJ) | j = 1,. . .,s2}。用户A和用户B通过信息的交换分别构造共享信息点真实点集合

【权利要求】
1. 一种基于指纹特征与有限乘法群的共享模糊金库方法,其特征在于包括两大步: 第一步,利用一种新的方式来交换双方的相关指纹信息,构造共享信息,并利用共享信 息绑定共享密钥生成一个共享指纹模糊金库; 第二步,利用双方指纹信息从共享指纹模糊金库中恢复共享密钥; 其中的第一步具体是: 1. 1.用户A和用户B利用Diffie-Hellman密钥交换产生共享密钥,以下所有操作都是 在有限乘法群G = F/上进行的,g为G中的生成元;Fp表示伽罗华域,p为大素数,具体如 下: 1. 1. 1.用户A秘密选定随机自然数a e G,计算a = ga mod p ;将α发给用户B ; 1. 1. 2.用户Β秘密选定随机自然数b e G,计算β = gb mod ρ ;将β发给用户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比特作为校验码得到。,然后将1?。等分为9段作为多项式P (X)的9个系数, 每段长度为16比特; 这里多项式P(x)的结构为:P(x) =a8x8+a7x7+…),并且该多项式在有 限乘法群<5537中运算,g卩p' =65537,保证每个系数可以用16位二进制数表示而不会产生 溢出; 1. 3.用户A和用户B分别提取各自的指纹特征FA = (xAi, yAi, Θ Ai,tAi)和FB = (xBj, yBj, Θ Bj,tBj),其中i = 1,…,Sp j = 1,…,s2 ;x,y,Θ,t分别表示指纹细节点的平 面坐标,方向和特征类型,其中特征类型为端点或叉点;Sl为用户一真实细节点的个数,s 2 为用户二真实细节点的个数;i的取值范围为1到Si的自然数,j的取值范围为1到s2的自 然数;有角标A的字符表示用户A的数据,有角标B的字符表示用户B的数据;同时,用户A 和用户B输入个人的注册用户名,分别记作Useiv User2 ; 1· 4.分别令 uAi = [xAi I I yAi], uBj = [xBj I I yBj];记集合 Ga = {aAi = (uAi, 0Ai. tAi)|i = 1, . . . , sj , GB = {aBJ = (uBJ, Θ BJ, tBJ) | j = 1,. . .,s2};用户A和用户B通过信息的交换分别构造共享信息点真实点集合 Qr=Q.4 =Qb = {{gB,t,M >P(gUBll,A'\g<)B'ej' ^β, λ^,)|ζ' = 1,...,5·1;7 = 1,...,52}; 1. 5.同时,用户A和用户B各自分别添加· s2和;Tij-Si · s2个随机数作为杂凑点, Γα、· s2和Γβ、· s2远远大于Si · s2,其集合记为 QA,Chaff = {(ck,dk,ek,tk)|ck,d k,ek,tk e Fpdk 尹 P(ck), (ck,ek)尹(uA,0A),k = Si · s2+l, ···, rA}; 1.6.最后将得到的用户A的包括真实点和杂凑点在内的所有细节点集合RA = U QA;c;haff与用户B的包括真实点和杂凑点在内的所有细节点集合RB = QK U QB;c;haff做合 并,即令 RAB = RA u (RB\QK); 1. 7.用户A和用户B得到了共享的模糊金库VAB = {',(p',g,n)}; 1. 8.用户A对集合FA运用几何哈希技术生成一个注册哈希表,具体如下: 1. 8. 1.集合FA中的第一个点作为基准点,记为Mfl =(--),其它点依次记为 1. 8. 2.对指纹细节点进行变换和量化;在凡被选作基准点以后,其它点 Μι,Μ2,···,<将根据凡进行校准操作,其变换公式为:
点Μη =(?<,#)变换后的横坐标,纵坐标,脊线方向角值和类型记作 ;以M(|为基准点时的变换特征点的集合 7; U...U:Ti?AVlW ;然后对集合TQ中的每一点进行如下量化:
这里形成的点
是量化后的结果,其中坐标值和角度 的量化参数λ和μ的选择与注册阶段提取的细节点坐标值范围和验证阶段系统要达到的 精度有关,此时形成的集合
即是当以凡为 基准点时,其他各点形成的注册哈希表中的其中一组值; 1. 8. 3.其它各组注册哈希表的生成过程,只需重复1. 8. 1和1. 8. 2,直到所有其它的点 (ΜρΜ,,.··,'」依次作为基准点为止,其它各组的哈希值可以记为,最 后形成完整的注册哈希表
1. 9.用户B重复用户A在步骤1. 8中所做的工作,得到用户B的注册哈希表拉·,至此密 钥绑定过程完成,系统保存的数据为用户A和用户B的完整的注册哈希表数据£〖和£=, 一个用户A和用户B共享的模糊金库{RAB,(p',g,n)};其中保存注册哈希表的目的 是校准注册指纹图像和查询指纹图像的细节点特征信息; 其中的第二步具体是:用户A与用户B共享一个模糊金库,即需要用户A和用户B合 作才能完成模糊金库的解锁过程,取得共享密钥;用户A或用户B无法单独进行模糊金库解 锁,即无法单独取得共享密钥;假设用户A想恢复共享密钥,其需要做的工作如下: 2. 1.用户A输入个人的查询用户名记作User,判断User是否为Useri,若用户名正确 则寻找与useri相对应的注册哈希表拉;若不正确则向用户提示错误,并要求重新输入,直 至用户名正确;否则一直停滞在此,不进行其它操作; 2.2. 用户A的查询指纹图像中每个细节点的平面坐标和方向角均线性映射到[(1 255],分 别用8比特表示;真实细节点集合f A={(f Ai,太Ai,0' Ai,C = J, 其中X',y',θ',t'分别表示查询指纹细节点的平面坐标,方向和类型; 2.3. 从F' a中任意选取一个细节点作为基准点,用注册时使用的几何哈希技 术生成含有^ i个元素的一组验证哈希表,将它与保存在系统中的注册哈希表五i 中的Sl组数据进行对比;将注册哈希表中匹配数目最多的一组数据中的基准点 添加到候选的真实细节点集合Q、,其中0 <basis」_彡V 1 ;重 新选择基准点,并在计算得到了一组新哈希值后,再重新进行匹配;直至遍历选取F' A中 所有细节点作为基准点;如果真实细节点集合V A的个数,即A|小于9,则无法从s' i 组哈希值中获取一组匹配数目大于9的数据,此次验证失败,并要求用户重新输入指纹图 像;当用户被要求输入指纹图像的次数超过3次,则告知用户验证失败,中止密钥恢复; 2. 4.经过步骤2. 3用户A得到真实的指纹细节点集合记作
, 得至IJ
;同时用户A向用户B发送释放共享密钥的请求; 2. 5.用户B重复用户A在步骤2. 2, 2. 3与2. 4的工作,验证指纹通过,得到
,其中V B为用户B的 真实细节点集合,Q' B为用户B串接后用于多项式计算真实细节点集合,|(Τ B|为用户 B真实细节点的个数;在收到释放请求后,验证是否是合法的合作用户A,不是则不发送消 息;是则在集合Q" B中随机选取一个元素计算涔a e κ{1,· · ·,|Q,B|},并 将β' i发送给用户A ; 2.6.用户A收到用户B发送的β' 1后,计算
2. 7.将集合VA与RAB相匹配,设经过匹配算法,比对得到的候选真实细节点的集合为 ={(ι4,/^,Α〇|ζ· = 1,·.·,〇,丨彡9,最后运用牛顿插值法重构8次多项式p(x)得到包 含CRC校验码的共享密钥,并通过CRC循环冗余校验码验证共享秘钥的正确性; 2.8.用户B也可以通过相同的步骤恢复共享密钥。
【文档编号】H04L9/08GK104104501SQ201410323824
【公开日】2014年10月15日 申请日期:2014年7月8日 优先权日:2014年7月8日
【发明者】游林, 陈宇磊, 王毓娜, 张欢欢, 邓颀 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1