一种利用多项式保护指纹模板的方法和认证方法

文档序号:6351716阅读:556来源:国知局
专利名称:一种利用多项式保护指纹模板的方法和认证方法
技术领域
本发明属于信息安全和计算机生物识别领域,涉及生物特征识别、信息安全等。本发明提出了一种保护用户指纹细节点模板隐私性的方法以及对应的指纹认证方法,提高了生物身份认证系统的安全强度,实现了生物认证中模板的可更新性;还提出了使用指纹细节点点锁定/解锁用户秘密信息(如加/解密的密钥)的方法,为密钥的安全使用提供了
一种可靠保障。
背景技术
随着信息技术的发展与应用,信息安全的内涵在不断的延伸。建立信息安全体系的目的是保证系统中的数据只能被有权限的“人”访问。如果没有有效的身份认证手段,访问者的身份就很容易被伪造,使得任何安全防范体系都形同虚设。身份认证用于解决访问者的物理身份和数字身份的一致性问题,给其他安全技术提供权限管理的依据。由于人体生物特征是唯一的与待识别人直接关联的因素,因此生物认证被认为可以提高身份认证的安全性。传统的生物认证系统本质上是一个模式识别系统,它从人身上获取生物数据,从中抽取特征,与预存在数据库中的特征模板进行对比,如果匹配就可以确认身份,否则拒绝。为了方便对比,数据库中的用户生物特征模板是裸存放的;这带来了很多安全和隐私方面的问题。首先,一些生物特征包含关于个人身体健康的信息,人们担心这些生物信息会在不知情的情况下被保管这些信息的机构或其它机构滥用,可能影响到本人健康保险、就业和其它权利。其次,由于每个人生物特征具有稳定性和唯一性,保存在数据库中的模板一旦被窃取,将无法更新,给使用这些生物特征进行身份确认的用户或机构带来无法估量的损失。另一方面,传统的加密技术在现代通信、信息安全应用非常广泛。不过,密码技术中密钥保存一直是薄弱环节。由于AES、RSA等对称或非对称加密算法的密钥很长,AES密钥最短是1 位,而RSA私钥的长度是IOM位,甚至更高。普通人很难记住这些冗长、无序而枯燥的数字,因此密钥一般将存储在计算机或智能卡中,通过输入口令的方式获得认证后, 就能获取密钥进行数据加解密,即密钥的安全性取决于口令的安全性。由于一般所使用的口令容易被破解,而且用户在不同的应用中经常使用同一口令,从而造成“一通百通”的问题。为了提高信息安全性,使用一种强的认证技术来保护用户密钥变得越来越重要。生物认证技术作为一种新兴的、很强的身份认证手段目前受到社会各方面重视,利用用户的生物特征作为认证手段可以更好地防止欺骗、假冒。因此使用用户自己的生物特征保护密钥会使用户对自己信息的安全性更加放心。当然,除了密钥,用户的其它秘密信息也同样可以采用自己的生物特征来保护。Jules和Sudan提出的Fuzzy vault方案适合于保护可以表示为集合的生物特征,如指纹细节点,也可以实现用生物特征来保护用户秘密。这个方案中,设加密者和解密者分别拥有无序集合A和B。加密者可以选择一个多项式p(X)来编码待保护的秘密S, 她可以计算出多项式的投影,即对所有的& e A,计算出p(Xi),形成点对集合G= {(Xi,p(Xi) Xi e A)}0然后产生一些随机干扰点对集合C= 力,巧)丨力0成/7(劝关巧}},最后将G和C 混合在一起形成vault,Jules和Sudan建议把S嵌入多项式的系数,他们把这个过程叫“加锁”。当解密者想知道S时,他必须用集合B来解开vault。当B和A有足够的元素相同时, 他就可以筛选出足够多的点对来重构多项式P (χ),从而恢复S,Jules和Sudan把这个过程叫“解锁”。为了克服干扰点造成的错误,他们建议使用RS解码恢复多项式。对于Fuzzy vault方案来说,添加干扰点越多,其安全性越好。但在具体实现时, 受存储量限制和效率方面的考虑,干扰点不能很多。通常实现时,一般添加干扰点数量是真点的10倍左右。Scheirer和Boult提出了对Fuzzy vault的三种攻击方案Attacks via Record Multiplicity ( ARM), Surreptitious Key-Inversion Attack( M ^ SKIA) 和Blended Substitution Attacks (简称BSA)。特别是ARM攻击最为严重,它针对Fuzzy vault的主要弱点FuZZy vault方案中,vault是以集合的有限个元素表示,干扰点数量受到限制,不能充满整个定义域;攻击者只有找到多个由同一生物特征模板生成的vault,找出它们中基本不变的元素,就基本可以确定vault中的隐藏的真点,而排除干扰点,这个过程相当于求多个vault集合的交集。本发明提出利用多项式表示指纹细节点模板以及用指纹细节点锁定用户秘密的方法,克服了上述方案的缺陷,可以抵抗上述三种攻击,提高了模板的安全强度。发明的内容针对Fuzzy vault方案的缺点,本发明采用具有随机性的多项式,而不是Fuzzy vault方案中以集合形式存在的vault作为模板。多项式这种函数表达形式并不显式地给出真实点对和干扰点对的集合,即使攻击者得到由同一生物模板生成的多个多项式,因为每个多项式的输入的定义域都是相同的,他无法通过求交集而获得用户的真实生物特征信息点;而且多项式的生成具有随机性,攻击者也不能通过求多个多项式的交点而获得真实点。因此本发明使得模板可以安全存放,并且具有可更新性;采用相同的方法,还可以将用户秘密(以下假定用户秘密用二进制串表示)用指纹细节点锁定/解锁。本发明实施例的目的是通过以下技术方案实现本发明实施例提供了一种指纹细节点模板的保护方法,包括选择一个域7,在力随机选择k个数作为系数,构造一个k_l阶多项式,其中k小于指纹细节点模板中的特征点的个数Nt ;指纹细节点模板中的每个特征点作为χ,在JTi中计算y = \(χ),由所得的Nt个点对(X,y),在:F中采用多项式插值法构造一个Nt-I阶多项式f2,该多项式作为指纹模板;将的k个系数按照某种排列方式串联在一起,计算其哈希值H。本发明实施例还提供了一种指纹认证的方法,包括注册时,生成多项式f2和相应的校验值H,由验证者保存;认证时,当现场提取的指纹细节点点数目Nq大于等于k时,验证者将每个特征点作为X,在尸中计算y = f2(x);由Nq个(X,y)点对在尸中构造出k-Ι阶多项式f ;将f的系数按照上述方法排列串联,计算出哈希值H';若H'等于H,则接受用户身份。本发明实施例还提供了一种用指纹细节点点锁定用户秘密信息的方法,包括
在一个域JP中把用户秘密信息(二进制串)分割成k段,分别用Ck+ ck_2,...,C1, C0表示,作为k-Ι阶多项式f3的k个系数,其中k小于指纹细节点模板中特征点的个数Nt ;指纹细节点模板中的每个特征点作为X,在尸中计算y = f3(x),由所得Nt个点对 (X,y),在中采用多项式插值法构造一个Nt-I阶多项式f4 ;计算用户秘密信息的哈希值H。本发明实施例还提供了一种用指纹细节点点从生物模板解锁用户秘密信息的方法,包括当现场指纹细节点点数目Nq大于等于k时,将每个特征点作为X,在P中计算y = f4(x);由Nq个(X,y)点对在尸中构造出k_l阶多项式f ;将f的系数aH,ak_2,. .. ,ai;a0级联起来,用a^ | ak_21. . . | B11 a0表示,计算出哈希值H';若H'等于H,则说明Bk^11 ak_21 ...Ia11 a0就是用户秘密信息。
具体实施例方式下面对本发明实施例所述方法进行详细阐述。首先对本发明实施例所述指纹细节点模板的保护方法进行详细阐述。本发明实施例所述指纹细节点模板的保护方法具体包括以下步骤选择一个域Γ,在JF随机选择k个数作为系数,构造一个k-Ι阶多项式,其中k小于指纹细节点模板中特征点的个数Nt ;指纹细节点模板中的每个特征点作为X,在JF中计算y = f (χ),由所得的Nt个点对(X,y),在P中采用多项式插值法构造一个Nt-I阶多项式f2,该多项式作为生物模板;将的k个系数按照某种排列方式串联在一起,计算其哈希值H。下面对本发明实施例所述指纹细节点模板的保护方法进行举例说明。指纹的细节特征点通常用纹线的端点(ridge endings)和分叉点(ridge bifurcations)来表示,一般细节特征点用(X,Y,Sita)来表示,其中Χ、Υ分别表示该点的横、纵坐标,Sita表示该点纹线的切线方向。在构造多项式之前,首先将细节点映射成整数,并做适当量化;记这样处理后的指纹细节点模板T = Ixi 11彡i彡Ντ}。选择一个适当的域域JF,在尸随机选择k个数(V1, ck_2,... ,C1, C0,构造一个k-Ι阶多项式f 1 (χ) = c^iX^^c^X^2+. . . +C1X+^计算Yi = (Xi),其中 Xi e T,1 彡 i 彡 Nt ;由上面得到的Nt个(Xi,Yi)点对,使用任何一种多项式插值法,构造一个Nt-I阶多项式f2,下面采用拉格朗日插值法
nNt χ_χΤ λw=!>,/々),其中咖)=! ^
/=1将(V1, ck_2,. .. , C1, C0 顺序排列并串联起来,记为 c = Ch | ck_21... | C11 C0,计算 H =hash(c),其中hash()表示任意一种哈希函数。
本发明实施还提供了一种利用上述指纹细节点模板保护的方法进行指纹的方法, 所述方法包括注册时,采用上述方法生成多项式f2和相应的校验值H,f2和H由验证者保存。认证时,当用户现场样本中特征点数目Nq大于等于k时,在JT中计算y = f2(x);由Nq个(X,y)点对在尸中构造出k_l阶多项式f ;将f的系数按照上述方法排列串联,计算出哈希值H';若H'等于H,则接受用户身份。下面仍然以指纹为例,对本发明实施例所述指纹方法进行举例说明。认证时,采集用户的现场指纹样本,提取出细节点,这些细节点经过对齐、量化和映射后,记为为特征样本 Q = Ixi 11 ^ i ^ Nq} 0当Nq大于等于k时,在尸中计算yi = f2 (Xi),其中Xi e Q,1彡i彡Nq ;从所得的Nq个(Xi,Yi)点对恢复出多项式f\。可以采用GRS解码的方法,也可以采用遍历法。当采用GRS解码法时,可将[^力,…,少 ]看成是经过干扰信道传输的码字, [X1PC2,-..,^e ]看成支持集,采用经典的Berlekamp-Massey算法、Euclidean算法等,只要误
码不超过AT就可以得到正确的码字[Ml,M2,…,;|。从Nq个(Xi,Ui)点对中任意取
k个点对,利用多项式插值法,可以构造多项式出f
k x_uT
权利要求
1.一种保护指纹细节点模板隐私性的方法,其特征在于使用一个具有随机性的多项式表示指纹特征模板。
2.根据权利要求1所述的方法,其特征在于,包括在一个域尸中,随机选择k个数,分别用Ck+ Ck_2,...,CljC0表示,将它们作为系数构造一个k-Ι阶多项Sf1,其中k小于指纹细节点模板中细节特征点的个数Ντ;细节点模板中的每个特征点作为X,在7中计算y = fi (X),由所得的Nt个(x,y)点对,在P中采用多项式插值法构造一个Nt-I阶多项式f2,该多项式作为生物特征模板。
3.按照权利要求1和2所述的方法,其特征在于将的系数(V1,ck_2,...,C15C0级联起来,计算其哈希值H。
4.一种基于指纹的身份认证方法,其特征在于,包括注册时,生成多项式f2和相应的校验值H,作为指纹特征模板;认证时,由现场细节点集合、多项Sf2构造出校验值H',若H'等于H,则接受用户身份。
5.按照权利要求2、3和4的方法,其特征在于,包括认证时,当现场指纹细节点数目Nq大于等于k时,将每个细节特征点作为X, 在尸中计算y = f2(x);由Nq个(X,y)点对在尸中构造出一个k-Ι阶多项式f ; 将f的系数按照权利要求3同样的方法级联,计算其哈希值H'; 若H'等于H,则接受用户身份。
6.一种用指纹细节点锁定和解锁用户秘密信息的方法,其特征在于,使用多项式达到所述目的。
7.根据权利要求6,用指纹细节点锁定用户秘密信息时,其特征在于,包括在一个域 F中把用户秘密信息C ( 二进制串)分割成k段,分别用Ck+ ck_2,...,Cl,Ctl表示,作为k-1 阶多项式f3的k个系数,其中k小于指纹细节点模板中细节特征点的个数Nt ;指纹细节点模板中的每个特征点作为X,在:F中计算y = &00,由所得的&个(X,y) 点对,在7中采用多项式插值法构造一个Nt-I阶多项式f4 ; 计算用户秘密信息C的哈希值H。
8.根据权利要求7,一种用指纹细节点解锁出多项式f4中锁定的用户秘密信息的方法,其特征在于,包括当现场细节点数目Nq大于等于k时,将每个细节点作为X,在P中计算y = f4(x); 由Nq个(X,y)点对在7中构造出k-Ι阶多项式f ;将f的系数ak_1; ak_2,. .. ,ai;a0级联起来,记为a^ | ak_21. . . | B11 a0,计算出哈希值H'; 若H'等于H,则说明Bk^11 ak_21 ...Ia11 a0就是用户秘密信息C。
全文摘要
本发明提出了一种用多项式绑定保护细节点模板的方法。首先生成一个低阶的、系数随机产生的多项式,将生物特征模板中的特征点作为x,代入多项式计算得到y,由所有(x,y)的点对利用多项式插值法生成一个高阶的新多项式,用该多项式表示一个指纹特征模板;认证时,将用户现场细节点作为x,带入高阶多项式计算出y值,从这些(x,y)点对中重构出原来的低阶多项式。将表示用户秘密信息的二进制串分割后作为上述低价多项式的系数,用同样的方法生成的高阶多项式还可以将指纹细节点信息与用户秘密融合为一体,实现了利用指纹细节点保护用户秘密信息的目的。
文档编号G06K9/00GK102496011SQ20111041401
公开日2012年6月13日 申请日期2011年12月13日 优先权日2011年12月13日
发明者冯全, 吴丽丽, 康立军, 张淑苗, 杨梅, 陶菊春 申请人:甘肃农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1