一种适用于移动通信的商用密码安全身份验证方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及移动通讯加密技术领域,尤其涉及一种适用于移动通信的商用密码安全身份验证方法。
背景技术
随着移动互联网的发展,在电子商务、移动支付、企业管理信息化、移动办公、远程教育等重要领域应用越来越广泛,并逐步覆盖原传统使用场景,随之而来的通讯安全的要求也越发重要,进而导致其实际运营中经常会受到自然、人为等因素的威胁。因此,身份认证作为首要步骤,也愈发受到重视。
目前国内的移动产品身份认证大多以账号密码、手机短信验证、身份证等信息进行认证或身份找回,而这些方式无疑存在安全问题,如果使用人身份泄露、手机丢失,会给其带来严重的后果。
发明内容
本发明提供了一种适用于移动通信的商用密码安全身份验证方法,本发明的通信双方在商用密码签名验签身份校验方式的基础上增加了动态码机制,同时增加了移动端Ukey验证方式,提高了验证的随机性、时效性以及认证的多元性,从而充分保证了身份认证的安全性,详见下文描述:
一种适用于移动通信的商用密码安全身份验证方法,所述方法包括:
移动端向服务端发起申请动态码请求;服务端设备随机生成动态码并记录当前系统时间,利用预置密钥保护动态码,将保护数据发送给客户端;
客户端接收到数据后,使用预置密钥解密获取动态码s_code;
客户端输入登录用户账号密码,读取客户端密码卡硬件SN码,并利用密码卡硬件对s_code进行签名;
客户端获取或计算后的数据发送到服务端进行身份认证;
服务端接收到客户端身份认证请求后,首先进行用户名密码校验,校验通过后,验证账号绑定密码卡硬件是否匹配;
服务端账号及硬件验证通过后,对s_code签名值进行验签,同时对比认证时间戳与系统生成时间戳间隔是否满足安全身份认证系统的要求;
上述验证通过后服务端通知客户端身份认证成功,反之则提示身份认证失败。
其中,所述身份认证的流程为:
进入程序身份认证页面,硬件识别模块负责连接密码硬件设备Key,设备初始化;移动端身份识别模块发起并获取服务端动态码s_code,使用密码硬件设备Key计算签名值s1;
硬件识别模块读取密码硬件设备Key的SN码,并传递给移动端身份识别模块;
移动端身份识别模块录入待认证用户的用户名、密码等账号信息;
移动端身份识别模块生成动态码c_code,将账号信息、SN码、服务端动态码签名值s1、移动端动态码c_code一并发送服务端进行身份校验;
服务端身份识别模块校验账号信息是否存在,密码硬件SN码是否存在并匹配,动态码签名值验签是否通过,以上认证通过后,对移动端c_code进行签名获取签名值s2,并将认证结果和签名值s2返回给移动端;
移动端接收到认证结果,并对签名值s2进行验签,通过后,身份认证通过,反之则失败。
本发明提供的技术方案的有益效果是:
1、本发明的移动端身份认证采用国密签名算法,结合密码硬件、动态码、身份识别码等静态及动态信息,通过动态生成、加密传递、有效期验证、双向签名等方法,实现高效安全的身份认证;
2、本发明可应用于互联网移动通信领域,大大增强通信安全保障。
附图说明
图1为本发明中移动端与服务端的身份校验的交互流程图;
图2为本发明中身份认证系统的架构示意图;
图3为本发明中身份校验模块的详细流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
为了实现上述目的,本发明实施例的技术方案是:一种适用于移动通信的商用密码安全身份验证方法,本方法中包含移动端和服务端两个通信方。由移动端向服务端申请动态码,服务端随机生成动态码发送给移动端;移动端读取硬件Key的序列号,并利用Key中内置的算法对服务端生成的动态码进行签名;移动端录入账号、密码、硬件Key的序列号以及动态码的签名值发送给服务端;服务端验证账号、密码、硬件Key的序列号和签名值等基本信息。
实施例1
一种适用于移动通信的商用密码安全身份验证方法,参见图1-图3,该方法包括以下步骤:
101:移动端向服务端发起申请动态码请求;
102:服务端设备随机生成动态码并记录当前系统时间,利用预置密钥保护动态码,将保护数据发送给客户端;
103:客户端接收到数据后,使用预置密钥解密获取动态码s_code;
其中,将预置密钥提前预置到系统中,用于对敏感数据进行加密保护或解密查看的用户密钥。
104:客户端输入登录用户账号密码,读取客户端密码卡硬件SN码,并利用密码卡硬件对s_code进行签名;
其中,密码卡硬件为密码卡硬件本身,内置多种密码算法和功能,签名是其中一项功能;密码卡硬件SN码为密码卡设备的序列号,使用账号、设备序列号进行唯一性绑定。
105:客户端将步骤104中获取或计算后的数据发送到服务端进行身份认证;
106:服务端接收到客户端身份认证请求后,首先进行用户名密码校验,校验通过后,验证账号绑定密码卡硬件是否匹配;
107:服务端账号及硬件验证通过后,对s_code签名值进行验签,同时对比认证时间戳与系统生成时间戳间隔是否满足安全身份认证系统的要求,即2分钟内;
108:上述验证通过后服务端通知客户端身份认证成功,反之则提示身份认证失败。
实施例2
本发明实施例提出一种适用于移动通信的商用密码安全身份验证方法,本方法中包含移动端和服务端两个通信方。通过物理设备、身份信息识别、动态码等识别信息配合商用密码签名验签身份校验机制确保身份校验的高效合规。
图1是本发明实施例中移动端与服务端身份校验的交互流程图,如图1所示,包含以下步骤:
201:移动端向服务端发起申请动态码请求;
202:服务端设备随机生成动态码并记录当前系统时间,利用预置密钥保护动态码,将保护数据发送给客户端;
203:客户端接收到数据后,使用预置密钥解密获取动态码s_code;
204:客户端输入登录用户账号密码,读取客户端密码卡硬件SN码,并利用密码卡硬件对s_code进行签名;
205:客户端将步骤204中获取或计算后的数据发送至服务端进行身份认证;
206:服务端接收到客户端身份认证请求后,首先进行用户名密码校验,校验通过后,验证账号绑定密码卡硬件是否匹配;
207:服务端账号及硬件验证通过后,对s_code签名值进行验签,同时对比认证时间戳与系统生成时间戳间隔是否满足系统要求,即2分钟内。
实施例3
图2是本发明实施例中身份认证系统的架构示意图,如图2所示,其主要组成如下。
移动端设备包含:电脑、手机、平板电脑等设备,支持Windows、Linux、Android、iOS、HarmonyOS,移动端配备密码卡硬件针对客户端设备及系统不同,提供SDKey、SIMKey、UKey、蓝牙Key等不同规格的硬件密码设备;
系统包含身份认证系统和证书管理系统,其中身份认证系统包含:硬件识别模块、数据读取模块、身份校验模块。
图3是本发明实施例中身份校验模块详细的流程图,其主要流程步骤如下:
301:进入程序身份认证页面,硬件识别模块负责连接密码硬件设备Key,设备初始化;
302:移动端身份识别模块发起并获取服务端动态码s_code,使用密码硬件设备Key计算签名值s1;
303:硬件识别模块读取密码硬件设备Key的SN码,并传递给移动端身份识别模块;
304:移动端身份识别模块录入待认证用户的用户名、密码等账号信息;
305:移动端身份识别模块生成动态码c_code,将账号信息、SN码、服务端动态码签名值s1、移动端动态码c_code一并发送服务端进行身份校验;
306:服务端身份识别模块校验账号信息是否存在,密码硬件SN码是否存在并匹配,动态码签名值验签是否通过,以上认证通过后,对移动端c_code进行签名获取签名值s2,并将认证结果和签名值s2返回给移动端;
307:移动端接收到认证结果,并对签名值s2进行验签,通过后,身份认证通过,反之则失败。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种适用于商用车的多轴转向控制系统
- 一种商用密码安全性检测方法
- 适用于椭圆曲线密码安全保护的随机点生成方法