CN106506479B - 密码认证的方法、系统及客户端、服务器和智能设备 - Google Patents

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

Info

Publication number
CN106506479B
CN106506479B CN201610940488.5A CN201610940488A CN106506479B CN 106506479 B CN106506479 B CN 106506479B CN 201610940488 A CN201610940488 A CN 201610940488A CN 106506479 B CN106506479 B CN 106506479B
Authority
CN
China
Prior art keywords
random number
data
client
server
smart machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610940488.5A
Other languages
English (en)
Other versions
CN106506479A (zh
Inventor
陈柳章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Minghua Alliance Technology Co Ltd
Original Assignee
Beijing Minghua Alliance Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Minghua Alliance Technology Co Ltd filed Critical Beijing Minghua Alliance Technology Co Ltd
Priority to CN201610940488.5A priority Critical patent/CN106506479B/zh
Publication of CN106506479A publication Critical patent/CN106506479A/zh
Application granted granted Critical
Publication of CN106506479B publication Critical patent/CN106506479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

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

Description

密码认证的方法、系统及客户端、服务器和智能设备
技术领域
本发明属于通信技术领域,尤其涉及一种密码认证的方法、系统及客户端、服务器和智能设备。
背景技术
用户密码是用来对操作者的身份进行确认的,一般能够提供正确的用户密码即被认为是合法用户,可以获得与用户密码对应的操作权限。将初始密码存储在服务器中后,客户端用户可以在客户端输入密码,并发送所述输入密码至服务器进行认证,以确定输入密码与初始密码是否匹配,如果匹配,则可以确定输入密码正确,用户可以正常登录服务器。通过这种密码认证方式,可以限制非客户端用户登录客户端。
然而,在实现本发明过程中,发明人发现现有技术提供的密码认证的方法至少存在如下问题:
用户注册时,将用户设置的初始密码明文或者初始密码密文保存在服务器。用户认证时,客户端将用户输入的输入密码通过线路传输给服务器后,服务器将用户输入的输入密码与服务器保存的初始密码明文或者初始密码密文数据进行比较,如果一致则认证通过;否则失败。
该种密码认证的方式,初始密码明文或者初始密码密文保存在服务器数据库,而服务器的数据库管理上的漏洞或者是存储的不安全,可能导致数据库数据泄露,发生初始密码明文或者初始密码密文泄露事件,并且,客户端用户输入的输入密码是通过线路直接传输给服务器的,因此输入密码容易被窃取。总之,现有技术提供的密码认证的方法可能导致密码泄露事件的发生。
发明内容
有鉴于此,本发明实施例提供一种密码认证的方法、系统及客户端、服务器和智能设备,以解决现有技术提供的密码认证的方法可能导致密码泄露事件的问题。
第一方面,提供一种密码认证的方法,原始密码数据或者原始密钥数据存储在智能设备中,所述方法包括:
客户端发送获取随机数请求至服务器;
服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;
智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;
服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;
客户端获取输入密码数据或者输入密钥数据并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;
服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;
智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。
进一步地,若原始密钥数据存储在智能设备,则在所述客户端获取输入密码数据之后,还包括:
客户端将获取到的所述输入密码数据转换成所述输入密钥数据。
进一步地,所述客户端用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果包括:
客户端用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者
客户端用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者,
客户端用所述输入密码数据或者所述输入密钥数据加密所述随机数。
进一步地,所述智能设备通过服务器返回所述认证结果至客户端包括:
智能设备根据所述认证结果生成认证结果响应数据;
智能设备发送所述认证结果响应数据至服务器;
服务器解析所述认证结果响应数据,得到所述认证结果;
服务器将所述认证结果发送至客户端。
进一步地,所述原始密码数据或者所述原始密钥数据存储在智能设备的安全芯片中。
另一方面,提供一种客户端,原始密码数据或者原始密钥数据存储在智能设备中,所述客户端包括:
随机数请求发送单元,用于发送获取随机数请求至服务器;
获取随机数的命令转发模块,用于转发服务器生成的获取随机数的命令至智能设备;
随机数响应数据转发模块,用于转发智能设备生成的随机数响应数据至服务器;
随机数接收模块,用于接收服务器从所述随机数响应数据中解析出的随机数;
加密结果发送模块,用于获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;
随机数命令报文转发模块,用于将服务器根据所述加密结果生成的随机数命令报文转发至智能设备;
认证结果接收模块,用于接收智能设备通过服务器返回的认证结果。
进一步地,所述客户端还包括:
密码转换模块,用于将获取到的所述输入密码数据转换成所述输入密钥数据。
进一步地,所述加密结果发送模块包括:
第一加密单元,用于用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者
第二加密单元,用于用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者
第三加密单元,用于用所述输入密码数据或者所述输入密钥数据加密所述随机数。
又一方面,提供一种服务器,原始密码数据或者原始密钥数据存储在智能设备中,所述服务器包括:
请求接收模块,用于接收客户端发送的获取随机数请求;
获取随机数命令发送模块,用于根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;
随机数响应数据接收模块,用于接收客户端转发的随机数响应数据,其中,智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数后,生成包含所述随机数的随机数响应数据;
随机数发送模块,用于从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;
加密结果接收模块,用于接收客户端发送的加密结果,所述加密结果是客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算生成的;
随机数命令报文发送模块,用于根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;
认证结果发送模块,用于返回认证结果至客户端,其中,智能设备接收到所述随机数命令报文后,先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果。
进一步地,所述认证结果发送模块包括:
认证结果响应数据接收单元,用于接收智能设备发送的认证结果响应数据;
解析单元,用于解析所述认证结果响应数据,得到所述认证结果;
认证结果发送单元,用于将所述认证结果发送至客户端。
再一方面,提供一种智能设备,原始密钥数据存储在所述智能设备中,所述智能设备包括:
获取随机数命令接收模块,用于接收通过客户端转发的获取随机数的命令,所述获取随机数的命令是服务器根据客户端发送的所述获取随机数请求生成的;
随机数响应数据发送模块,用于根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;
随机数命令报文接收模块,用于接收客户端转发的随机数命令报文,其中,随机数命令报文是服务器根据客户端发送的加密结果生成的,服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端后,客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算,生成所述加密结果;
认证模块,用于先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。
进一步地,所述认证模块包括:
认证结果响应数据生成单元,用于根据所述认证结果生成认证结果响应数据;
认证结果响应数据发送单元,用于发送所述认证结果响应数据至服务器。
进一步地,所述原始密钥数据存储在智能设备的安全芯片中。
另一方面,提供一种密码认证的系统,所述系统包括如上所述的客户端、如上所述的服务器和如上所述的智能设备。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过将原始密码数据或者原始密钥数据存储在智能设备中,不用存储在服务器中,且在线路上不用进行原始密码数据或者原始密钥数据的传输,可以避免原始密码数据或者原始密钥数据的泄露。另外,在进行输入密码认证时,使用随机数参与输入密码密码数据或者输入密钥数据的加密运算,生成加密结果,在线路上传输的是输入密码数据或者与输入密码数据对应的输入密钥数据的加密结果,因此输入密码数据或者输入密钥数据也不容易被窃取,从而使得密码数据或者密钥数据的传输更加安全,克服了提供的密码认证的方法可能导致密码或者密钥数据泄露事件的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的密码认证的方法的实现流程图;
图2是本发明第二实施例提供的客户端的结构框图;
图3是本发明第三实施例提供的服务器的结构框图;
图4是本发明第四实施例提供的智能设备的结构框图;
图5是本发明第五实施例提供的密码认证的系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明实施例的执行主体包括服务器、客户端和智能设备。其中,客户端和服务器之间可以满足C/S(Client/Server)结构,即客户机和服务器结构,客户端和服务器之间也可以满足B/S(Browser/Server)结构,即浏览器和服务器结构,另外,客户端可以是手机,也可以是电脑,在此均不作限定。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的密码认证的方法的实现流程,详述如下:
在步骤S101中,客户端发送获取随机数请求至服务器。
在本发明实施例中,客户端可以生成一个获取随机数请求,并主动发送所述获取随机数请求至服务器。
在步骤S102中,服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备。
在本发明实施例中,服务器可以根据步骤S101中客户端发送的获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备。
在步骤S103中,智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器。
在本发明实施例中,智能设备可以根据步骤S102中客户端转发的获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器。
在步骤S104中,服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端。
在本发明实施例中,服务器可以先从步骤S103中客户端转发的随机数响应数据中解析出步骤S103中智能设备生成的随机数,再发送所述随机数至客户端。
在步骤S105中,客户端获取输入密码数据或者输入密钥数据并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器。
在本发明实施例中,用户可以通过客户端输入密码数据,也可以输入密钥数据,在此不做限制,优选的,用户可以通过客户端输入密钥数据,以避免输入密码原文的传输和保存。
具体的,若智能设备存储的是原始密钥数据,用户通过客户端输入密码数据,则客户端接收到用户输入的输入密码数据后,可以将所述输入密码数据转换成与所述输入密码数据对应的输入密钥数据,具体所述转换的方法可以为加密运算或者Hash运算等,采用何种方式将所述输入密码数据转换成与所述输入密码数据对应的输入密钥数据,本发明实施例中不做限制。
将输入密码数据转换成与所述输入密码数据对应的输入密钥数据后,客户端可以将转换得到的所述输入密钥数据和步骤S104中解析得到的所述随机数进行加密运算,生成加密结果,再发送所述加密结果至服务器。
具体的,客户端可以用所述随机数加密所述输入密码数据或者所述输入密钥数据,生成加密结果;客户端也可以用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据,生成加密结果;客户端还可以用所述输入密码数据或者所述输入密钥数据加密所述随机数,生成加密结果。具体采用何种加密方式生成加密结果,本发明实施例中不做具体限制。
当客户端用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据,生成加密结果;或者,用所述输入密码数据或者所述输入密钥数据加密所述随机数,生成加密结果时,不用在线路中传输输入密码数据原文或者密钥数据密文,更安全。
在步骤S106中,服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备。
在本发明实施例中,服务器先将步骤S105中客户端发送的加密结果组织成随机数命令报文,再将所述随机数命令报文通过客户端发送给智能设备。
在步骤S107中,智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。
在本发明实施例中,智能设备先从本地获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对步骤S106中客户端转发的随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。
其中,保存的数据可以是步骤S103中缓存的所述随机数,也可以是步骤S103中缓存的所述随机数和预先存储在智能设备中的预置数据。
具体的,智能设备用与客户端生成加密结果的方式对应的方式进行解密。当客户端用所述随机数加密所述输入密码数据或者所述输入密钥数据,生成加密结果时,智能设备用存储的随机数对所述加密结果进行解密,将得到的解密结果与存储的所述原始密码数据或者所述原始密钥数据比较。当客户端用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据,生成加密结果时,智能设备用存储的所述随机数和所述原始密码数据或者原始密钥数据对所述加密结果进行解密,将得到的解密结果与存储的所述预置数据比较。当客户端用所述输入密钥数据加密所述随机数,生成加密结果时,智能设备用存储的所述原始密码数据或者原始密钥数据对所述加密结果进行解密,将得到的解密结果与存储的所述原始随机数比较。
具体的,智能设备可以通过一下步骤通过服务器返回所述认证结果至客户端:
步骤1、智能设备根据所述认证结果生成认证结果响应数据;
步骤2、智能设备发送所述认证结果响应数据至服务器;
步骤3、服务器解析所述认证结果响应数据,得到所述认证结果;
步骤4、服务器将所述认证结果发送至客户端。
其中,客户端接收到服务器发送的认证结果后,可以显示所述认证结果给用户。
优选地,原始密码数据或者原始密钥数据存储在智能设备的安全芯片中,该安全芯片是经过国密认证及相关安全部门认证的安全芯片,原始密码数据或者原始密钥数据存储在所述安全芯片的安全空间中,可以限制用户读取该安全空间的数据,用户只能通过认证的方式获取,而不能通过其它任何方式获取所述原始密码数据或者所述原始密钥数据。
优选地,可以设置重试次数,在重试次数超过所述认证重试次数时,可以锁定智能设备。
具体的,当解密得到的随机数与步骤S103中缓存的所述随机数进行比较,认证结果为不一致时,可以递减重试次数,在重试次数为0时,锁定智能设备;认证结果为一致时,则恢复重试次数,认证成功。
通过本发明实施例,可以将原始密码数据或者原始密钥数据存储在智能设备中,不用存储在服务器中,且在线路上不用进行原始密码数据或者原始密钥数据的传输,可以避免原始密码数据或者原始密钥数据的泄露。另外,在进行输入密码认证时,使用随机数参与输入密码数据或者输入密钥数据的加密运算,生成加密结果,在线路上传输的是输入密码数据或者与输入密码数据对应的输入密钥数据的加密结果,因此输入密码数据或者输入密钥数据也不容易被窃取,从而使得密钥数据的传输更加安全,克服了提供的密码认证的方法可能导致密码泄露事件的问题。
另外,原始密钥数据存储在智能设备的安全芯片中,使得用户不能通过密码认证方式之外的其它任何方式获取到原始密钥数据,进一步提高了原始密钥数据存储的安全性。
此外,随机数可以是客户端先从服务器获取,服务器再从智能设备获取,然后再由服务器给到客户端,采用的是服务器生成用于认证的随机数命令报文,在智能设备内进行认证的方式,相对于现有技术在客户端密码认证的方式,不需要根据不同的客户端开发不同的客户端软件,把处理的工作放到服务器后,需要开发和维护服务器软件就可以了,大大降低了开发、维护工作量和出问题的概率。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图2示出了本发明实施例二提供的客户端的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该客户端2和智能设备、服务器一起构成密码认证的系统,其中,原始密码数据或者原始密钥数据存储在智能设备中,该客户端2包括:随机数请求发送单元21、获取随机数的命令转发模块22、随机数响应数据转发模块23、随机数接收模块24、加密结果发送模块25、随机数命令报文转发模块26和认证结果接收模块27。
其中,随机数请求发送单元21,用于发送获取随机数请求至服务器;
获取随机数的命令转发模块22,用于转发服务器生成的获取随机数的命令至智能设备;
随机数响应数据转发模块23,用于转发智能设备生成的随机数响应数据至服务器;
随机数接收模块24,用于接收服务器从所述随机数响应数据中解析出的随机数;
加密结果发送模块25,用于获取输入密码或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;
随机数命令报文转发模块26,用于将服务器根据所述加密结果生成的随机数命令报文转发至智能设备;
认证结果接收模块27,用于接收智能设备通过服务器返回的认证结果。
进一步地,所述客户端还包括:密码转换模块。
密码转换模块,用于将获取到的所述输入密码数据转换成所述输入密钥数据。
具体的,所述加密结果发送模块25包括:
第一加密单元,用于用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者
第二加密单元,用于用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者,
第三加密单元,用于用所述输入密码数据或者所述输入密钥数据加密所述随机数。
本发明实施例提供的客户端可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
实施例三
图3示出了本发明实施例三提供的服务器的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该服务器3和客户端、智能设备一起构成密码认证的系统,其中,原始密码数据或者原始密钥数据存储在智能设备中,该服务器3包括:请求接收模块31、获取随机数命令发送模块32、随机数响应数据接收模块33、随机数发送模块34、加密结果接收模块35、随机数命令报文发送模块36和认证结果发送模块37。
其中,请求接收模块31,用于接收客户端发送的获取随机数请求;
获取随机数命令发送模块32,用于根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;
随机数响应数据接收模块33,用于接收客户端转发的随机数响应数据,其中,智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数后,生成包含所述随机数的随机数响应数据;
随机数发送模块34,用于从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;
加密结果接收模块35,用于接收客户端发送的加密结果,所述加密结果是客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算生成的;
随机数命令报文发送模块36,用于根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;
认证结果发送模块37,用于返回认证结果至客户端,其中,智能设备接收到所述随机数命令报文后,先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果。
具体的,所述认证结果发送模块37包括:
认证结果响应数据接收单元,用于接收智能设备发送的认证结果响应数据;
解析单元,用于解析所述认证结果响应数据,得到所述认证结果;
认证结果发送单元,用于将所述认证结果发送至客户端。
实施例四
图4示出了本发明实施例四提供的智能设备的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该智能设备4和客户端、服务器一起构成密码认证的系统,其中,原始密码数据或者原始密钥数据存储在智能设备4中,该智能设备4包括:获取随机数命令接收模块41、随机数响应数据发送模块42、随机数命令报文接收模块43和认证模块44。
其中,获取随机数命令接收模块41,用于接收通过客户端转发的获取随机数的命令,所述获取随机数的命令是服务器根据客户端发送的所述获取随机数请求生成的;
随机数响应数据发送模块42,用于根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;
随机数命令报文接收模块43,用于接收客户端转发的随机数命令报文,其中,随机数命令报文是服务器根据客户端发送的加密结果生成的,服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端后,客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算生成所述加密结果;
认证模块44,用于先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端。
具体的,所述认证模块44包括:
认证结果响应数据生成单元,用于根据所述认证结果生成认证结果响应数据;
认证结果响应数据发送单元,用于发送所述认证结果响应数据至服务器。
优选地,所述原始密钥数据存储在智能设备4的安全芯片中。
实施例五
图5示出了本发明实施例五提供的密码认证的系统的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该密码认证的系统5包括如实施例三中所述的服务器、实施例二中所述的客户端以及实施例四中所述的智能设备。其中,服务器与客户端连接,两者可以直接通信;智能设备和客户端连接,智能设备通过客户端与服务器进行通信。具体服务器、客户端和智能设备之间的工作交互可见实施例一至四中所述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种密码认证的方法,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述方法包括:
客户端发送获取随机数请求至服务器;
服务器根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;
智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;
服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;
客户端获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;
服务器根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;
智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端;其中,所述原始密码数据或者原始密钥数据存储在智能设备的安全芯片中,且用户只能够通过认证方式获取所述原始密码数据或者原始密钥数据;所述保存的数据为所述智能设备缓存的所述随机数。
2.如权利要求1所述的方法,其特征在于,若原始密钥数据存储在智能设备,则在所述客户端获取输入密码数据之后,还包括:
客户端将获取到的所述输入密码数据转换成所述输入密钥数据。
3.如权利要求1所述的方法,其特征在于,所述客户端用所述输入密钥数据和所述随机数进行加密运算,生成加密结果包括:
客户端用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者
客户端用所述输入密码数据或者输入密钥数据和所述随机数加密一预置数据;或者,
客户端用所述输入密码数据或者所述输入密钥数据加密所述随机数。
4.如权利要求1所述的方法,其特征在于,所述智能设备通过服务器返回所述认证结果至客户端包括:
智能设备根据所述认证结果生成认证结果响应数据;
智能设备发送所述认证结果响应数据至服务器;
服务器解析所述认证结果响应数据,得到所述认证结果;
服务器将所述认证结果发送至客户端。
5.一种客户端,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述客户端包括:
随机数请求发送单元,用于发送获取随机数请求至服务器;
获取随机数的命令转发模块,用于转发服务器生成的获取随机数的命令至智能设备;
随机数响应数据转发模块,用于转发智能设备生成的随机数响应数据至服务器;
随机数接收模块,用于接收服务器从所述随机数响应数据中解析出的随机数;
加密结果发送模块,用于获取输入密码数据或者输入密钥数据,并用所述输入密码数据或者所述输入密钥数据和所述随机数进行加密运算,生成加密结果,并发送所述加密结果至服务器;
随机数命令报文转发模块,用于将服务器根据所述加密结果生成的随机数命令报文转发至智能设备,使得所述智能设备先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端;其中,所述原始密码数据或者原始密钥数据存储在智能设备的安全芯片中,且用户只能够通过认证方式获取所述原始密码数据或者原始密钥数据;所述保存的数据为所述智能设备缓存的所述随机数;
认证结果接收模块,用于接收智能设备通过服务器返回的认证结果。
6.如权利要求5所述的客户端,其特征在于,所述客户端还包括:
密码转换模块,用于将获取到的所述输入密码数据转换成所述输入密钥数据。
7.如权利要求5所述的客户端,其特征在于,所述加密结果发送模块包括:
第一加密单元,用于用所述随机数加密所述输入密码数据或者所述输入密钥数据;或者
第二加密单元,用于用所述输入密码数据或者所述输入密钥数据和所述随机数加密一预置数据;或者,
第三加密单元,用于用所述输入密码数据或者所述输入密钥数据加密所述随机数。
8.一种服务器,其特征在于,原始密码数据或者原始密钥数据存储在智能设备中,所述服务器包括:
请求接收模块,用于接收客户端发送的获取随机数请求;
获取随机数命令发送模块,用于根据所述获取随机数请求生成获取随机数的命令,并通过客户端转发所述获取随机数的命令至智能设备;
随机数响应数据接收模块,用于接收客户端转发的随机数响应数据,其中,智能设备根据所述获取随机数的命令生成随机数,缓存所述随机数后,生成包含所述随机数的随机数响应数据;
随机数发送模块,用于从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端;
加密结果接收模块,用于接收客户端发送的加密结果,所述加密结果是客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算生成的;
随机数命令报文发送模块,用于根据所述加密结果生成随机数命令报文,并将所述随机数命令报文通过客户端转发至智能设备;
认证结果发送模块,用于返回认证结果至客户端,其中,智能设备接收到所述随机数命令报文后,先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果;其中,所述原始密码数据或者原始密钥数据存储在智能设备的安全芯片中,且用户只能够通过认证方式获取所述原始密码数据或者原始密钥数据;所述保存的数据为所述智能设备缓存的所述随机数。
9.如权利要求8所述的服务器,其特征在于,所述认证结果发送模块包括:
认证结果响应数据接收单元,用于接收智能设备发送的认证结果响应数据;
解析单元,用于解析所述认证结果响应数据,得到所述认证结果;
认证结果发送单元,用于将所述认证结果发送至客户端。
10.一种智能设备,其特征在于,原始密码数据或者原始密钥数据存储在所述智能设备中,所述智能设备包括:
获取随机数命令接收模块,用于接收通过客户端转发的获取随机数的命令,所述获取随机数的命令是服务器根据客户端发送的所述获取随机数请求生成的;
随机数响应数据发送模块,用于根据所述获取随机数的命令生成随机数,缓存所述随机数,生成包含所述随机数的随机数响应数据,并通过客户端转发所述随机数响应数据至服务器;
随机数命令报文接收模块,用于接收客户端转发的随机数命令报文,其中,随机数命令报文是服务器根据客户端发送的加密结果生成的,服务器从所述随机数响应数据中解析出所述随机数,并发送所述随机数至客户端后,客户端用输入密码数据或者输入密钥数据和所述随机数进行加密运算,生成加密结果;
认证模块,用于先获取原始密码数据或者原始密钥数据,再用所述原始密码数据或者所述原始密钥数据对所述随机数命令报文中包括的加密结果进行解密,然后将解密得到的解密结果与保存的数据进行比较,根据比较结果生成认证结果,并通过服务器返回所述认证结果至客户端;其中,所述原始密码数据或者原始密钥数据存储在智能设备的安全芯片中,且用户只能够通过认证方式获取所述原始密码数据或者原始密钥数据;所述保存的数据为所述智能设备缓存的所述随机数。
11.如权利要求10所述的智能设备,其特征在于,所述认证模块包括:
认证结果响应数据生成单元,用于根据所述认证结果生成认证结果响应数据;
认证结果响应数据发送单元,用于发送所述认证结果响应数据至服务器。
12.一种密码认证的系统,其特征在于,所述系统包括权利要求5至7任一项所述的客户端、如权利要求8至9任一项所述的服务器和如权利要求10至11任一项所述的智能设备。
CN201610940488.5A 2016-10-24 2016-10-24 密码认证的方法、系统及客户端、服务器和智能设备 Active CN106506479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610940488.5A CN106506479B (zh) 2016-10-24 2016-10-24 密码认证的方法、系统及客户端、服务器和智能设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610940488.5A CN106506479B (zh) 2016-10-24 2016-10-24 密码认证的方法、系统及客户端、服务器和智能设备

Publications (2)

Publication Number Publication Date
CN106506479A CN106506479A (zh) 2017-03-15
CN106506479B true CN106506479B (zh) 2019-09-13

Family

ID=58321887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610940488.5A Active CN106506479B (zh) 2016-10-24 2016-10-24 密码认证的方法、系统及客户端、服务器和智能设备

Country Status (1)

Country Link
CN (1) CN106506479B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397215B2 (en) * 2016-09-27 2019-08-27 Visa International Service Assocation Secure element installation and provisioning
CN106990938B (zh) * 2017-06-12 2020-04-03 迈普通信技术股份有限公司 随机数获取方法、装置及电子设备
CN110651448B (zh) * 2018-03-21 2022-10-04 深圳市汇顶科技股份有限公司 芯片的访问方法、微芯片、智能卡以及调试设备
CN112000493B (zh) * 2020-08-24 2023-04-18 成都卫士通信息产业股份有限公司 一种数据处理系统、方法及电子设备和存储介质
CN112784250B (zh) * 2021-01-27 2024-04-23 深圳融安网络科技有限公司 身份认证方法、客户端、服务器及存储介质
CN113904856B (zh) * 2021-10-15 2024-04-23 广州威戈计算机科技有限公司 认证方法、交换机和认证系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020031225A1 (en) * 2000-09-08 2002-03-14 Hines Larry Lee User selection and authentication process over secure and nonsecure channels
CN101127600B (zh) * 2006-08-14 2011-12-07 华为技术有限公司 一种用户接入认证的方法
CN101296086B (zh) * 2008-06-18 2010-12-08 成都市华为赛门铁克科技有限公司 接入认证的方法、系统和设备
CN101741860B (zh) * 2009-11-27 2012-05-09 华中科技大学 一种计算机远程安全控制方法
CN102469080B (zh) * 2010-11-11 2015-07-15 中国电信股份有限公司 实现通行证用户安全登录应用客户端的方法和系统
CN105656864B (zh) * 2014-11-27 2019-04-05 航天恒星科技有限公司 基于tcm的密钥管理系统及管理方法
CN104484596B (zh) * 2015-01-07 2018-02-13 宇龙计算机通信科技(深圳)有限公司 多操作系统中创建密码的方法及终端

Also Published As

Publication number Publication date
CN106506479A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN106506479B (zh) 密码认证的方法、系统及客户端、服务器和智能设备
JP6976951B2 (ja) 共振暗号化のためのデバイス及び方法
CN106357679B (zh) 密码认证的方法、系统及客户端、服务器和智能设备
CN109347835A (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN106101147B (zh) 一种实现智能设备与远程终端动态加密通讯的方法及系统
CN102420821B (zh) 一种提高文件传输安全性的方法和系统
CN105162772A (zh) 一种物联网设备认证与密钥协商方法和装置
CN109495274A (zh) 一种去中心化智能锁电子钥匙分发方法及系统
CN103763631A (zh) 认证方法、服务器和电视机
CN101815091A (zh) 密码提供设备、密码认证系统和密码认证方法
CN104023013A (zh) 数据传输方法、服务端和客户端
CN101465735A (zh) 网络用户身份验证方法、服务器及客户端
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN106302422B (zh) 业务加密、解密方法和装置
CN108111497A (zh) 摄像机与服务器相互认证方法和装置
CN108809633B (zh) 一种身份认证的方法、装置及系统
CN103812651B (zh) 密码验证方法、装置及系统
CN106452752B (zh) 修改密码的方法、系统及客户端、服务器和智能设备
CN104756458A (zh) 用于保护通信网络中的连接的方法和设备
CN105764051B (zh) 认证方法、认证装置、移动设备及服务器
CN108769029B (zh) 一种对应用系统鉴权认证装置、方法及系统
JPH07325785A (ja) ネットワーク利用者認証方法および暗号化通信方法とアプリケーションクライアントおよびサーバ
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN108900552B (zh) 密钥分发方法和装置、密钥获取方法和装置
CN109379345B (zh) 敏感信息传输方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant