一种基于数字水印的阈值谓词加密生物特征认证方法

文档序号:24654279发布日期:2021-04-13 20:43阅读:123来源:国知局
一种基于数字水印的阈值谓词加密生物特征认证方法

1.本发明涉及生物特征认证的研究领域,特别涉及一种基于数字水印的阈值谓词加密生物特征认证方法。


背景技术:

2.生物特征模板具有不可逆性和可取消性的优点。其中不可逆性指的是生物特征模板不可逆转为相应的生物特征,可取消性是指可以对单个模板进行更新,撤消和重建。然而这些优点一旦被攻破,则攻击者就能从受到破坏的模板中重建生物特征向量,有时甚至可以获得原始的生物特征样本。随后,攻击者可以利用得到的生物特征模板发起重播攻击或提供欺骗的样本/模板来欺骗身份验证服务器,生物特征认证系统的安全性也随之降低。虽然欧洲当局为了确保所有公民的隐私和数据的安全,颁布了一系列的法律法规来规范生物特征识别技术在金融等其他领域的应用,但生物特征模板的安全依然面临着严峻的挑战。


技术实现要素:

3.本发明的目的在于克服现有技术的缺点与不足,提供一种基于数字水印的阈值谓词加密生物特征认证方法,在本认证方法中,服务器只知道生物特征模板向量与查询生物特征向量的内部乘积是否大于预定的阈值,并不知道具体的乘积值,这样可以保证该方案具有较高的身份验证准确性以及隐私泄露的鲁棒性。然而当攻击者向服务器发送随机的模板或者是通过窃听得到的查询模板时,就可以欺骗服务器,对其发动随机攻击、重放攻击和共谋攻击,且成功率很高。因此,为了保证生物特征认证系统的安全性,其抵御模仿攻击的能力必须得到提高。
4.本发明的目的通过以下的技术方案实现:
5.一种基于数字水印的阈值谓词加密生物特征认证方法,如图1所示,包括以下步骤:
6.通过客户端获取用户的生物特征,对每个用户的生物特征生成一个参考模板,并存储在服务端;
7.用户通过客户端向服务端发起认证请求;
8.服务端收到客户端的认证请求,将向用户发送挑战;
9.客户端收到挑战后,将采集客户端新的生物特征样本,并得到生物特性向量,经过嵌入水印信息操作,得到质询的生物特性向量,进而得到质询模板并发送至服务端;
10.服务端收到质询模板,进行每个片段中检测向量的信号计算,判断水印信息是否正确,根据水印信息的判断结果得到第一步认证结果;进行总相关值计算,根据总相关值和第一步认证结果得出最终认证结果。
11.进一步地,所述通过客户端获取用户的生物特征,对每个用户的生物特征生成一个参考模板,并存储在服务端,具体包括以下步骤:
12.s101、获取系统参数;
13.其中系统参数param如下所示:
14.param={n,θ},
15.其中n表示特征向量中的元素个数,θ是一个阈值;
16.s102、客户端为用户生成私钥sk,
17.对用户的每个生物特征片段生成私有的随机排列函数π,若该生物特征片段中含有q个元素,则生成两个(q+3)
×
(q+3)随机矩阵m1和m2,进而生成私钥sk:
18.sk={m1,m2,n,π},
19.s103、用户将在客户端注册其生物特征模板向量x和私钥sk,用以生成参考模板c
x

20.s104、将生成的参考模板c
x
存储在服务端中。
21.进一步地,所述参考模板c
x
需要通过密码编码获得,具体如下:
22.客户端使用私钥sk在服务器上将其生物特征注册为参考模板c
x

23.若第一个生物特征片段中含有q个元素,则创建一个q+3维的向量:
[0024][0025]
其中,β是随机的正数,也是随机数;
[0026]
构建一个对角矩阵diag(x1)=π1(x
′1),其中π1(x
′1)表示置换向量x
′1中元素的位置;
[0027]
构建一个(q+3)
×
(q+3)的下三角矩阵该矩阵的对角线元素都为1;
[0028]
得到用户的生物特征模板中的第一个片段的参考模板:
[0029][0030]
其中,m1和m2为随机矩阵,为三角矩阵;
[0031]
最终,将所有片段的参考模板连接起来,得到完成的参考模板c
x

[0032]
进一步地,所述用户通过客户端向服务端发起认证请求,具体为:用户使用身份id通过客户端向服务端发起认证请求。
[0033]
进一步地,所述服务端收到客户端的认证请求,将向用户发送挑战,具体包括以下步骤:
[0034]
s301、服务端接收到用户的认证请求后,读取用户的参考模板
[0035]
s302、服务端随机选取一个与参考模板维度相同的非奇异方阵r
i
与其进行运算,得到挑战
[0036]
s303、将u={u1,u2,

,u
p
}发送给客户端。
[0037]
进一步地,所述嵌入水印信息操作,即对生物特征向量进行水印加密,具体如下:
[0038]
若生物特征向量y分为p个片段,则随机选取两个向量m={m1,m2,

,m
p
}和{θ1,θ2,


p
},并且这两个向量满足以下的关系:
[0039][0040]
其中,q表示第i个片段中元素的个数,θ1,θ2,

θ
p
是取值区间为[0,1]的随机数,且满足θ1+θ2+


p
=θ的关系,m1,m2,

,m
p
为随机数,且满足m1+m2+

+m
p
=0的关系;
[0041]
构建一个双极向量w={w1,w2,

,w
q
}如下:
[0042][0043]
其中,sign(
·
)表示取值为1或

1的符号函数,m
i
表示第i个片段的随机数,θ
i
表示第i个片段的阈值;
[0044]
然后使用单向哈希函数计算h=hash(w);
[0045]
选择p个随机数字ry1,ry2,

,ry
p
以及一个随机正数α,同时将w
i
与y
i
相结合产生新的向量:
[0046]
y

i
=α(y
i
,m
i

i
,0,r
yi
),i=1,2,

,p,
[0047]
其中,y
i
表示第i个生物特征片段,表示第i个生物特征片段的随机数,α是随机产生的正数。
[0048]
进一步地,所述得到质询的生物特征向量,具体如下:
[0049]
对y

的任意一个y

i
,构造一个对角线矩阵y
i
,其中diag(y
i
)=π
i
(y

i
);
[0050]
选取一个(q+3)
×
(q+3)的下三角矩阵s
yi
,且该矩阵的对角线元素为1;
[0051]
构造子质询生物特征模板为:
[0052][0053]
其中和是由密钥sk提取而得到的;
[0054]
得到最终的质询生物特征模板为:
[0055][0056]
其中,表示第i个片段的质询生物特征模板,p个片段的质询生物特征模板拼接后,得到完整的质询质询生物特征模板t
y

[0057]
进一步地,还包括步骤特征解码,所述特征解码具体如下:
[0058]
通过计算矩阵c
x
和t
y
的迹,构造一个检测矩阵v,则有:
[0059][0060]
其中,c
xi
表示参考模板中的第i个片段。
[0061]
进一步地,所述进行每个片段中检测向量的信号计算,判断水印信息是否正确,根据水印信息的判断结果得到第一步认证结果;进行总相关值计算,根据总相关值和第一步认证结果得出最终认证结果,具体为:
[0062]
客户端收到质询模板v,并且进行以下的计算:
[0063][0064]
其中,r
i
服务端随机选取非奇异方阵,u
i
为服务端向用户发送的挑战;
[0065]
计算检测向量v的水印信号;若w为空,则认证失败;否则,h=hash(w);计算过程如下:
[0066]
通过计算每个片段中检测向量的信号来判断水印信息是否正确,计算过程如下:
[0067]
针对检测向量v中的任意一个元素v
i
,计算其元素的信号:
[0068][0069]
其中,v
i
为第i个生物特征片段的相关值。
[0070]
如果h与hash(w)相等,则输出的水印即为信号w,否则输出水印为空;
[0071]
最后,服务端将计算v

=v1+v2+

+c
p
作为总相关值;若v

<0,用户同样认证失败;反之,则认为水印被正确地提取出来,用户认证成功。
[0072]
本发明与现有技术相比,具有如下优点和有益效果:
[0073]
1、本申请的认证水印是随机生成的,并且将水印按位嵌入到每个查询生物特征段中,水印的随机性确保其无法被刻意复制,提高系统的安全性;
[0074]
2、本申请的技术方案与普通的水印技术相比,基于单向哈希函数的水印加密,计算效率高,结果具有唯一性,一旦攻击者篡改或伪造查询生物特征信息,可以第一时间被识别出来,极大地降低了模拟攻击的成功率;
[0075]
3、本申请中,水印作为共享密钥,用于生成用户和服务器之间的密钥,保证密钥不会轻易被破解。
附图说明
[0076]
图1为本发明所述一种基于数字水印的阈值谓词加密生物特征认证方法的流程图。
具体实施方式
[0077]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0078]
实施例:
[0079]
一种基于数字水印的阈值谓词加密生物特征认证方法,如图1所示,包括以下步骤:
[0080]
通过客户端获取用户的生物特征,对每个用户的生物特征生成一个参考模板,并存储在服务端;
[0081]
用户通过客户端向服务端发起认证请求;
[0082]
服务端收到客户端的认证请求,将向用户发送挑战;
[0083]
客户端收到挑战后,将采集客户端新的生物特征样本,并得到生物特性向量,经过
嵌入水印信息操作,得到质询的生物特性向量,进而得到质询模板并发送至服务端;
[0084]
服务端收到质询模板,进行每个片段中检测向量的信号计算,判断水印信息是否正确,根据水印信息的判断结果得到第一步认证结果;进行总相关值计算,根据总相关值和第一步认证结果得出最终认证结果。
[0085]
具体如下:
[0086]
其中基于数字水印的谓词加密算法的具体步骤如下:
[0087]
步骤1:参数设置
[0088]
生成一个生成依赖于应用程序的系统参数param={n,θ},其中n表示特征向量中的元素个数,θ是一个阈值。
[0089]
步骤2:密钥生成
[0090]
本过程即客户端为alice生成私钥sk。该私钥是随机生成的多维参数矩阵,待加密片段的元素个数决定矩阵的维度。系统会针对alice的每个生物特征片段生成其私有的随机排列函数π。若该生物特征片段中含有q个元素,则系统会生成两个(q+3)
×
(q+3)的随机矩阵m1和m2,最后生成的密钥为:
[0091]
sk={m1,m2,n,π}
[0092]
步骤3:密码编码
[0093]
该步骤中,客户端使用为alice生成的私钥sk,在服务器上将其生物特征注册为参考模板c
x

[0094]
·
若第一个生物特征片段中含有q个元素,则创建一个q+3维的向量:
[0095][0096]
其中,β是随机的正数,也是随机数。
[0097]
·
构建一个对角矩阵diag(x1)=π1(x
′1),其中π1(x
′1)表示置换向量x
′1中元素的位置。
[0098]
·
构建一个(q+3)
×
(q+3)的下三角矩阵该矩阵的对角线元素都为1。
[0099]
·
得到alice的生物特征模板中的第一个片段的参考模板:
[0100][0101]
最终,将所有片段的参考模板连接起来就可以得到完成的参考模板c
x

[0102]
步骤4:嵌入水印信息
[0103]
该步骤中,alice得到她的生物特征向量y和私钥sk之后,为了保障y的安全,将对其进行水印加密,过程如下:
[0104]
·
若生物特征向量y可以分为p个片段,则随机选取两个向量m={m1,m2,

,m
p
}和{θ1,θ2,


p
},并且这两个向量满足以下的关系:
[0105][0106]
其中,q表示第i个片段中元素的个数。
[0107]
·
构建一个双极向量w={w1,w2,

,w
q
}如下:
[0108][0109]
然后使用单向哈希函数计算h=hash(w)。
[0110]
·
选择p个随机数字ry1,ry2,

,ry
p
以及一个随机正数α,同时将w
i
与y
i
相结合产生新的向量
[0111]
步骤5:生成质询的生物特征向量
[0112]
该步骤中,将生成质询的生物特征向量t
y
,其过程如下:
[0113]
·
对y

的任意一个y

i
,构造一个对角线矩阵y
i
,其中diag(y
i
)=π
i
(y

i
)。
[0114]
·
选取一个(q+3)
×
(q+3)的下三角矩阵且该矩阵的对角线元素为1。
[0115]
·
构造子模板为其中和是由密钥sk提取而得到的,
[0116]
·
最终的模板为
[0117]
步骤6:特征解码
[0118]
在该步骤中,通过计算矩阵c
x
和t
y
的迹,构造一个检测矩阵v,则
[0119]
步骤7:水印提取
[0120]
该步骤通过计算每个片段中检测向量的信号来判断水印信息是否正确,计算过程如下:
[0121]
针对检测向量v中的任意一个元素v
i
,计算它的信号如果h与hash(w)相等,则输出的水印即为信号w,否则输出水印为空。
[0122]
在算法基础上,可以实现生物特征的认证方法步骤如下:
[0123]
步骤1:准备环节
[0124]
该步骤将针对每个用户的生物特征生成一个参考模板,并将其存储在系统的服务端,其过程如下:
[0125]
·
如算法步骤1,2所示,首先获取系统的参数param={n,θ}和对应于每个用户的密钥sk
[0126]
·
为了获得服务端的响应,alice将在客户端注册其生物特征模板向量x和密钥sk,用以生成参考模板c
x

[0127]
·
生成的参考模板c
x
将被存储在服务端中。
[0128]
步骤2:初始化环节
[0129]
该步骤中。alice会将她的身份id发送给服务端,发起认证请求。
[0130]
步骤3:挑战环节
[0131]
服务端收到用户的请求后,向用户发送挑战u,其过程如下:
[0132]
·
服务端收到用户的id后,将读取alice的参考模板c
x

[0133]
·
服务器随机选取一个与维度相同的非奇异方阵r
i
与其进行运算,得到新的矩阵
[0134]
·
将u={u1,u2,

,u
p
}发送给客户端。
[0135]
步骤4:应答环节
[0136]
该步骤中,客户端在收到挑战u之后,将采集alice新的特征样本,并得到特征向量y。之后经过嵌入水印信息等一系列操作后,得到质询的生物特征向量t
y
。客户端会计算出所有的并且将其与哈希值h一起发送给服务端。
[0137]
步骤5:认证环节
[0138]
客户端收到质询模板v,并且进行以下的计算:
[0139][0140]
参照算法7,计算检测向量v的水印信号。若w为空,则认证失败。否则,h=hash(w)。
[0141]
最后,服务端将计算v

=v1+v2+

+c
p
作为总相关值。若v

<0,用户同样认证失败。反之,则认为水印被正确地提取出来,用户认证成功。
[0142]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1