[发明专利]一种基于指纹特征与有限乘法群的共享模糊金库方法在审

专利信息
申请号: 201410323824.2 申请日: 2014-07-08
公开(公告)号: CN104104501A 公开(公告)日: 2014-10-15
发明(设计)人: 游林;陈宇磊;王毓娜;张欢欢;邓颀 申请(专利权)人: 杭州电子科技大学
主分类号: H04L9/08 分类号: H04L9/08;H04L29/06
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 杜军
地址: 310018 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于指纹特征与有限乘法群的共享模糊金库方法。现有方法存在双方需要存储不同的模糊金库的问题。本发明中的共享信息产生阶段:通过变换双方指纹信息,利用指定交换方法得到共享信息。共享密钥绑定阶段:指纹信息变换后交换产生的共享信息与经Diffie-Hellman密钥交换协议产生的共享密绑定产生共享迷糊金库。共享密钥释放阶段:通过变换双方指纹信息再次构造出共享信息,解锁模糊金库,恢复出共享密钥。本发明利用指纹模糊金库算法保护共享秘钥的同时,将模糊金库减少到一个,并只有通过验证的双方才能将绑定在共享指纹模糊金库中的共享秘钥释放,使本发明具有更好的安全性。
搜索关键词: 一种 基于 指纹 特征 有限 乘法 共享 模糊 金库 方法
【主权项】:
一种基于指纹特征与有限乘法群的共享模糊金库方法,其特征在于包括两大步:第一步,利用一种新的方式来交换双方的相关指纹信息,构造共享信息,并利用共享信息绑定共享密钥生成一个共享指纹模糊金库;第二步,利用双方指纹信息从共享指纹模糊金库中恢复共享密钥;其中的第一步具体是: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进行校准操作,其变换公式为:<mrow><msup><mi>TR</mi><mrow><msub><mi>M</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msup><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msup><mi>TR</mi><mrow><msubsup><mi>x</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msup></mtd></mtr><mtr><mtd><msup><mi>TR</mi><mrow><msubsup><mi>y</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msup></mtd></mtr><mtr><mtd><msup><mi>TR</mi><mrow><msubsup><mi>&theta;</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msup></mtd></mtr><mtr><mtd><msup><mi>TR</mi><mrow><msubsup><mi>t</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msup></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>cos</mi><mrow><mo>(</mo><msubsup><mi>&theta;</mi><mn>0</mn><mi>A</mi></msubsup><mo>)</mo></mrow></mtd><mtd><mi>sin</mi><mrow><mo>(</mo><msubsup><mi>&theta;</mi><mn>0</mn><mi>A</mi></msubsup><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><msubsup><mi>&theta;</mi><mn>0</mn><mi>A</mi></msubsup><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><msubsup><mi>&theta;</mi><mn>0</mn><mi>A</mi></msubsup><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open='(' close=')'><mtable><mtr><mtd><msubsup><mi>x</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mn>0</mn><mi>A</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>y</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mo>-</mo><msubsup><mi>y</mi><mn>0</mn><mi>A</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>&theta;</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mo>-</mo><msubsup><mi>&theta;</mi><mn>0</mn><mi>A</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>t</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup></mtd></mtr></mtable></mfenced><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mn>1</mn><mo>&le;</mo><msub><mi>s</mi><mn>1</mn></msub><mo>-</mo><mn>1</mn></mrow>变换后的横坐标,纵坐标,脊线方向角值和类型记作以M0为基准点时的变换特征点的集合然后对集合T0中的每一点进行如下量化:这里形成的点是量化后的结果,其中坐标值和角度的量化参数λ和μ的选择与注册阶段提取的细节点坐标值范围和验证阶段系统要达到的精度有关,此时形成的集合<mrow><msub><mi>E</mi><msub><mi>H</mi><mn>0</mn></msub></msub><mo>=</mo><msub><mi>M</mi><mn>0</mn></msub><mo>&cup;</mo><mo>{</mo><msub><mi>M</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msubsup><mi>y</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msubsup><mi>&theta;</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msubsup><mi>t</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>A</mi></msubsup><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow>即是当以M0为基准点时,其他各点形成的注册哈希表中的其中一组值;1.8.3.其它各组注册哈希表的生成过程,只需重复1.8.1和1.8.2,直到所有其它的点依次作为基准点为止,其它各组的哈希值可以记为最后形成完整的注册哈希表<mrow><msubsup><mi>E</mi><mi>H</mi><mi>A</mi></msubsup><mo>=</mo><msub><mi>E</mi><msub><mi>H</mi><mn>0</mn></msub></msub><mo>&cup;</mo><msub><mi>E</mi><msub><mi>H</mi><mn>1</mn></msub></msub><mo>&cup;</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>&cup;</mo><msub><mi>E</mi><msub><mi>H</mi><mrow><msub><mi>s</mi><mn>1</mn></msub><mo>-</mo><mn>1</mn></mrow></msub></msub><mo>;</mo></mrow>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得到真实的指纹细节点集合记作<mrow><msubsup><mi>Q</mi><mi>A</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>w</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>w</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mi>w</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>t</mi><mi>w</mi><mi>A</mi></msubsup><mo>)</mo></mrow><mo>|</mo><mi>w</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mo>|</mo><msubsup><mi>Q</mi><mi>A</mi><mo>&prime;</mo></msubsup><mo>|</mo><mo>}</mo><mo>,</mo></mrow><mrow><msubsup><mi>u</mi><mi>w</mi><mi>A</mi></msubsup><mo>=</mo><msubsup><mi>x</mi><mi>w</mi><mi>A</mi></msubsup><mo>|</mo><mo>|</mo><msubsup><mi>y</mi><mi>w</mi><mi>A</mi></msubsup><mo>,</mo><mi>w</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mo>|</mo><msubsup><mi>Q</mi><mi>A</mi><mo>&prime;</mo></msubsup><mo>|</mo><mo>,</mo></mrow>得到同时用户A向用户B发送释放共享密钥的请求;2.5.用户B重复用户A在步骤2.2,2.3与2.4的工作,验证指纹通过,得到<mrow><msubsup><mi>Q</mi><mi>B</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>w</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>w</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mi>w</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>t</mi><mi>w</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>|</mo><mi>w</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mo>|</mo><msubsup><mi>Q</mi><mi>B</mi><mo>&prime;</mo></msubsup><mo>|</mo><mo>}</mo><mo>,</mo><msubsup><mi>Q</mi><mi>B</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>u</mi><mi>w</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mi>w</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>t</mi><mi>w</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>|</mo><mi>w</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mo>|</mo><msubsup><mi>Q</mi><mi>B</mi><mo>&prime;</mo></msubsup><mo>|</mo><mo>}</mo><mo>,</mo></mrow>其中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也可以通过相同的步骤恢复共享密钥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410323824.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top