随机数生成与提取方法及其在身份认证上的应用与流程

文档序号:12133587阅读:673来源:国知局
随机数生成与提取方法及其在身份认证上的应用与流程
本发明涉及的是一种信息安全领域的技术,具体是一种基于二维通用哈希函数和模糊库的随机数生成与提取方法及其在身份认证上的应用。
背景技术
:密码学的应用中,模糊提取器是一种能够将相近的输入(例如,来自同一个手指的指纹特征点集合)的转化成同一个随机数的技术,其基本运行流程为:生成过程Gen将输入X转化为随机数R,并输出相应的辅助数据H;重构过程Rep根据与X足够相似的输入Y和辅助数据H,恢复出Gen过程的随机数R。另一方面,指纹模板的特征集合等生物特征是人与生俱来的独一无二的个人id,随个人成长的变化不大,可以作为一种不依赖我们记忆能力的良好的信息载体。因此,可以把生物特征应用于模糊提取器,用于提取随机数。模糊库作为一种基于生物特征的加解密技术,其一种实现方式为:加密过程可以利用生物特征E={xi}作为密钥,用一个形如的多项式将明文经过映射而成的多项式f(x)保护起来,同时也保护了指纹模板本身,并保留相应的辅助数据;在解密过程中利用保存的辅助数据和足够相似的生物特征D={xi′}从多项式V中还原f。另一方面,二维通用哈希函数可以根据给定的输入生成一个随机数。可见,将模糊库和二维通用哈希函数以一定方式结合来实现一种模糊提取器,可以构造一个利用生物特征提取随机数的系统。技术实现要素:本发明针对现有技术存在的上述不足,提出一种随机数生成与提取方法及其在身份认证上的应用,在输入指纹模板具有非均匀随机性时,输出的随机数具有均匀随机性,并且输出长度可随指纹模板的长度增加(显著大于现有文献中所述160比特)。生成的随机数用作一种身份认证系统的密钥或随机数等,避免了当前存储私钥容易造成泄露等问题,且输出的随机数长度可显著增大。本发明是通过以下技术方案实现的:本发明涉及一种基于二维通用哈希函数和模糊库的随机数的身份验证方法,由用户注册时进行随机数的生成并发送至认证方,并在身份验证时由被认证方进行随机数的重构并由认证方比对从而实现被认证方的身份验证,其中:随机数的生成通过将指纹模板的一个特征集合{xi}和明文对应的多项式f(x)输入模糊库加密得到相应的辅助数据H,然后将特征集合{xi}拼接而成的大整数w=x1|x2|...|xn输入二维通用哈希函数从而得到随机数R;随机数的重构通过将指纹模板的另一个相近的特征集合{xi′}和辅助数据H输入模糊库还原得到相应的多项式f(x),利用f(x)和辅助数据还原随机数生成器所采用的特征集合{xi},并将特征集合{xi}拼接而成的大整数w输入二维通用哈希函数,进而重构得到随机数R。所述的模糊库在加密过程中根据给定的指纹对定长的明文进行加密并保存相应的辅助数据,或在解密过程中根据相似的指纹和辅助数据从密文中恢复明文。所述的辅助数据H是指:模糊库加密产生的V(x)和多项式f(x)系数所对应的任意一种哈希值,其采用但不限于SHA-1等。所述的模糊库加密是指:根据给定的指纹模板,从其中提取出一个特征集{xi},从而将明文加密为:V(x)=f(x)+Π(x-xi)=∑cjxj,其中:系数cj即为生成的密文。所述的模糊库还原是指:根据给定的指纹模板中提取出另一个特征集{x′i},在{xi}和{x′i}的交集足够大的情况下,可用{x′i}计算出一个点对的集合{(x′i,V(x′i))},通过拉格朗日插值的方法恢复被保护的明文,即多项式f(x)。所述的特征集合{xi},基于V(x)=f(x)+Π(x-xi),因此对多项式V(x)-f(x)求根即得到。所述的另一个特征集{x′i},采用与特征集合{xi}相同的方式得到。所述的拼接是指:对{xi}中的所有元素排序,并依次标记序号1,2,...,然后按照序号从小到大的顺序将这些整数拼接成一个字符串,即大整数w。所述的排序,采用但不限于从小到大的顺序。所述的二维通用哈希函数,采用但不限于:ha,b(w)=((aw+b)modP)modN,其中:P为素数且P>w,N为整数且N<<P,a、b为每次调用ha,b(w)时随机生成的系数。本发明涉及一种实现上述方法的身份认证系统,包括:随机数生成模块、注册模块、随机数重构模块以及认证模块,其中:随机数生成模块与注册模块相连并传输生成的随机数R;注册模块以随机数R为用户注册账号的密钥;随机数重构模块与认证模块相连,并传输重构的随机数R′;认证模块比对被认证方发送的随机数和账号对应的随机数R从而实现身份验证。所述的随机数生成模块包括:指纹特征提取单元、模糊库加密单元、特征大整数生成单元以及二维通用哈希函数库,其中:指纹特征提取单元与模糊库加密单元相连并输出加密所需的特征集{xi},即密钥;指纹特征提取单元与特征大整数生成单元相连并传输特征集合{xi};特征大整数生成单元与二维通用哈希函数库相连并传输通过特征集合转换而成的大整数信息。所述的随机数重构模块包括:指纹特征提取单元、模糊库解密单元、特征大整数生成单元以及哈希函数库,其中:指纹特征提取单元与模糊库解密单元相连并输出加密所需的特征集{x′i},即密钥;模糊库解密单元与特征大整数生成单元相连并传输还原的特征集合{xi};特征大整数生成单元与二维通用哈希函数库相连并传输通过特征集合转换而成的大整数信息。技术效果与现有技术相比,本发明基于生物特征生成/重构的随机数用作一种身份认证系统的密钥或随机数等;在所采用的指纹模板并不完全一致但相似度较高的情况下,能够以较大概率率正确地重构原始生成的随机数,同时较小概率错误地重构原始生成的随机数。附图说明图1为模糊库加密过程示意图;图2为模糊库解密过程示意图;图3为二维通用哈希函数运行过程示意图;图4为本发明系统的随机数生成器示意图;图5为本发明系统的随机数重构器示意图。具体实施方式本实施例包括以下步骤:步骤1)设定指纹模板的特征集合{xi}的大小为tmax=44步骤2)选定明文对应多项式f(x)的最高次数k=8步骤3)设置P=47962816398523117606189726043968411848519304708598059350620557763277694737755820158580941773369740112983781265183299561695077810144494290292906506606685128216915382107158604900927276535058149770652889252352435564631,N=115792089237316195423570985008687907853269984665640564039457584007913129639936步骤4)随机数生成器模块,步骤4.1)提取指纹模板的特征集合{xi},随机生成或认为分配明文对应的多项式f(x),将{xi}和f(x)输入模糊库得到相应辅助数据(V(x),SHA(f)),其中SHA(f)表示f的系数拼接成的比特序列所对应的SHA-1值,过程如图1所示。步骤4.2)将特征集合{xi}拼接而成的大整数步骤4.3)随机生成两个大整数a和b,其中0≤a<P,0≤b<P步骤4.4)计算R=((aw+b)modP)modN步骤4.5)保存V(x),SHA(f),a,b,输出R作为生成的随机数步骤5)随机数重构器模块,步骤5.1)提取指纹模板的特征集合{xi′}步骤5.2)将{xi′}和辅助数据V(x),SHA(f)输入模糊库还原得到相应的多项式f(x)步骤5.3)如果能够成功还原f(x),即找到一个f′使得SHA(f′)=SHA(f),则执行下一步,否则停止执行,提示重构失败。步骤5.4)求解多项式V(x)-f(x)的根,得到原始的特征集合{xi}步骤5.5)将特征集合{xi}拼接而成的大整数步骤5.6)读取a和b,计算R=((aw+b)modP)modN,即可得到生成器模块生成的随机数R。可见,通过我们的系统,将模糊库和二维通用哈希函数结合,可以用同一个指纹模板多次生成同一个随机数R。为了测试发明系统生成和恢复随机数的效果,我们在FVC2002DB2_A上进行了实验。此指纹库有100组指纹,每组指纹属于同一个手指并有8张图片。系统主要涉及的参数有模糊库需要保护的长度、GAR和FAR等,其中明文长度有112、128、144、160、176和192比特,以下分别用k=7、8、9、10、11和12表示。测试GAR的过程中,我们用指纹库每组图片中标号为1的图片用于加密,标号为2的图片用于解密;测试FAR的过程中,我们用指纹库每组图片中标号为1的图片用于加密,其余所有组标号为1的图片用于解密。最后,测得实验结果如下表:表1随机数生成实验结果表2GAR测试实验效果kGAR重构耗时7900.988870.999781.0310761.0811661.1212641.17表3FAR测试实验效果kFAR重构耗时70.421.1180.121.1590.001.21100.021.27110.001.34120.001.41其中,成功率表示能够成功生成随机的图片比例,单位为%;耗时的单位为秒;GAR和FAR的单位为%。上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1