一种基于数字签名技术的鉴权方法与流程
- 国知局
- 2024-10-09 14:42:00
本发明属于计算机,具体涉及一种基于数字签名技术的鉴权方法。
背景技术:
1、随着计算机技术和网络通信技术的飞速发展,互联网给人们带来便利的同时,信息的传递和处理已经由传统的线下纸质模式逐渐转变为网络媒介。然而,网络环境的复杂性和开放性使得信息的传输和存储面临着一系列的安全威胁,如信息被截获、篡改、伪造,以及发送方和接收方之间的身份确认问题。
2、目前,身份认证技术中数字签名技术是作为数据完整性验证和保证数据来源可靠性的重要技术,但是数字签名技术存在密钥与合法用户之间缺乏联系带来的安全性问题,另外在开放式互联网下,通过生物特征识别的身份验证系统一旦遭到攻击,不仅面临着生物特征模板隐私的泄露,还可能给用户权益带来重大的损失,而常用的身份鉴权方案基本为集中式鉴权,鉴权数据和鉴权日志极易被篡改,篡改后也无法进行有效追溯。
技术实现思路
1、为解决现有技术中存在的上述问题,本发明提供了一种基于数字签名技术的鉴权方法,根据用户注册请求进行密钥交换得到共享密钥,根据用户生物信息通过特征提取得到用户生物特征向量,根据用户生物特征向量得到生物特征值,将生物特征值、用户公钥、共享密钥和时间戳得到用户密文信息,对时间戳进行验证得到验证结果,将生物特征值和用户公钥存储至数据库,根据验证结果和验证时间戳得到注册密文信息,根据注册密文信息得到验证结果和验证时间戳,对验证时间戳进行验证得到注册结果,根据用户登录请求采集待登入用户生物信息,对待登入用户生物信息进行签名得到签名信息,根据待登入用户生物信息、签名信息和登入时间戳得到登入密文信息,并将登入密文信息上传至服务器端,服务器端通过共享密钥对密文信息进行解密,根据待登入用户生物信息通过调用数据库进行生物特征匹配得到匹配结果,根据匹配结果对签名信息进行验证得到第二验证结果和第二验证时间戳并通过加密算法得到登入验证密文,并将登入验证密文发送到客户端,客户端对登入验证密文进行验证得到身份验证结果,
2、本发明的目的可以通过以下技术方案实现:
3、一种基于数字签名技术的鉴权方法,具体包括以下步骤:
4、s1:获取用户注册请求,根据所述用户注册请求进行密钥交换得到共享密钥,所述共享密钥携带时间戳;
5、s2:采集用户生物信息,根据所述用户生物信息通过特征提取得到用户生物特征向量,根据所述用户生物特征向量得到生物特征值,调用用户公钥,将所述生物特征值、所述用户公钥、所述共享密钥和所述时间戳通过加密算法处理得到用户密文信息,并将所述密文信息上传至服务器端;
6、s3:所述服务器端接收所述用户密文信息,根据所述密文信息通过解密算法处理得到所述生物特征值、所述用户公钥、所述共享密钥和所述时间戳,对所述时间戳进行验证得到验证结果,所述验证结果携带验证时间戳,根据所述验证结果对所述生物特征值和所述用户公钥存储至数据库,根据所述验证结果和所述验证时间戳通过加密算法处理得到注册密文信息,并将所述注册密文信息传输至客户端,所述客户端接收所述注册密文信息,根据所述注册密文信息通过解密算法处理得到所述验证结果和所述验证时间戳,对所述验证时间戳进行验证得到注册结果;
7、s4:获取用户登入请求,根据所述用户登录请求采集待登入用户生物信息,对所述待登入用户生物信息进行签名得到签名信息,所述签名信息包括请求登入时间,根据所述请求登入时间得到登入时间戳,根据所述待登入用户生物信息、所述签名信息和所述登入时间戳通过加密算法处理得到登入密文信息,并将所述登入密文信息上传至所述服务器端;
8、s5:所述服务器端通过所述共享密钥对所述密文信息进行解密得到所述待登入用户生物信息、所述签名信息和所述登入时间戳,根据所述待登入用户生物信息通过调用数据库进行生物特征匹配得到匹配结果,根据所述匹配结果对所述签名信息进行验证得到第二验证结果和第二验证时间戳,根据所述第二验证结果和所述第二验证时间戳通过加密算法得到登入验证密文,并将所述登入验证密文发送到所述客户端;
9、s6:所述客户端对所述登入验证密文进行解密得到所述第二验证结果和所述第二验证时间戳,对所述第二验证时间戳进行验证得到身份验证结果,所述身份验证结果包括用户身份验证成功和用户验证失败。
10、优选地,所述步骤s1具体包括以下步骤:
11、s101:所述密钥交换包括终端初始化、密钥交换阶段和密钥计算阶段,其中,所述终端初始化包括确定安全参数、循环群和生成元,获取客户端私钥和服务器端私钥,根据所述生成元和所述客户端私钥得到客户端公钥,根据所述生成元和所述服务器端私钥得到服务器端公钥,通过ca机构对客户端和服务器端签发客户端证书和服务器端证书;
12、s102:所述密钥交换阶段包括所述客户端确定客户端随机数和第一交换时间戳,根据所述客户端随机数和所述第一交换时间戳通过客户端签名得到客户端签名信息,将所述客户端签名信息和所述客户端证书发送至所述服务器端,所述服务器端根据所述客户端签名信息和所述客户端证书确定服务器端随机数和第二交换时间戳,根据所述服务器端随机数和所述第二交换时间戳通过服务器端签名得到服务器端签名信息,并将所述服务端签名信息和所述服务器端证书发送至所述客户端;
13、s103:所述密钥计算阶段包括所述客户端对所述服务器端证书进行校验得到第一校验结果,根据所述第一校验结果对所述客户端签名信息进行验证得到第一验证结果,根据所述第一验证结果通过计算得到所述共享密钥,所述服务器端对所述客户端证书进行校验得到第二校验结果,根据所述第二校验结果对所述客户端签名信息进行验证得到第二验证结果,根据所述第二验证结果通过计算得到所述共享密钥。
14、优选地,所述步骤s102中所述客户端签名具体包括根据所述客户端随机数结合所述生成元通过公式ga=ga计算得到客户端秘密值,其中,ga表示所述客户端秘密值,g表示所述生成元,a表示所述客户端随机数,根据所述客户端秘密值和所述第一交换时间戳确定客户端消息,所述客户端消息表示为ma=ga||ta,对所述客户端消息进行签名,通过公式计算得到第一签名信息,其中,ma表示所述客户端消息,确定次要随机数,根据所述次要随机数通过公式ga1=ga1计算得到次要秘密值,根据所述次要秘密值结合所述客户端公钥通过公式计算得到第二签名信息,根据所述第一签名信息和所述第二签名信息通过公式计算得到所述客户端签名信息,其中,ha表示综合签名信息,h1表示所述第一签名信息,h2表示所述第二签名信息,la表示加权取值,a1表示次要随机数,siga表示所述客户端签名信息。
15、优选地,所述步骤s102中所述服务器端签名具体包括根据所述服务器端随机数结合所述生成元通过公式gb=gb计算得到服务器端秘密值,其中,gb表示所述服务器端秘密值,g表示所述生成元,b表示所述服务器端随机数,根据所述服务器端秘密值和所述第二交换时间戳确定服务器端消息,所述服务器端消息表示为mb=gb||tb,对所述服务器端消息进行签名,通过公式计算得到第三签名信息,确定其次随机数,根据所述其次随机数通过公式gb1=gb1计算得到其次秘密值,根据所述其次秘密值结合所述服务器端公钥通过公式计算得到第四签名信息,根据所述第三签名信息和所述第四签名信息通过公式计算得到所述服务器端签名信息,其中,hb表示综合签名信息,h11表示所述第三签名信息,h22表示所述第四签名信息,lb表示加权取值,b1表示其次随机数,sigb表示所述服务器端签名信息。
16、优选地,所述步骤s103具体包括以下步骤:
17、所述第一校验结果包括校验成功和校验失败,当校验失败时,则所述密钥交换失败,当校验成功时,通过公式计算得到所述服务器端秘密值和所述第二交换时间戳,获取当前时间戳,根据所述当前时间戳通过判别式对所述第二交换时间戳进行验证,所述判别式表示为|tb-tnow|<tthr,其中,tb表示所述第二交换时间戳,tnow表示所述当前时间戳,tthr表示预设阈值,当所述第二交换时间戳不满足所述判别式时,停止所述密钥交换,当所述第二交换时间戳满足所述判别式时,通过公式f1(mb)=l2|h11|验证所述服务器端消息,当验证失败时,密钥交换终止,当验证成功时,则所述服务器端签名信息验证成功,并根据所述客户端随机值和所述服务器端秘密值通过公式as=(gb)a计算得到所述共享密钥,其中,as表示所述共享密钥,gb表示所述服务器端秘密值,a表示所述客户端随机值;
18、所述第二校验结果包括校验成功和校验失败,当校验失败时,则所述密钥交换失败,当校验成功时,通过公式计算得到所述客户端秘密值和所述第一交换时间戳,获取当前时间戳,根据所述当前时间戳通过判别式对所述第一交换时间戳进行验证,所述判别式表示为|ta-tnow|<tthr,其中,ta表示所述第一交换时间戳,tnow表示所述当前时间戳,tthr表示预设阈值,当所述第一交换时间戳不满足所述判别式时,停止所述密钥交换,当所述第一交换时间戳满足所述判别式时,通过公式f1(ma)=l2|h1|验证所述客户端消息,当验证失败时,密钥交换终止,当验证成功时,则所述客户端签名信息验证成功,并根据所述服务器端随机值和所述客户端秘密值通过公式ak=(ga)b计算得到所述共享密钥,其中,ak=as,ak表示所述共享密钥,ga表示所述客户端秘密值,b表示所述服务器端随机值。
19、优选地,所述步骤s4具体包括根据所述待登入用户信息通过公式得到第一登入签名,选取一个随机数,根据所述随机数通过公式r=gr计算得到秘密值,根据所述秘密值和所述客户端公钥通过公式h2=h(ya,r)计算得到第二登入签名,其中,h2表示所述第二登入签名,ya表示所述客户端公钥,r表示所述秘密值,根据所述第一签名信息和所述第二签名信息通过公式sig=([h1⊕h2],(r-h)mod)计算得到所述签名信息,其中,sig表示所述签名信息,r表示所述随机数,h1表示所述第一登入签名,h2表示所述第二登入签名。
20、本发明的有益效果为:
21、1.通过将用户生物信息与数字签名绑定,通过对用户生物信息和数字签名进行混合认证,提高了身份认证的安全性,
22、2.在每次通信开始时,通信双方会进行密钥交换从而得到一个新的共享密钥,这个新的共享密钥保证了即使之前的密钥被泄露,也对此次通信不会造成威胁,提高了信息传输的机密性;
23、3.所述服务器端接收所述用户密文信息,根据所述密文信息通过解密算法处理得到所述生物特征值、所述用户公钥、所述共享密钥和所述时间戳,对所述时间戳进行验证得到验证结果,所述验证结果携带验证时间戳,根据所述验证结果对所述生物特征值和所述用户公钥存储至数据库,根据所述验证结果和所述验证时间戳通过加密算法处理得到注册密文信息,并将所述注册密文信息传输至客户端,所述客户端接收所述注册密文信息,根据所述注册密文信息通过解密算法处理得到所述验证结果和所述验证时间戳,对所述验证时间戳进行验证得到注册结果,双向验证保证了当有攻击者将拦截到的密文信息进行篡改后,验证者无法解密,具有防篡改优点,并且密文信息中的签名信息也保证了信息传输的完整性。
本文地址:https://www.jishuxx.com/zhuanli/20241009/306163.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。