一种生物特征认证方法和系统与流程

文档序号:33547957发布日期:2023-03-22 10:13阅读:54来源:国知局
一种生物特征认证方法和系统与流程

1.本发明涉及生物特征认证技术领域,特别涉及一种生物特征认证方法和系统。


背景技术:

2.生物特征包括但不仅限于人脸、指纹、声纹、虹膜、视网膜、掌纹、静脉、步态、手写签字等特征,现有技术专利cn101984576b公开了一种基于加密人脸的匿名身份认证方法和系统,上述现有技术专利公开生物特征认证方法可以被总结为:注册阶段和认证阶段,其中注册阶段技术包括:用户在客户端进行注册,客户端获取用户的身份信息和生物特征向量;使用公钥对用户的生物特征向量进行加密;将用户的身份信息和生物特征的加密值通过应用服务器的数据转发子模块存储在数据库服务器中。认证阶段包括:用户在客户端进行登录,客户端获取生物特征向量;使用公钥对该用户的生物特征进行加密;将该用户生物特征的加密值通过应用服务器的数据转发子模块输出到数据库服务器并与在注册阶段存储在数据库服务器的用户生物特征的加密值计算加密域特征距离,本步骤中,数据库服务器上的恶意软件可以利用认证服务的公钥加密一个捏造的小于设定阈值的特征距离,从而使得认证服务对非法成员认证通过;应用服务器的认证子模块利用私钥对加密域特征距离进行解密,得到特征距离;若特征距离小于设定阈值,则认为该用户通过身份认证,否则认为该用户没有通过身份认证。上述现有技术还存在如下技术缺陷:现有技术中使用生物特征进行认证时,敌方可以记录包含有生物特征的认证消息并进行重放攻击,从而使得认证服务对非法成员认证通过。


技术实现要素:

3.本发明其中一个发明目的在于提供一种生物特征认证方法和系统,所述方法和系统在认证过程中,认证方对生物特征距离加入了认证密钥生成的挑战值,因此,其他没有拥有认证密钥的计算方无法利用认证服务的公钥加密一个捏造的小于设定阈值的特征距离,从而使得认证服务不会对非法成员认证通过,从而提高认证的安全性。
4.本发明另一个发明目的在于提供一种生物特征认证方法和系统,所述方法和系统在利用生物特征进行认证时,由于每次认证消息不同,因此使得认证密钥生成的挑战值不同,因此敌方无法记录认证消息并进行重放攻击,从而使得认证服务不会对进行重放攻击的非法成员认证通过。
5.为了实现至少一个上述发明目的,本发明进一步提供一种生物特征认证方法,所述方法包括:注册阶段获取用户身份信息和用户第一生物特征,构建第一生物特征向量,构建动态认证密钥机制;利用公钥对所述第一生物特征向量进行同态加密得到第一生物特征向量密文,并将所述用户身份信息和第一生物特征向量密文传输给数据库服务器;认证阶段获取用户身份信息、动态认证密钥和用户第二生物特征,构建第二生物
特征向量,并对所述动态认证密钥计算第一挑战向量;根据所述第一挑战向量计算临时生物特征距离向量,利用公钥对所述临时生物特征距离向量进行同态加密,得到临时生物特征距离向量密文,并将临时生物特征距离向量密文传输给数据库服务器;数据库服务器根据自身保存的第一生物特征向量和所述临时生物特征距离向量密文得到第一生物特征距离向量密文,并将所述第一生物特征距离向量密文发送给应用服务器;应用服务器获取第一生物特征距离向量密文作为第二生物特征距离向量密文,根据自身私钥解密所述第二生物特征距离向量密文,并将所述动态认证密钥再次计算第一挑战向量,根据解密的第二生物距离向量和再次计算的第一挑战向量计算特征距离,设置特征距离阈值,若计算的特征距离小于所述特征距离阈值则认证通过。
6.根据本发明其中一个较佳实施例,在注册阶段,所述动态认证密钥的构建方法包括:将动态口令、短信验证码、会话密钥或秘密分发的真随机数作为用户和应用服务器之间的动态认证密钥根据本发明另一个较佳实施例,所述动态认证密钥为动态对称密钥,且所述动态对称密钥为标量或矢量。
7.根据本发明另一个较佳实施例,所述动态认证密钥为将静态对称密钥根据时间戳或当前事件组建或计算得到,所述静态对称密钥为静态口令或秘密分发的真随机数。
8.根据本发明另一个较佳实施例,在注册阶段采用应用服务器公钥对所述第一生物特征向量进行同态加密,得到所述第一生物特征向量密文,客户端将所述用户身份信息和第一生物特征向量密文发送给数据库服务器存储。
9.根据本发明另一个较佳实施例,所述第一挑战向量的计算方法包括:以含有用户身份信息的认证请求消息和挑战向量序号为消息,以动态对称密钥为输入,进行消息认证码算法计算得到所述第一挑战向量。
10.根据本发明另一个较佳实施例,所述临时生物特征距离向量的计算方法包括:认证阶段获取第二生物特征向量,并获取第一挑战向量的每一元素,将所述第一挑战向量每一元素和所述第二生物特征向量的每一元素进行差值计算,得到所述临时生物特征距离向量。
11.根据本发明另一个较佳实施例,应用服务器对所述第二生物特征距离向量密文采用自身密钥进行解密,根据同态加密的特性,解密后所述第二生物特征向量相对于所述第一生物特征距离向量的每一元素都包含对应位置的挑战向量元素。
12.为了实现至少一个上述发明目的,本发明进一步提供一种生物特征认证系统,所述系统执行上述一种生物特征认证方法。
13.本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述一种生物特征认证方法。
14.本发明的有益效果如下:1、本发明中使用同态加密的生物特征进行认证时,由于认证方对特征距离加入了用认证密钥生成的挑战值,任何不拥有认证密钥的成员(如同态密文计算的一方,或其他任意非法成员)无法利用认证服务的公钥加密一个捏造的小于设定阈值的特征距离,从而使
得认证服务不会对非法成员认证通过。
15.2、本发明中使用生物特征进行认证时,每次不同的认证使用的认证密钥均不同,于是用认证密钥生成的挑战值均不同,因此敌方无法记录认证消息并进行重放攻击,从而使得认证服务不会对进行重放攻击的非法成员认证通过。
附图说明
16.图1显示的是本发明一种生物特征认证方法的流程示意图。
17.图2显示的是本发明一种生物特征认证系统结构示意图。
具体实施方式
18.以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
19.可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
20.请结合图1-图2,本发明公开了一种生物特征认证方法和系统,其中所述方法包括注册阶段和认证阶段两个阶段,其中所述注册阶段包括:获取用户身份信息ida和用户生物特征信息,其中所述生物特征信息包括但不仅限于人脸、指纹、声纹、虹膜、视网膜、掌纹、静脉、步态、手写签字等,根据所述生物特征信息生成用户的第一生物特征向量,其中所述第一生物特征向量a=(a1,a2,

,ai,

,an)。极端情况下,特征向量维度为1时,第一生物特征向量a为标量a1。
21.在注册时,进一步设定客户端u的用户和应用服务器as之间动态对称密钥机制,该机制可生成dk作为认证密钥,其中所述动态对称密钥可以优先配置为动态口令、短信验证码、会话密钥或秘密分发的真随机数,秘密分发真随机数的方式例如在保密会话通信时as向u传输会话密钥加密的真随机数;或者在其他一些优选方案中所述动态对称密钥可以由静态对称密钥根据当前时间、当前事件计算得到。所述静态对称密钥可以为静态口令或秘密分发的真随机数,秘密分发真随机数的方式例如as向u颁发带有真随机数的硬件(如ic卡、rfid等)或通过邮件方式分发。所述动态对称密钥dk可以为标量或与a维度一致的矢量,当所述动态对称密钥dk为矢量时,dk=(dk1,dk2,

,dki,

,dkn)。
22.在注册阶段进一步对所述第一生物特征向量a=(a1,a2,

,ai,

,an)采用应用服务器公钥pkas进行同态加密,得到所述第一生物特征向量密文ea=(ea1,ea2,

,eai,

,ean),其中加密方法为用应用服务器公钥pkas对每个第一生物特征向量标量值ai进行同态加密得到eai={ai}pkas。将用户的身份信息和第一生物特征向量密文通过应用服务器的数据转发子模块转发后存储在数据库服务器中。即客户端u将ida||ea发送给应用服务器as,应用服务器as将其转发给数据库服务器ds。数据库服务器ds存储ida||ea。
23.在认证阶段,用户在客户端u登录,登录后根据动态对称密钥机制生成本次认证的动态对称密钥dk,获取所述用户身份信息和第二生物特征信息,其中所述第二生物特征信
息通过相关的设备获取,比如人脸信息或虹膜信息可以通过摄像头拍照获取。客户端u将所述第二生物特征信息转化为第二生物特征向量b=(b1,b2,

,bi,

,bn)。进一步根据动态对称密钥dk计算第一挑战向量c=(c1,c2,

,ci,

,cn),其中当dk为标量时,其中第i个挑战标量ci=auth(mauth||i,dk),mauth为用户的认证请求消息,认证请求消息中包含ida,例如“ida请求身份认证”,或“xx点yy分zz秒,ida于ip地址192.168.1.100处请求身份认证”。auth(x,dk)是以x为消息、以dk为对称密钥的消息认证码,优选为,消息认证码所用算法为hmac算法,计算得到所述挑战标量ci,将所有挑战标量计算完毕后得到所述第一挑战向量c=(c1,c2,

,ci,

,cn)。当dk为矢量时,其中第i个挑战标量ci=auth(mauth||i,dki)。
24.值得一提的是,本发明认证阶段需要计算临时特征距离向量dt=(dt1,dt2,

,dti,

,dtn),其中第i个临时特征距离标量dti=ci-bi。进一步利用应用服务器公钥pkas对所述临时特征距离向量dt进行同态加密得到临时生物特征距离向量密文edt=(edt1,edt2,

,edti,

,edtn),加密方法包括:用应用服务器公钥pkas对每个临时特征距离向量标量值dti进行同态加密得到edti={dti}pkas。客户端u将所述用户身份信息和所述临时生物特征距离向量密文 mauth||edt转发给应用服务器as,应用服务器as将所述 mauth||edt转发给数据库服务器ds。数据库服务器ds根据mauth中的用户身份信息ida找到注册阶段保存的第一生物特征向量密文ea,计算得到生物特征距离向量密文ed=(ed1,ed2,

,edi,

,edn)。以第i个位置的计算为例,ds进行同态密文计算edi=edti

eai,其中

为同态加法运算,可满足e(x)

e(y)=e(x+y) ,即两个变量分别加密并进行同态加法的结果等价于两个变量进行加法并加密的结果,e(*)为同态加密算法。数据库服务器ds将生物特征距离向量密文ed发送给应用服务器as。
25.其中应用服务器as的认证子模块利用私钥对加密域的生物特征距离进行解密,得到生物特征距离;as计算挑战向量c=(c1,c2,

,ci,

,cn),方法与前文相同。
26.as计算得到第二生物特征距离向量d'=(d1',d2',

,di',

,dn')。
27.上述生物特征距离向量以第i个位置的计算为例,根据同态加密的特性,as可以用自身私钥skas解密edi得到di',由于edi=edti

eai={dti}pkas

{ai}pkas={ci-bi}pkas

{ai}pkas={ci+ai-bi}pkas,设第i个特征距离标量di=ai-bi,因此di'应该等于di+ci。
28.应用服务器as根据第二身份特征距离向量d'计算特征距离d',优选为,特征距离为欧氏特征距离,此时。
29.由di'=di+ci可见,由于认证方对生物特征距离加入了用认证密钥生成的挑战值,任何不拥有认证密钥的成员(如同态密文计算的一方)无法利用认证服务的公钥加密一个捏造的小于设定阈值的特征距离,从而使得认证服务不会对非法成员认证通过,例如,假设同态密文计算的一方捏造了一个随机的特征距离向量d',该向量计算得到小于设定阈值的特征距离d'的概率是微乎其微的;每次不同的认证使用的认证密钥均不同,于是用认证密钥生成的挑战值均不同,因此敌方无法记录认证消息并进行重放攻击,从而使得认证服务不会对进行重放攻击的非法成员认证通过。若特征距离小于设定阈值,则认为该用户通过身份认证且确认其身份为ida,否则认为该用户没有通过身份认证。
30.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计
算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、rf等等,或者上述的任意合适的组合。
31.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
32.本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1