双因子认证方法及系统
- 国知局
- 2024-11-19 09:37:07
本技术涉及计算机安全,特别涉及身份认证技术。
背景技术:
1、本部分旨在为权利要求书中陈述的本技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。
2、双因子认证方案是指使用两个不同的身份认证因子来验证用户身份的认证方案。通常,这两个因子包括用户的身体特征(如指纹、面部识别、虹膜扫描等)和一个秘密因子(如密码、私钥等)。在双因子认证方案中,用户需要同时提供这两个因子才能通过身份验证。与单因子认证相比,双因子认证方案更加安全,因为攻击者需要同时获取两个不同的因子才能成功冒充用户。
3、下面进一步介绍现有技术中的双因子认证方案。
4、参见图1的用户向服务器注册阶段。在注册阶段,首先用户调用同态加密的密钥生成算法生成一对公私钥(pk,sk)←he.keygen(1λ),采集用户的人脸信息特征向量γ=(γ1,…,γk)。然后对每一位调用同态加密的加密算法得到ci=(αi,βi)←he.enc(pk,γi)。将id与密文c1,…,ck以及公钥pk发送给服务器,服务器存储之。
5、在认证阶段中,用blindesed算法表示盲平方欧氏距离算法。
6、参见图2,当用户想要进行认证时,执行以下步骤:
7、步骤1:首先是对人脸生物特征进行采样得到γ′=(γ1′,…,γk′),将用户的id,以及ci′=(αi,βi)←he.enc(pk,γi′)发送给服务器。
8、步骤2:服务器收到ci’后,均匀随机生成r0,r1并调用盲平方欧式距离计算算法得到二阶密文s*=(α*,β*)发给用户。
9、步骤3:用户收到s*后,调用解密算法s*←he.dec(sk,s*)发给服务器。
10、步骤4:服务器根据s*计算阈值s,与标准阈值比较,判断是否通过认证。
11、然而,上述方案存在以下技术问题:
12、无法抵御重放攻击:恶意用户可以通过重放第一条消息,在不知道该用户人脸特征向量的情况下,通过认证,因此该方案无法防止重放攻击。
13、安全模型弱:该方案只考虑了“诚实但好奇”的服务器,无法防止恶意服务器的攻击。服务器可以在认证阶段的第二步中,将自己所储存的密文c替代s*发给用户解密,这样服务器就可以获取用户的人脸特征向量,从而打破了安全性。
14、效率较低:该方案使用了二次同态加密方案,加解密效率较低,因此在实际应用中可能会面临效率问题。
15、因此,上述方案的安全性较低,效率较低,无法很好地满足用户的需要。
技术实现思路
1、本发明的目的在于提供一种双因子认证方法及系统,以解决上述背景技术中提出的问题。
2、本技术公开了一种双因子认证方法,包括:
3、步骤a:在初始化阶段,系统调用签名算法的初始化算法,设置系统参数;
4、步骤b:在用户注册阶段,用户调用签名算法的密钥生成算法根据系统参数生成第一对公私钥,并对自己的生物特征进行采样,调用模糊提取器的生成算法对生物认证因子w进行运算生成公开辅助信息和字符串,将所述字符串作为签名算法的密钥生成算法的随机数生成第二对公私钥,以及将第一对公私钥和第二对公私钥的公钥发给服务器保存,将第一对公私钥的私钥和公开辅助信息保存在用户设备中;
5、步骤c:在用户认证阶段,服务器向用户发送随机数,并根据该随机数分别调用得到两个签名,服务器将该两个签名与存储其中的公钥进行认证。
6、在一个优选例中,所述步骤a中,服务器首先调用签名算法的初始化算法生成ppsig,并将ppsig作为系统参数pp2fa进行设置。
7、在一个优选例中,所述步骤b中,用户idc调用签名算法的密钥生成算法(vk1,sk1)←sig.keygen(ppsig)生成一对公私钥,并对自己的生物特征进行采样w←sample(w),再对生物认证因子w调用模糊提取器的生成算法(r,p)←fe.gen(w),得到公开辅助信息p与字符串r;用字符串r生成另一对公私钥(vk2,sk2)←sig.keygen(pp;r);将idc、vk1、vk2发给服务器,将p、sk1存储在用户设备中,其中,idc表示所述用户的身份标识符,w表示用户的生物认证因子,p是公开辅助信息,r是字符串,vk1、vk2表示用户生成的公钥,sk1、sk2表示用户生成的私钥认证因子。
8、在一个优选例中,所述私钥认证因子是由所述用户保密存储的,只有用户知道其值,其他人无法获得。
9、在一个优选例中,所述用户的生物认证因子是以下之一或其任意组合:所述用户的人脸图像、所述用户的指纹、所述用户的虹膜。
10、在一个优选例中,所述步骤c中,用户向服务器请求服务,服务器从其数据库中获取(idc,vk1,vk2)并向用户发送随机数r,对生物特征进行采样得到w′,然后对w′和p调用模糊提取器的再生算法生成r′,将r′作为签名算法的密钥生成算法的随机数,生成一对公私钥(vk′2,sk′2);对于随机数r分别调用两个签名算法得到σ1以及σ2,并将两个签名σ1,σ2发送给服务器,服务器收到签名σ1,σ2后,分别获得b1,和b2,认证结果即为b=b1·b2。
11、在一个优选例中,如果b=1,认证通过,否则认证失败。
12、在一个优选例中,所述步骤c进一步包含以下步骤:
13、所述用户向服务器请求服务,将请求消息(idc,request)发送给服务器,并向用户发送随机数r;
14、所述服务器首先从其数据库中获取用户身份标识符idc对应的生物认证因子w′和公开辅助信息p,然后调用模糊提取器的再生算法生成字符串r′,将r′作为签名方案的密钥生成算法的随机数,生成一对公私钥(vk′2,sk′2),对于随机数r分别调用签名算法(sk1,r)得到σ1以及调用签名算法(sk′2,r)得到σ2,并将两个签名发送给服务器;
15、服务器收到签名σ1,σ2后,分别用公钥认证因子vk1、消息r和σ1验证b1,用公钥认证因子vk2、消息r和σ2验证b2,认证结果即为b=b1·b2。
16、本技术公开了一种双因子认证系统,包括:
17、存储器,用于存储计算机可执行指令;以及,
18、处理器,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。
19、本技术还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
20、本技术实施方式中,基于生物信息和公钥加密的双因子认证方案,旨在提高认证的安全性和效率。该方法是基于生物信息和数字签名的双因子认证技术,其中,使用数字签名的公钥加密方案和模糊提取器对生物信息进行保护实现认证过程,并具有抵御重放攻击和恶意服务器攻击的能力。具体来说,该方案通过服务器随机生成挑战数来抵御重放攻击;并使用生物认证因子和私钥认证因子的双因子认证来抵御恶意用户攻击。同时,该方案使用模糊提取器来保护用户的生物特征信息,使用数字签名的公钥加密方案来保护用户私钥信息,从而抵御恶意服务器攻击。本技术显著提高了认证的安全性和认证的效率,能够更好地满足用户的需要。
21、本技术的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本技术所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本技术上述技术实现要素:中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。
本文地址:https://www.jishuxx.com/zhuanli/20241118/329516.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。