本发明涉及web后端开发,具体地说是一种基于totp的政务系统双因素身份认证方法及系统。
背景技术:
1、随着“互联网+政务服务”模式的广泛普及与深度推广,以及政务云服务层级的不断优化和运行效能的显著提升,各级政务领域已逐步将计算资源、信息化平台等关键基础设施整合迁移至统一的电子政务云环境。这一转型在有效促进政府部门工作效率大幅提升的同时,信息化系统所面临来自网络攻击、密码泄露、合规性等多维度的安全问题也日益严峻。
2、因此,双因素认证作为一种强化安全性的措施应运而生,同时满足了“你知道”和“你拥有”的原则。但传统双因素身份认证方法存在费用高、不支持国密算法等问题,限制双因素在政务领域的推广。
3、故如何实现政务系统中安全可靠且成本低廉的双因素身份认证是目前亟待解决的技术问题。
技术实现思路
1、本发明的技术任务是提供一种基于totp的政务系统双因素身份认证方法及系统,来解决如何实现政务系统中安全可靠且成本低廉的双因素身份认证的问题。
2、本发明的技术任务是按以下方式实现的,一种基于totp的政务系统双因素身份认证方法,该方法是对互联网工程任务组(ietf)在rfc 6238中定义的totp(基于时间的一次性密码)的生成策略调整为国密sm3 hash算法并缩短时间步长,同时优化密码输入和密码验证方式,增强基于totp的双因素身份认证安全性和商用密码应用安全性评估的合规性;具体如下:
3、绑定用户设备:用户在web端启用totp双因素身份验证,账号验证通过后,启用绑定用户设备;
4、totp双因素身份认证:身份认证服务在对用户名密码验证正确后,启用totp双因素身份认证。
5、作为优选,绑定用户设备具体如下:
6、校验totp密码:身份认证服务生成封装密钥的二维码,用户设备通过扫码完成密钥绑定,通过改进的totp身份验证器完成totp密码的校验;
7、获取密钥和接口:用户设备安装改进的身份验证器,扫描二维码,获取身份认证服务生成封装密钥的二维码中的密钥和http回调接口a1;
8、绑定账号与密钥;
9、后台绑定:校验通过后,将令牌t1关联的账号与密钥保存到数据库,完成后台绑定。
10、更优地,改进的totp身份验证器是在传统totp身份验证器的基础上,增加http回调接口a1的参数,用户设备不用展示生成的totp密码,而是通过http回调接口a1将totp密码直接提交到身份认证服务,完成totp密码的校验过程。
11、更优地,绑定账号与密钥具体如下:
12、用户设备完成密钥信息读取后,用户web端申请totp验证二维码,以便获得绑定了登录账号和totp密钥的令牌t1;
13、用户设备扫码二维码获取令牌t1;
14、通过国密sm3 hash算法生成totp密码p1;
15、调用http回调接口a1,并将令牌t1和密码p1提交到改进的身份认证服务器;
16、改进的身份认证服务器通过国密sm3 hash算法生成一个动态密码b1与用户设备请求的密码p1进行比较。
17、更优地,totp双因素身份认证具体如下:
18、用户web端申请totp身份认证二维码(后台绑定了当前登录账号的令牌t1),用于设备扫码完成身份识别;
19、用户设备获取到令牌t2后,开启身份识别(同绑定账号与密钥过程);
20、验证通过后,返回用户pc端,完成用户pc端登录。
21、更优地,totp的计数器的时间步长在15秒以下;
22、http回调接口a1的参数是在otpauth协议中引入回调接口a1的参数,动态密码生成和校验在用户设备和身份认证服务器完成。
23、一种基于totp的政务系统双因素身份认证系统,该系统是对互联网工程任务组在rfc 6238中定义的totp的生成策略调整为国密sm3 hash算法并缩短时间步长,同时优化密码输入和密码验证方式,增强基于totp的双因素身份认证安全性和商用密码应用安全性评估的合规性;具体如下:
24、绑定单元,用于用户在web端启用totp双因素身份验证,账号验证通过后,启用绑定用户设备;
25、身份认证单元,用于身份认证服务在对用户名密码验证正确后,启用totp双因素身份认证。
26、作为优选,所述绑定单元包括:
27、totp密码校验模块,用于身份认证服务生成封装密钥的二维码,用户设备通过扫码完成密钥绑定,通过改进的totp身份验证器完成totp密码的校验;其中,改进的totp身份验证器是在传统totp身份验证器的基础上,增加http回调接口a1的参数,用户设备不用展示生成的totp密码,而是通过http回调接口a1将totp密码直接提交到身份认证服务,完成totp密码的校验过程;
28、密钥和接口获取模块,用于用户设备安装改进的身份验证器,扫描二维码,获取身份认证服务生成封装密钥的二维码中的密钥和http回调接口a1;
29、账号与密钥绑定模块,用于用户设备完成密钥信息读取后,用户web端申请totp验证二维码,以便获得绑定了登录账号和totp密钥的令牌t1;用户设备扫码二维码获取令牌t1,再通过国密sm3 hash算法生成totp密码p1,再调用http回调接口a1,并将令牌t1和密码p1提交到改进的身份认证服务器;改进的身份认证服务器通过国密sm3 hash算法生成一个动态密码b1与用户设备请求的密码p1进行比较;
30、后台绑定模块,用于校验通过后,将令牌t1关联的账号与密钥保存到数据库,完成后台绑定。
31、一种电子设备,包括:存储器和至少一个处理器;
32、其中,所述存储器上存储有计算机程序;
33、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于totp的政务系统双因素身份认证方法。
34、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于totp的政务系统双因素身份认证方法。
35、本发明的基于totp的政务系统双因素身份认证方法及系统具有以下优点:
36、(一)本发明优化了totp的hash算法和时间步长,如下两方面有别于传统totp,一是合规方面,采用了国密sm2;二是更安全,在totp算法中,更大时间步长意味着更大的可攻击窗口,本发明通过二维码扫码方式,避免了人为读取和录入动态密码,减少了算法中的时间步长;
37、(二)本发明在用户设备中的身份认证器中添加了http回调接口,通过用户设备链路将动态密码发送到身份认证服务,动态密码的格式不用考虑手动输入,可以更复杂,破解难度更高;
38、(三)本发明中动态密码验证的回调接口是用户设备直接调用,增加了接口暴露的风险;
39、(四)本发明是改进了传统totp算法,具有其绝大部分优势,比短信、ukey等拥有更低的成本,更具推广价值;
40、(五)本发明有别于传统的扫码登录,身份验证app的账号和web管理账号不需要绑定,两者可相互独立,增加了灵活性;
41、(六)本发明避免了手动输入动态密码,动态密码可以更复杂,更难破解,实现了政务系统中安全可靠且成本低廉的双因素身份认证。