一种短信验证方法、装置和系统制造方法及图纸

技术编号:38278365 阅读:11 留言:0更新日期:2023-07-27 10:28
本申请提供了一种短信验证方法、装置和系统,涉及通信安全技术领域,通过在上一次短信验证后提前预存服务器发送的身份信息和验证码,在此次短信验证过程中,服务器可以通过上一次预存的身份信息确定客户端为可信任客户端后,通过短信服务器和短信客户端,向用户提供验证码,用户在客户端上填写验证码后,客户端通过对身份码、身份信息、验证码和随机数进行密钥派生和密钥签名,然后发送给服务器,服务器再对自身存储的身份码、身份信息、验证码和随机数进行密钥派生和密钥签名,如果两个签名相同,表明此次短信验证过程中是该用户操作,确保整个短信验证过程是安全的。确保整个短信验证过程是安全的。确保整个短信验证过程是安全的。

【技术实现步骤摘要】
一种短信验证方法、装置和系统


[0001]本专利技术涉及通信安全
,尤其涉及一种短信验证方法、装置和系统。

技术介绍

[0002]手机短信验证,是一种基于手机号码和运营商的一次性密码(one time password,OTP)的验证方法,一般用于对安全性要求比较高的场景,如登录银行、登录某运维web管理系统后台等等。以手机短信为例,用户在执行登录身份验证或重要操作身份验证后,点击获取验证码,系统对接运营商的短信网关,并让短信网关向指定的手机号发送验证码,用户收到短信验证码后填入系统进行身份验证。但是,这种验证方式的安全性比较低,容易被不法分子窃取验证码,从而造成用户的安全泄露。

技术实现思路

[0003]为了解决上述的问题,本申请的实施例中提供了一种短信验证方法、装置和系统,通过在上一次短信验证后提前预存服务器发送的身份信息和验证码,在此次短信验证过程中,服务器可以通过上一次预存的身份信息确定客户端为可信任客户端后,通过短信服务器和短信客户端,向用户提供验证码,用户在客户端上填写验证码后,客户端通过对身份码、身份信息、验证码和随机数进行密钥派生和密钥签名,然后发送给服务器,服务器再对自身存储的身份码、身份信息、验证码和随机数进行密钥派生和密钥签名,如果两个签名相同,表明此次短信验证过程中是该用户操作,确保整个短信验证过程是安全的。相比较现有技术,安全性更高,且登录过程中,除了短信验证码无需其它操作,相对于其它方案,不仅安全性得到提升,而且带给用户的体验提升或体验不变。
[0004]为此,本申请的实施例中采用如下技术方案:
[0005]第一方面,本申请提供一种短信验证方法,其特征在于,所述方法由客户端执行,包括:向服务器发送第一请求信息,所述第一请求信息用于请求所述服务器生成短信验证码,所述第一请求信息携带有手机号码和所述客户端自身预先存储的第一身份信息,所述第一身份信息用于让所述服务器验证所述客户端是否为可信任的客户端;接收所述服务器发送的安全信息;接收用户输入的第一短信验证码,对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果,并将所述第一签名结果发送给所述服务器。
[0006]在一种实施方式中,当所述客户端自身未存储有所述第一身份信息时,在所述向服务器发送第一请求信息之前,还包括:确定前置可信认证成功;向所述服务器发送认证成功信息;接收所述服务器发送的所述客户端的第一身份信息和第一身份码。
[0007]在一种实施方式中,所述对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果包括:对所述第一短信验证码、所述安全信息和所述自身预先存储的身份信息进行密钥派生,得到第一加密密钥;对所述第一加密密钥、所述安全信息和所述自身预先存储的身份码进行密钥签名,
得到所述第一签名结果。
[0008]在一种实施方式中,所述方法还包括:接收并存储所述服务器发送的所述客户端的第二身份信息和第二身份码,所述第二身份信息用于下一次短信验证时,让所述服务器验证所述客户端是否为可信任的客户端,所述第二身份码用于在下一次短信验证时,与下一次的短信验证码和安全信息一并加密。
[0009]在一种实施方式中,所述方法还包括:接收用户输入的第二短信验证码,对所述第二短信验证码、所述安全信息、所述第一加密密钥和所述第一身份信息进行密钥派生和密钥签名,得到第二签名结果,并将所述第二签名结果发送给所述服务器,所述第二短信验证码为短信客户端接收到的短信验证码。
[0010]在一种实施方式中,所述安全信息为一次性的随机数。
[0011]第二方面,本申请提供一种短信验证方法,所述方法由服务器执行,包括:接收客户端发送的第一请求信息,所述第一请求信息携带有手机号码和自身预先存储的第一身份信息;确定自身数据库中是否有所述第一身份信息;当所述自身数据库中有所述第一身份信息时,生成短信验证码;向短信服务器发送验证码信息,所述验证码信息包括所述手机号码和短信验证码;接收所述客户端发送的签名结果;对自身存储的短信验证码、安全信息、所述第一身份信息和第一身份码进行密钥派生和密钥签名,得到第三签名结果;比较所述客户端发送的签名结果和所述第三签名结果是否相同;当所述客户端发送的签名结果和所述第三签名结果相同时,向所述客户端发送登录成功信息,所述登录成功信息用于让所述客户端登录所述服务器。
[0012]在一种实施方式中,在所述接收客户端发送的第一请求信息之前,所述客户端自身未存储有所述第一身份信息时,所述方法还包括:接收所述客户端发送认证成功信息;生成所述客户端的第一身份信息和第一身份码;将所述第一身份信息和所述第一身份码存储在所述数据库中;向所述客户端发送所述第一身份信息和所述第一身份码。
[0013]在一种实施方式中,在所述向短信服务器发送验证码信息之前或之后,所述方法还包括:生成安全信息,并存储在所述数据库中;向所述客户端发送所述安全信息。
[0014]在一种实施方式中,所述方法还包括:当所述自身数据库中没有所述第一身份信息时,向所述客户端发送第二请求信息,所述第二请求信息用于让所述客户端进行前置可信认证。
[0015]在一种实施方式中,所述方法还包括:当所述客户端发送的签名结果和所述第三签名结果不相同时,向所述客户端发送第三请求信息,所述第三请求信息用于让所述客户端进行前置可信认证。
[0016]在一种实施方式中,所述方法还包括:生成所述客户端的第二身份信息和第二身份码,并存储在所述数据库中;向所述客户端发送所述第二身份信息和所述第二身份码。
[0017]第三方面,本申请提供一种短信验证装置,包括:收发单元,用于向服务器发送第一请求信息,所述第一请求信息用于请求所述服务器生成短信验证码,所述第一请求信息携带有手机号码和所述客户端自身预先存储的第一身份信息,所述第一身份信息用于让所述服务器验证所述客户端是否为可信任的客户端;接收所述服务器发送的安全信息;接收用户输入的第一短信验证码;处理单元,用于对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果,并
将所述第一签名结果发送给所述服务器。
[0018]在一种实施方式中,所述处理单元,还用于确定前置可信认证成功;所述收发单元,还用于向所述服务器发送认证成功信息;接收所述服务器发送的所述客户端的第一身份信息和第一身份码。
[0019]在一种实施方式中,所述处理单元,具体用于对所述第一短信验证码、所述安全信息和所述自身预先存储的身份信息进行密钥派生,得到第一加密密钥;对所述第一加密密钥、所述安全信息和所述自身预先存储的身份码进行密钥签名,得到所述第一签名结果。
[0020]在一种实施方式中,所述收发单元,还用于接收并存储所述服务器发送的所述客户端的第二身份信息和第二身份码,所述第二身份信息用于下一次短信验证时,让本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种短信验证方法,其特征在于,所述方法由客户端(100)执行,包括:向服务器(200)发送第一请求信息,所述第一请求信息用于请求所述服务器生成短信验证码,所述第一请求信息携带有手机号码和所述客户端自身预先存储的第一身份信息,所述第一身份信息用于让所述服务器验证所述客户端是否为可信任的客户端;接收所述服务器发送的安全信息;接收用户输入的第一短信验证码,对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果,并将所述第一签名结果发送给所述服务器。2.根据权利要求1所述的方法,其特征在于,当所述客户端自身未存储有所述第一身份信息时,在所述向服务器(200)发送第一请求信息之前,还包括:确定前置可信认证成功;向所述服务器发送认证成功信息;接收所述服务器发送的所述客户端的第一身份信息和第一身份码。3.根据权利要求1或2所述的方法,其特征在于,所述对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果包括:对所述第一短信验证码、所述安全信息和所述自身预先存储的身份信息进行密钥派生,得到第一加密密钥;对所述第一加密密钥、所述安全信息和所述自身预先存储的身份码进行密钥签名,得到所述第一签名结果。4.根据权利要求1

3任意一项所述的方法,其特征在于,所述方法还包括:接收并存储所述服务器发送的所述客户端的第二身份信息和第二身份码,所述第二身份信息用于下一次短信验证时,让所述服务器验证所述客户端是否为可信任的客户端,所述第二身份码用于在下一次短信验证时,与下一次的短信验证码和安全信息一并加密。5.根据权利要求1

4任意一项所述的方法,其特征在于,所述方法还包括:接收用户输入的第二短信验证码,对所述第二短信验证码、所述安全信息、所述第一加密密钥和所述第一身份信息进行密钥派生和密钥签名,得到第二签名结果,并将所述第二签名结果发送给所述服务器,所述第二短信验证码为短信客户端(400)接收到的短信验证码。6.根据权利要求1

4任意一项所述的方法,其特征在于,所述安全信息为一次性的随机数。7.一种短信验证方法,其特征在于,所述方法由服务器(200)执行,包括:接收客户端(100)发送的第一请求信息,所述第一请求信息携带有手机号码和自身预先存储的第一身份信息;确定自身数据库中是否有所述第一身份信息;当所述自身数据库中有所述第一身份信息时,生成短信验证码;向短信服务器(300)发送验证码信息,所述验证码信息包括所述手机号码和短信验证码;接收所述客户端发送的签名结果;
对自身存储的短信验证码、安全信息、所述第一身份信息和第一身份码进行密钥派生和密钥签名,得到第三签名结果;比较所述客户端发送的签名结果和所述第三签名结果是否相同;当所述客户端发送的签名结果和所述第三签名结果相同时,向所述客户端发送登录成功信息,所述登录成功信息用于让所述客户端登录所述服务器。8.根据权利要求7所述的方法,其特征在于,在所述接收客户端发送的第一请求信息之前,所述客户端自身未存储有所述第一身份信息时,所述方法还包括:接收所述客户端发送认证成功信息;生成所述客户端的第一身份信息和第一身份码;将所述第一身份信息和所述第一身份码存储在所述数据库中;向所述客户端发送所述第一身份信息和所述第一身份码。9.根据权利要求7或8所述的方法,其特征在于,在所述向短信服务器(300)发送验证码信息之前或之后,所述方法还包括:生成安全信息,并存储在所述数据库中;向所述客户端发送所述安全信息。10.根据权利要求7

9任意一项所述的方法,其特征在于,所述方法还包括:当所述自身数据库中没有所述第一身份信息时,向所述客户端发送第二请求信息,所述第二请求信息用于让所述客户端进行前置可信认证。11.根据权利要求7

10任意一项所述的方法,其特征在于,所述方法还包括:当所述客户端发送的签名结果和所述第三签名结果不相同时,向所述客户端发送第三请求信息,所述第三请求信息用于让所述客户端进行前置可信认证。12.根据权利要求7

11任意一项所述的方法,其特征在于,所述方法还包括:生成所述客户端的第二身份信息和第二身份码,并存储在所述数据库中;向所述客户端发送所述第二身份信息和所述第二身份码。13.一种短信验证装置,其特征在于,包括:收发单元,用于向服务器发送第一请求信息,所述第一请求信息用于请求所述服务器生成短信验证码,所述第一请求信息携带有手机号码和所述客户端自身预先存储的第一身份信息,所述第一身份信息用于让所述服务器验证所述客户端是否为可信任的客户端;接收所述服务器发送的安全信息;接收用户输入的第一短信验证码;处理单元,用于对所述第一短信验证码、所述安全信息、自身预先存储的第一身份码和第一身份信息进行密钥派生和密钥签名,得到第一签名结果,并将所述第一签名结果发送给所述服务器。14.根据权利要求13所述的装置,其特征在于,所述...

【专利技术属性】
技术研发人员:杨浩天廖涛
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1