密码认证的方法、系统及客户端、服务器和智能设备技术方案

技术编号:14853376 阅读:68 留言:0更新日期:2017-03-18 20:25
本发明专利技术适用于通信技术领域,提供了一种密码认证的方法、系统及客户端、服务器和智能设备,所述方法包括:客户端获取随机数请求至服务器,智能设备接收到服务器发送的获取随机数命令后,先生成随机数并缓存所述随机数,再通过服务器发送所述随机数至客户端,由客户端用获取到的输入密码数据或者输入密钥数据和所述随机数进行加密运算生成加密结果后,智能设备先用原始密码数据或者原始密钥数据解密所述加密结果,将解密得到的解密结果与保存的数据进行比较,并据此来判断密码认证是否成功。通过本发明专利技术,将原始密码数据或者原始密钥数据存储在智能设备中,原始密码数据或者原始密钥数据不在线路上传输,可以避免原始密码或者密钥数据的泄露。

【技术实现步骤摘要】

本专利技术属于通信
,尤其涉及一种密码认证的方法、系统及客户端、服务器和智能设备
技术介绍
用户密码是用来对操作者的身份进行确认的,一般能够提供正确的用户密码即被认为是合法用户,可以获得与用户密码对应的操作权限。将初始密码存储在服务器中后,客户端用户可以在客户端输入密码,并发送所述输入密码至服务器进行认证,以确定输入密码与初始密码是否匹配,如果匹配,则可以确定输入密码正确,用户可以正常登录服务器。通过这种密码认证方式,可以限制非客户端用户登录客户端。然而,在实现本专利技术过程中,专利技术人发现现有技术提供的密码认证的方法至少存在如下问题:用户注册时,将用户设置的初始密码明文或者初始密码密文保存在服务器。用户认证时,客户端将用户输入的输入密码通过线路传输给服务器后,服务器将用户输入的输入密码与服务器保存的初始密码明文或者初始密码密文数据进行比较,如果一致则认证通过;否则失败。该种密码认证的方式,初始密码明文或者初始密码密文保存在服务器数据库,而服务器的数据库管理上的漏洞或者是存储的不安全,可能导致数据库数据泄露,发生初始密码明文或者初始密码密文泄露事件,并且,客户端用户输入的输入密码是通过线路直接传输给服务器的,因此输入密码容易被窃取。总之,现有技术提供的密码认证的方法可能导致密码泄露事件的发生。
技术实现思路
有鉴于此,本专利技术实施例提供一种密码认证的方法、系统及客户端、服务器和智能设备,以解决现有技术提供的密码认证的方法可能导致密码泄露事件的问题。第一方面,提供一种密码认证的方法,原始密码数据或者原始密钥数据存储在智能设备中,所述方法包括:客户端发送获取随机数请求至服务器;服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;客户端获取输入密码数据或者输入密钥数据并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。进一步地,若原始密钥数据存储在智能设备,则在所述客户端获取输入密码数据之后,还包括:客户端将获取到的所述输入密码数据转换成所述输入密钥数据。进一步地,所述客户端用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果包括:客户端用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者客户端用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者,客户端用所述输入密码数据或者所述输入密钥数据加密所述随机数。进一步地,所述智能设备通过服务器返回所述认证结果至客户端包括:智能设备根据所述认证结果生成认证结果响应数据;智能设备发送所述认证结果响应数据至服务器;服务器解析所述认证结果响应数据,得到所述认证结果;服务器将所述认证结果发送至客户端。进一步地,所述原始密码数据或者所述原始密钥数据存储在智能设备的安全芯片中。另一方面,提供一种客户端,原始密码数据或者原始密钥数据存储在智能设备中,所述客户端包括:随机数请求发送单元,用于发送获取随机数请求至服务器;获取随机数的命令转发模块,用于转发服务器生成的获取随机数的命令至智能设备;随机数响应数据转发模块,用于转发智能设备生成的随机数响应数据至服务器;随机数接收模块,用于接收服务器从所述随机数响应数据中解析出的随机数;加密结果发送模块,用于获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;随机数命令报文转发模块,用于将服务器根据所述加密结果生成的随机数命令报文转发至智能设备;认证结果接收模块,用于接收智能设备通过服务器返回的认证结果。进一步地,所述客户端还包括:密码转换模块,用于将获取到的所述输入密码数据转换成所述输入密钥数据。进一步地,所述加密结果发送模块包括:第一加密单元,用于用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者第二加密单元,用于用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者第三加密单元,用于用所述输入密码数据或者所述输入密钥数据加密所述随机数。又一方面,提供一种服务器,原始密码数据或者原始密钥数据存储在智能设备中,所述服务器包括:请求接收模块,用于接收客户端发送的获取随机数请求;获取随机数命令发送模块,用于根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;随机数响应数据接收模块,用于接收客户端转发的随机数响应数据,其中,智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数后,生成包含所述随机数的随机数响应数据;随机数发送模块,用于从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;加密结果接收模块,用于接收客户端发送的加密结果,所述加密结果是客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算生成的;随机数命令报文发送模块,用于根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;认证结果发送模块,用于返回认证结果至客户端,其中,智能设备接收到所述随机数命令报文后,先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果。进一步地,所述认证结果发送模块包括:认证结果响应数据接收单元,用于接收智能设备发送的认证结果响应数据;解析单元,用于解析所述认证结果响应数据,得到所述认证结果;认证结果发送单元,用于将所述认证结果发送至客户端。再一方面,提供一种智能设备,原始密钥数据存储在所述智能设备中,所述智能设备包括:获取随机数命令接收模块,用于接收通过客户端转发的获取随机数的命令,所述获取随机数的命令是服务器根据客户端发送的所述获取随机数请求生成的;随机数响应数据发送模块,用于根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;随机数命令报文接收模块,用于接收客户端转发的随机数命令报文,其中,随机数命令报文是服务器根据客户端发送的加密结果生成的,服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端后,客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算,生成所述加密结果;认证模块,用于先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到本文档来自技高网...
密码认证的方法、系统及客户端、服务器和智能设备

【技术保护点】
一种密码认证的方法,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述方法包括:客户端发送获取随机数请求至服务器;服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;客户端获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。

【技术特征摘要】
1.一种密码认证的方法,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述方法包括:客户端发送获取随机数请求至服务器;服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;客户端获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。2.如权利要求1所述的方法,其特征在于,若原始密钥数据存储在智能设备,则在所述客户端获取输入密码数据之后,还包括:客户端将获取到的所述输入密码数据转换成所述输入密钥数据。3.如权利要求1所述的方法,其特征在于,所述客户端用所述输入密钥数据和所述随机数进行加密运算,生成加密结果包括:客户端用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者客户端用所述输入密码数据或者输入密钥数据和所述随机数加密一预置数据;或者,客户端用所述输入密码数据或者所述输入密钥数据加密所述随机数。4.如权利要求1所述的方法,其特征在于,所述智能设备通过服务器返回所述认证结果至客户端包括:智能设备根据所述认证结果生成认证结果响应数据;智能设备发送所述认证结果响应数据至服务器;服务器解析所述认证结果响应数据,得到所述认证结果;服务器将所述认证结果发送至客户端。5.如权利要求1所述的方法,其特征在于,所述原始密钥数据存储在智能设备的安全芯片中。6.一种客户端,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述客户端包括:随机数请求发送单元,用于发送获取随机数请求至服务器;获取随机数的命令转发模块,用于转发服务器生成的获取随机数的命令至智能设备;随机数响应数据转发模块,用于转发智能设备生成的随机数响应数据至服务器;随机数接收模块,用于接收服务器从所述随机数响应数据中解析出的随机数;加密结果发送模块,用于获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;随机数命令报文转发模块,用于将服务器根据所述加密结果生成的随机数命令报文转发至智能设备;认证结果接收模块,用于接收智能设备通过服务器返回的认证结果。7.如权利要求6,其特征在于,所述客户端还包括:密码转换模块,用于将获取到的所述输入密码数据转换成所述输入密钥数据。8.如权利要求6所述的客户端,其特征在于,所述加密结果发送模块包括:第一加密单元,用于用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者第二加密单元,用于用所述输入密码数据或者所述输入密钥数据和所述随机数加...

【专利技术属性】
技术研发人员:陈柳章
申请(专利权)人:北京明华联盟科技有限公司
类型:发明
国别省市:北京;11

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

1