基于CRC与离散对数难题的双重认证模糊金库方案

2017-12-02 17:16张欢欢
软件导刊 2017年11期

张欢欢

摘要:模糊金库方案是生物特征加密领域一种流行的密钥绑定方案,它将生物特征与秘密数据安全地绑定在一起,形成一个金库且能够实现“模糊”解锁,攻击者不能从金库中获取生物特征或秘密数据。因此,方案可以在保护秘密数据的同时,也保护用户的生物特征。基于CRC循环冗余编码的模糊金库是模糊金库应用于生物特征认证识别的一种重要实现,但是其存在两类严重问题,即CRC碰撞和无法抵抗混合替代攻击。提出了基于CRC与离散对数难题的双重认证模糊金库,可以同时解决这两类问题。

关键词关键词:模糊金库;生物特征加密;CRC校验;混合替代攻击

DOIDOI:10.11907/rjdk.171923

中图分类号:TP301

文献标识码:A文章编号文章编号:16727800(2017)011002603

0引言

2002年,ARI JUELS等[1]提出的模糊金库方案很好地解决了生物特征模糊性问题,他们将个体的生物特征看作与之对应的一些特征点集合,将个体生物特征与密钥κ绑定形成一个金库,设计了一种拥有容错能力的方案,即允许上锁生物特征与解锁生物特征略有不同。但此方案中解锁阶段采用RS解码恢复出密钥κ′,并未采用任何措施确认κ′与原始密钥κ是否相等,因此不能用于生物认证。随后学者提出基于CRC校验与拉格朗日内插函数的模糊金库[24],只有通过拉格朗日多项式插值法得到的密钥满足CRC校验,才算通过验证,然而由于这些方案中CRC校验位只有短短的8bit或者16bit,所以CRC碰撞发生的概率不可被忽略(CRC碰撞即非法用户通过拉格朗日插值法得到的非真实密钥满足CRC校验)。而CRC碰撞一旦发生,将会导致非法用户通过认证,从而使系统的FAR(错误接受率)升高。本文基于离散对数数学难题,在基于CRC校验的模糊金库中引入参数组(p,g,gκ),只有在恢复出的密钥κ′通过CRC校验,同时满足gκ′=gκ时,认证才算通过。实验表明,该方案在维持FRR(错误拒绝率)基本不变的情况下,降低了系统的FAR。

1经典模糊金库方案

模糊金库方案是Juels和Sudan在2002年提出的密钥绑定算法,其最大特点是具有无序性,该特点非常适合将生物特征的模糊性和密码算法的精确性联系起来。模糊金库方案一般分为两个步骤:①上锁阶段。用户将秘密κ和无序集A绑定构成模糊金库,使攻击者很难从模糊金库中找出秘密κ和无序集A;②解锁阶段。用户使用无序集B从保险箱中解密出秘密κ,用户能够解密得到κ的充分必要条件是无序集B和无序集A有足够多的元素重合。模糊金库算法的具体实现过程可以描述如下:

(1)上锁阶段:选取密钥κ∈Fkq与一个一次多项式f(x)=f0+f1x+f2x2+…+fk-1xk-1相关联,即将密钥κ映射为f(x)的系数。然后将上锁的特征点集合A={a1,a2,…,at}中的所有特征点都映射到f(x)上,得到真实特征点的点集R={(a1,f(a1)),(a2,f(a2)),…(at,f(at))},再随机添加适量杂凑点,构成杂凑点点集R′。杂凑点的一维坐标值应与真实点的特征值不同,且添加的杂凑点不经过选定的一次多项式f(x),即可得到模糊金库VA=R∪R′。为了隐藏秘密κ,杂凑点的数量要远远大于真实点数目(一般取真实特征点的10倍以上)。

(2)解锁阶段:用户使用无序集B从模糊金库中解密κ,假设B和A中有足够多的元素重合,找出这些重合的点,这些点必然落在多项式P上。使用这些点重构一个多项式f,由f得到秘密κ。如果B和A重合的点数不够,则无法重构出一个与f相同的多项式。经典模糊金库框架如图1所示。

图1经典模糊金库框架

2基于CRC的模糊金库方案

基于CRC的模糊金库方案[2,5]与经典模糊金库方案不同的是,该方案中采用拉格朗日内插法和CRC校验代替了经典模糊金库方案在解密阶段时使用的RS解码模块。因此,可以通过检查CRC校验是否满足,以确定密钥是否被正确地恢复,也使其可以作为生物特征的识别认证。基于CRC的模糊金库分为注册阶段和认证阶段两部分,其主要思路是计算出真实密钥κ的CRC,并且直接附在真实密钥κ的后面,用这个新密钥作为一次多项式的系数,按照经典模糊金库中的上锁步骤完成注册。而在认证阶段,利用拉格朗日多项式内插法恢复出多项式后,再检查恢复出的多项式系数是否满足CRC校验,并以此作为认证是否通过的依据。基于CRC的模糊金库方案框架如图2所示。

图2基于CRC的模糊金库框架

3基于CRC与离散对数难题的双重认证模糊金库方案

本文提出的认证方案与以往基于模糊金库的认证方案不同的是,其在模糊金库里添加了参数组(p,g,gκ),其中p为选定的大素数,g为有限乘法群F*p中一个生成元。由于在已知(p,g,gκ)时,想要求出κ比较困难,故参数组(p,g,gκ)不會泄露密钥κ的信息。在认证阶段,首先根据朗格朗日多项式插值法恢复出一次多项式的系数,得到κ′,验证κ′是否满足CRC校验,若不满足,则认证失败;若满足CRC校验,再利用金库中的公共参数g计算出gκ′,并验证gκ′=gκ是否成立,若满足,则认证成功,若不满足,则认证失败。可以看出,认证用户只有同时通过CRC校验和gκ′=gκ时才能认证成功,所以该方案可以很好地降低非法用户成功通过认证的概率。当然,对于合法用户而言,CRC校验和gκ′=gκ都可以很简单地通过,所以对系统的错误拒绝率基本没有影响。因此,该方案的设计可以在维持FRR(错误拒绝率)基本不变的情况下,有效降低系统的FAR。

4安全性分析

文献[8]~[10]指出了基于生物模板保护的方案存在的缺点以及基于模糊金库的方案可能遭受的攻击类型,抗混合替代攻击是基于模糊金库的方案都无法避免的攻击类型,以下对本文提出方案的与抗混合替代攻击性进行分析。endprint