CN108833109B - 身份认证方法、装置以及电子设备 - Google Patents

身份认证方法、装置以及电子设备 Download PDF

Info

Publication number
CN108833109B
CN108833109B CN201810525455.3A CN201810525455A CN108833109B CN 108833109 B CN108833109 B CN 108833109B CN 201810525455 A CN201810525455 A CN 201810525455A CN 108833109 B CN108833109 B CN 108833109B
Authority
CN
China
Prior art keywords
abstract
calculation
value
sub
turn
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
CN201810525455.3A
Other languages
English (en)
Other versions
CN108833109A (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.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda 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 Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Technology Co Ltd
Priority to CN201810525455.3A priority Critical patent/CN108833109B/zh
Publication of CN108833109A publication Critical patent/CN108833109A/zh
Application granted granted Critical
Publication of CN108833109B publication Critical patent/CN108833109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

本发明涉及身份认证技术领域,公开了一种身份认证方法、装置以及电子设备,该方法包括接收用户输入的用户信息;将所述用户名发送至服务器;接收所述服务器发送的摘要计算参数,其中,所述摘要计算参数是由所述服务器基于所述用户信息查询到的;根据所述摘要计算参数计算第一摘要值;将所述第一摘要值发送至所述服务器,以使得所述服务器基于所述第一摘要值进行身份认证。不需要传输密码明文,不直接验证密码,而是验证摘要值,且每个用户所对应的摘要值的摘要计算参数均不同,由于外界无法准确推导出当前用户对应的摘要计算参数,因此很难获取得到第一摘要值,被破解的难度显著增加,提高了身份认证过程中的安全性。

Description

身份认证方法、装置以及电子设备
技术领域
本发明涉及身份认证技术领域,具体涉及一种身份认证方法、装置以及电子设备。
背景技术
身份认证也称为“身份验证”或“身份鉴别”,是指在计算机或计算机网络系统中确认操作者身份的过程,从而确定该用户是否有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获取资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。
传统的身份认证方式为用户密码方式,即用户输入用户名和密码,服务器通过与数据库中记载的用户名和密码比对,判断身份的安全性。但是,随着网络安全问题的不断出现,传统的用户密码方式的安全性受到极大的挑战。
为了提高身份认证的安全性,目前已经有众多密码安全保护方案出现,例如在认证过程中传输密码对应的摘要值,或者传输密码与用户信息组合所对应的摘要值。这种方式相比较于传统方式,不再传输密码明文,一定程度上加强了安全性,但是,服务器端仍然需要存储密码明文,用于后续比对,一旦服务器被攻击者攻击,那么用户密码便会泄露,其安全性依然受到威胁。
发明内容
为此,本发明所要解决的技术问题是现有技术中,身份认证过程中安全性低。
为解决上述技术问题,本发明采用的技术方案如下:
根据第一方面,本发明实施例提供了一种身份认证方法,包括:
接收客户端发送的用户信息;
根据所述用户信息确定对应的摘要计算参数,其中,所述用户信息与所述摘要计算参数的对应关系预先存储于服务器中;
将所述摘要计算参数发送至所述客户端;
接收所述客户端发送的第一摘要值,其中,所述第一摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得;
将所述第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,所述第二摘要值预先存储于所述服务器中。
可选地,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数。
可选地,所述用户信息包括用户名和密码。
可选地,在所述接收客户端发送的用户信息的步骤之前,还包括:
接收所述客户端的注册请求;
生成所述摘要计算参数;
将所述摘要计算参数发送至所述客户端;
接收所述客户端发送的所述第二摘要值和所述用户信息并保存,所述第二摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得。
根据第二方面,本发明实施例提供了一种身份认证方法,包括:
接收用户输入的用户信息,所述用户信息包括用户名;
将所述用户名发送至服务器;
接收所述服务器发送的摘要计算参数,其中,所述摘要计算参数是由所述服务器基于所述用户信息查询到的;
根据所述摘要计算参数计算第一摘要值;
将所述第一摘要值发送至所述服务器,以使得所述服务器基于所述第一摘要值进行身份认证。
可选地,所述用户信息包括与所述用户名对应的密码,在将所述用户名发送至服务器的步骤之前,还包括:
发送注册请求至所述服务器;
接收所述服务器发送的摘要计算参数;
根据所述摘要计算参数和所述密码获取第二摘要值;
将所述第二摘要值和所述用户名发送至所述服务器。
可选地,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数;
所述根据所述摘要计算参数计算第一摘要值的步骤包括:
根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值,所述第一子摘要值的数量与所述摘要计算轮次相同;
将所述密码和第一计算轮次获取到的所述第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;
将第一计算轮次获得的所述第二子摘要值和第二计算轮次获取到的所述第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为所述第一摘要值。
可选地,根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值的步骤,包括:对于每一个计算轮次,执行以下步骤:
从所述随机数组中获取一随机数作为初始随机数;
根据所述初始随机数以及所述时间参数从所述随机数组中获取一随机数作为初始摘要值;
判断所述时间参数是否满足预设条件,当满足预设条件时,以当前摘要值作为当前计算轮次的第一子摘要值;否则重置初始随机数;
判断当前总计算轮次是否与所述用户信息相对应,若对应,则结束流程;否则进入下一个计算轮次。
根据第三方面,本发明实施例提供了一种身份认证装置,包括:
第一接收单元,用于接收客户端发送的用户信息;
确定单元,用于根据所述用户信息确定对应的摘要计算参数,其中,所述用户信息与所述摘要计算参数的对应关系预先存储于服务器中;
第一发送单元,用于将所述摘要计算参数发送至所述客户端;
第二接收单元,用于接收所述客户端发送的第一摘要值,其中,所述第一摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得;
判断单元,用于将所述第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,所述第二摘要值预先存储于所述服务器中。
根据第四方面,本发明实施例提供了一种身份认证装置,包括:
第三接收单元,用于接收用户输入的用户信息,所述用户信息包括用户名;
第二发送单元,用于将所述用户名发送至服务器;
第四接收单元,用于接收服务器发送的摘要计算参数,其中,所述摘要计算参数是由所述服务器基于所述用户信息查询到的;
获取单元,用于根据所述摘要计算参数获取第一摘要值;
第三发送单元,用于将所述第一摘要值发送至所述服务器,以使得所述服务器基于所述第一摘要值进行身份认证。
根据第五方面,本发明实施例提供了一种电子设备,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述根据本发明第一方面所提供的身份认证方法。
根据第六方面,本发明实施例提供了一种电子设备,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述根据本发明第二方面所提供的身份认证方法。
本发明的上述技术方案相对于现有技术具有以下优点:
根据第一方面,本发明实施例提供的身份认证方法,由于每个用户信息均具有与之对应的摘要计算参数,且服务器中预先存储有每个用户信息与摘要计算参数的对应关系,因此,当服务器接收到客户端发送过来的用户信息时,可立即根据用户信息确定与之对应的摘要计算参数,然后将该摘要计算参数发送给客户端;客户端根据摘要计算参数和用户信息可计算得出第一摘要值再返回给服务器,服务器将第一摘要值与预先存储的第二摘要值进行比对,若不一致,则认证失败。以上身份认证方法流程中,服务器与客户端交互时,不需要传输密码明文,并且服务器端也无需存储密码明文和密码密文,避免了因服务器被外界攻击而导致用户密码泄露的安全性问题,有效提高了身份认证过程中的安全性。
根据第一方面,本发明实施例提供的身份认证方法,摘要计算参数包括随机数组、摘要计算轮次以及时间参数,即客户端需要结合对应的随机数组、摘要计算轮次、时间参数以及用户信息等才能获取得到第一摘要值,而第一摘要值作为身份认证的关键信息,其与服务器存储的第二摘要值之间的一致性关乎到用户身份的真实性。由于外界无法准确推导出当前用户对应的摘要计算参数,因此很难获取得到第一摘要值,被破解的难度显著增加。
根据第一方面,本发明实施例提供的身份认证方法,在接收客户端发送的用户信息之前,还包括:接收用户端的注册请求,然后生成摘要计算参数,并将摘要计算参数发送给客户端,最后接收客户端发送的第二摘要值和用户信息并保存,其中,第二摘要值是客户端根据摘要计算参数和用户信息计算得到。上述注册过程中,客户端通过用户信息以及服务器生成的摘要计算参数计算得到第二摘要值,该第二摘要值保存于服务器端,用于后续用户登录时验证身份。
根据第二方面,本发明实施例提供的身份认证方法,用户进行登录时,客户端首先发送用户信息至服务器,然后接收服务器发送的与用户信息对应的摘要计算参数,通过该摘要计算参数获取第一摘要值,最后将第一摘要值发送至服务器,以供服务器验证身份。在此过程中,不需要传输密码明文,并且与传统的密码认证方式不同的是,本发明实施例不直接验证密码,而是验证摘要值,登录时,客户端根据摘要计算参数重新计算得到第一摘要值,以供服务器验证,且每个用户所对应的摘要值的摘要计算参数均不同,由于外界无法准确推导出当前用户对应的摘要计算参数,因此很难获取得到第一摘要值,被破解的难度显著增加,提高了身份认证过程中的安全性。
根据第二方面,本发明实施例提供的身份认证方法,摘要计算参数包括随机数组、摘要计算轮次以及时间参数,用户信息包括用户名和密码,根据摘要计算参数获取第一摘要值的步骤包括根据随机数组、时间参数和摘要计算轮次获取若干第一子摘要值,第一子摘要值的数量与摘要计算轮次相同;根据密码和第一计算轮次获取到的第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;根据第一计算轮次获得的第二子摘要值和第二计算轮次获取到的第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为第一摘要值。
即是说,第一摘要值是由各计算轮次的第一子摘要值和在前计算轮次的第二子摘要值数据拼接而成,进而增强了第一摘要值的复杂性,降低了外界破解的可能性,提高了安全性。另外,第一计算轮次的第二子摘要值是由用户密码与第一计算轮次的第一子摘要值拼接而成,即是说,获取第一摘要值之前必须获知用户密码,进一步加强了安全保障,提高了身份认证过程中的安全可靠性。
根据第三方面,本发明实施例提供的身份认证装置,由于每个用户信息均具有与之对应的摘要计算参数,且服务器中预先存储有每个用户信息与摘要计算参数的对应关系,因此,当服务器通过第一接收单元接收到客户端发送过来的用户信息时,可立即通过确定单元根据用户信息确定与之对应的摘要计算参数,然后通过第一发送单元将该摘要计算参数发送给客户端;客户端可根据摘要计算参数和用户信息可计算得出第一摘要值再返回给服务器,服务器通过判断单元将第一摘要值与预先存储的第二摘要值进行比对,若不一致,则认证失败。以上身份认证装置,服务器与客户端交互时,不需要传输密码明文,并且服务器端也无需存储密码明文和密码密文,避免了因服务器被外界攻击而导致用户密码泄露的安全性问题,有效提高了身份认证过程中的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的身份认证方法的流程框图;
图2为本发明实施例1提供的身份认证方法的一种实施方式的流程框图;
图3为本发明实施例1提供的身份认证装置的结构框图;
图4为本发明实施例1提供的电子设备的结构框图;
图5为本发明实施例2提供的身份认证方法的流程框图;
图6为本发明实施例2提供的身份认证方法的一种实施方式的流程框图;
图7为本发明实施例2提供的身份认证方法中步骤S23的流程框图;
图8为本发明实施例2提供的身份认证装置的结构框图;
图9为本发明实施例2提供的电子设备的结构框图;
图10为本发明实施例3提供的具体示例中注册流程图;
图11为本发明实施例3提供的具体示例中登录流程图;
图12为本发明实施例3提供的具体示例中获取摘要值S的流程图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本发明实施例提供了一种身份认证方法,执行主体为服务器,如图1所示,包括以下步骤:
步骤S11、接收客户端发送的用户信息。其中,用户信息可以包括用户名和登录密码,但需要说明的是,步骤S11中接收到的用户信息一般为用户名,不包括登录密码,即信息传递过程中不包含登录密码。
步骤S12、根据用户信息确定对应的摘要计算参数,其中,用户信息与摘要计算参数的对应关系预先存储于服务器中。
其中,不同的用户信息所对应的摘要计算参数不相同,且两者之间的对应关系可预先存储在服务器的数据库中,当服务器接收到用户信息时,则可以在其数据库中查询出该用户信息,以及查询出与之对应的摘要计算参数。
步骤S13、将摘要计算参数发送至客户端。
步骤S14、接收客户端发送的第一摘要值,其中,第一摘要值是客户端根据摘要计算参数和用户信息计算所得。
需要说明的是,步骤S14中的用户信息指的是用户的登录密码,客户端是根据摘要计算参数和用户的登录密码计算得到第一摘要值的。
步骤S15、将第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,第二摘要值预先存储于服务器中。
相反地,若第一摘要值和第二摘要值一致,则代表身份安全,认证成功。
其中,第二摘要值是用户在注册时计算所得后预先存储在服务器中,详细计算过程在后文中进行介绍。
本发明实施例提供的身份认证方法,由于每个用户信息均具有与之对应的摘要计算参数,且服务器中预先存储有每个用户信息与摘要计算参数的对应关系,因此,当服务器接收到客户端发送过来的用户信息时,可立即根据用户信息确定与之对应的摘要计算参数,然后将该摘要计算参数发送给客户端;客户端根据摘要计算参数和用户信息可计算得出第一摘要值再返回给服务器,服务器将第一摘要值与预先存储的第二摘要值进行比对,若不一致,则认证失败。以上身份认证方法流程中,服务器与客户端交互时,不需要传输密码明文,并且服务器端也无需存储密码明文和密码密文,避免了因服务器被外界攻击而导致用户密码泄露的安全性问题,有效提高了身份认证过程中的安全性。
作为一种可选实施方式,摘要计算参数可以包括随机数组、摘要计算轮次以及时间参数。随机数组是指随机数集合,长度为256字节,随机数集合里包含了若干随机数;摘要计算轮次为后续客户端计算第一摘要值时所需要循环计算的次数;时间参数是服务器根据时间生成的时间因子,其具体数值与实际产生的时间有关。其中,不同的用户信息所对应的摘要计算参数不相同,即每个用户均具有与之对应的随机数组、摘要计算轮次以及时间参数。
即是说,客户端需要结合对应的随机数组、摘要计算轮次、时间参数以及用户信息等才能获取得到第一摘要值,而第一摘要值作为身份认证的关键信息,其与服务器存储的第二摘要值之间的一致性关乎到用户身份的真实性。由于外界无法准确推导出当前用户对应的摘要计算参数,因此很难获取得到第一摘要值,被破解的难度显著增加。
作为一种可选实施方式,如图2所示,在步骤S11之前,还包括以下步骤:
步骤S110、接收客户端的注册请求。
步骤S111、生成摘要计算参数。其中,服务器可以生成256字节的随机数组和计算轮次,并根据注册时间计算得出时间参数。
步骤S112、将摘要计算参数发送至客户端。
步骤S113、接收客户端发送的第二摘要值和用户信息并保存,第二摘要值是客户端根据摘要计算参数和用户信息计算所得。
需要说明的是,步骤S113中服务器接收的客户端发送的用户信息中不包含用户的登录密码,而参与第二摘要值计算的用户信息指的是用户的登录密码。
上述注册过程中,客户端通过用户信息以及服务器生成的摘要计算参数计算得到第二摘要值,该第二摘要值保存于服务器端,用于后续用户登录时验证身份。
本发明实施例还提供了一种身份认证装置,如图3所示,包括第一接收单元11、确定单元12、第一发送单元13、第二接收单元14以及判断单元15,其中,
第一接收单元11用于接收客户端发送的用户信息。
确定单元12用于根据用户信息确定对应的摘要计算参数,其中,用户信息与摘要计算参数的对应关系预先存储于服务器中。
第一发送单元13用于将摘要计算参数发送至客户端。
第二接收单元14用于接收客户端发送的第一摘要值,其中,第一摘要值是客户端根据摘要计算参数和用户信息计算所得。
判断单元15用于将第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,第二摘要值预先存储于服务器中。
本发明实施例提供的身份认证装置,由于每个用户信息均具有与之对应的摘要计算参数,且服务器中预先存储有每个用户信息与摘要计算参数的对应关系,因此,当服务器通过第一接收单元11接收到客户端发送过来的用户信息时,可立即通过确定单元12根据用户信息确定与之对应的摘要计算参数,然后通过第一发送单元13将该摘要计算参数发送给客户端;客户端可根据摘要计算参数和用户信息可计算得出第一摘要值再返回给服务器,服务器通过判断单元15将第一摘要值与预先存储的第二摘要值进行比对,若不一致,则认证失败。以上身份认证装置,服务器与客户端交互时,不需要传输密码明文,并且服务器端也无需存储密码明文和密码密文,避免了因服务器被外界攻击而导致用户密码泄露的安全性问题,有效提高了身份认证过程中的安全性。
本发明实施例还提供了一种电子设备,包括一个或多个处理器16以及存储器17,图4中以一个处理器16为例。
处理器16可以为中央处理器(Central Processing Unit,CPU)。处理器16还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器16也可以是任何常规的处理器等。
存储器17作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例1中的身份认证方法对应的程序指令/模块。处理器16通过运行存储在存储器17中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现实施例1中的身份认证方法。
存储器17可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据身份认证装置的使用所创建的数据等。此外,存储器17可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器17可选包括相对于处理器16远程设置的存储器,这些远程存储器可以通过网络连接至采用上述身份认证方法的身份认证装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器17中,当被所述一个或者多个处理器16执行时,执行实施例1中所述的身份认证方法。
上述产品可执行本发明实施例1所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见实施例1中的上述相关描述。
实施例2
本发明实施例提供了一种身份认证方法,执行主体为客户端,如图5所示,包括以下步骤:
步骤S20、接收用户输入的用户信息,用户信息包括用户名。
步骤S21、将用户名发送至服务器。需要说明的是,步骤S21中发送的为用户名,不包含密码,即信息传递过程中不包含密码。
步骤S22、接收服务器发送的摘要计算参数,其中,摘要计算参数是由服务器基于用户信息查询到的。相关描述请参见实施例1中步骤S12,在此不再赘述。
步骤S23、根据摘要计算参数计算第一摘要值。其中,第一摘要值是根据摘要计算参数和用户密码所计算得到。
步骤S24、将第一摘要值发送至服务器,以使得所述服务器基于第一摘要值进行身份认证。
本发明实施例提供的身份认证方法,用户进行登录时,客户端首先发送用户信息至服务器,然后接收服务器发送的与用户信息对应的摘要计算参数,通过该摘要计算参数获取第一摘要值,最后将第一摘要值发送至服务器,以供服务器验证身份。在此过程中,不需要传输密码明文,并且与传统的密码认证方式不同的是,本发明实施例不直接验证密码,而是验证摘要值,登录时,客户端根据摘要计算参数重新计算得到第一摘要值,以供服务器验证,且每个用户所对应的摘要值的摘要计算参数均不同,由于外界无法准确推导出当前用户对应的摘要计算参数,因此很难获取得到第一摘要值,被破解的难度显著增加,提高了身份认证过程中的安全性。
作为一种可选实施方式,用户信息还包括与用户名对应的密码,如图6所示,在步骤S21之前,还包括以下步骤:
步骤S210、发送注册请求至服务器。
步骤S211、接收服务器发送的摘要计算参数。服务器会根据客户端的注册请求生成摘要计算参数,关于摘要计算参数在实施例1中已经描述,在此不再赘述。
步骤S212、根据摘要计算参数和密码获取第二摘要值。
步骤S213、将第二摘要值和用户名发送至服务器。
作为一种可选实施方式,如图7所示,步骤S23包括以下步骤:
步骤S231、根据随机数组、时间参数和摘要计算轮次获取若干第一子摘要值,第一子摘要值的数量与摘要计算轮次相同。
步骤S232、将密码和第一计算轮次获取到的第一子摘要值拼接得到第一计算轮次对应的第二子摘要值。
步骤S233、将第一计算轮次获得的第二子摘要值和第二计算轮次获取到的第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
步骤S234、以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为第一摘要值。
即是说,第一摘要值是由在后计算轮次的第一子摘要值和在前计算轮次的第二子摘要值数据拼接而成,进而增强了第一摘要值的复杂性,降低了外界破解的可能性,提高了安全性。另外,第一计算轮次的第二子摘要值是由用户密码与第一计算轮次的第一子摘要值拼接而成,即是说,获取第一摘要值之前必须获知用户密码,进一步加强了安全保障,提高了身份认证过程中的安全可靠性。
需要说明的是,上述获取第二摘要值与获取第一摘要值原理相同,这里不再赘述。
作为一种可选实施方式,步骤S231包括以下步骤:
步骤S2311、从随机数组中获取一随机数作为初始随机数;
步骤S2312、根据初始随机数以及时间参数从随机数组中获取一随机数,作为初始摘要值;本实施例中,可以初始随机数和时间参数之和作为随机数组中的序号从随机数组中获取随机数,作为初始摘要值,或者以初始随机数和时间参数之差的绝对值作为随机数组中的序号获取随机数,或者以初始随机数和时间参数的乘积作为随机数组的序号获取随机数,或者以其他初始随机数和时间参数之间的组合方式作为随机数组的序号获取随机数,均可以实现本发明的目的。
步骤S2313、设置一预设条件,当时间参数满足该预设条件时,则以当前摘要值作为当前计算轮次的第一子摘要值;当不满足该预设条件时,则执行步骤S2315。
本实施例中,在执行完步骤S2312后,时间参数可以作为变量递减一个数量级,该预设条件可以为时间参数是否达到预设值,当达到预设值时,则满足该预设条件,否则不满足该预设条件。当然,该预设条件可以为其他条件,可根据实际需求而设定。
步骤S2314、判断当前总计算轮次是否与该用户信息对应,当对应时,则结束流程;当不对应时,则返回执行步骤S2311,进入下一个计算轮次。
每个用户信息均有对应的计算轮次,例如,用户A对应的计算轮次是5,用户B对应的计算轮次为7,用户C对应的计算轮次为8。以用户A为例,如果当前总计算轮次为3,则当前计算轮次还未达到用户A对应的计算轮次5,即当前总计算轮次与用户信息不对应,进入下一个计算轮次。如果当前总计算轮次为5,则当前计算轮次已经达到用户A对应的计算轮次5,即当前总计算轮次与用户信息对应,结束流程。
步骤S2315、重置初始随机数,并返回执行步骤S2312。
作为一种可选实施方式,还包括以下步骤:对每个计算轮次获取到的第二子摘要值进行国密摘要运算。由于国密摘要运算的安全性较高,因此进一步保障了第一摘要值的安全性。并且国密摘要运算是我国开发的保障信息安全的核心技术,具有很高的应用价值。本实施例中,可以采用SM3国密摘要算法,也可以采用其他国密摘要算法,在此不做过多限定。
本发明实施例还提供了一种身份认证装置,如图8所示,包括第三接收单元20、第二发送单元21、第四接收单元22、获取单元23以及第三发送单元24。其中,
第三接收单元20用于接收用户输入的用户信息,用户信息包括用户名;
第二发送单元21用于将用户名发送至服务器;
第四接收单元22用于接收服务器发送的摘要计算参数,其中,摘要计算参数是由服务器基于用户信息查询到的;
获取单元23用于根据摘要计算参数获取第一摘要值;
第三发送单元24用于将第一摘要值发送至服务器,以使得服务器基于第一摘要值进行身份认证。
另外,本发明实施例还提供了一种电子设备,包括一个或多个处理器25以及存储器26,图9中以一个处理器25为例。
处理器25可以为中央处理器(Central Processing Unit,CPU)。处理器25还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器25也可以是任何常规的处理器等。
存储器26作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例2中的身份认证方法对应的程序指令/模块。处理器25通过运行存储在存储器26中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现实施例2中的身份认证方法。
存储器26可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据身份认证装置的使用所创建的数据等。此外,存储器26可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器26可选包括相对于处理器25远程设置的存储器,这些远程存储器可以通过网络连接至采用上述身份认证方法的身份认证装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器26中,当被所述一个或者多个处理器25执行时,执行实施例2中所述的身份认证方法。
上述产品可执行本发明实施例2所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见实施例2中的上述相关描述。
实施例3
本发明实施例提供了一种身份认证方法的具体示例,包括以下步骤:
一、用户注册流程(参见图10)
a.客户端提出注册申请,服务器生成随机数组N和计算轮次k,并根据注册时间T计算出时间参数t1和t2;
b.服务器返回256字节长度的随机数组N、计算轮次k,时间参数t1和t2;
c.用户输入密码,客户端根据密码、随机数组N、计算轮次k以及时间参数t1和t2开始计算摘要值,得到摘要值S,计算流程见图;
d.客户端将注册信息和摘要值S发送到服务器;
e.服务器记录用户注册信息和摘要值S以及随机数组N、计算轮次k,时间参数t1和t2至数据库。
二、用户登录流程(参见图11)
a.用户输入用户名和密码,开始登录;
b.客户端发送用户名至服务器,服务器查询数据库,返回与该用户名对应的随机数组N、计算轮次k以及时间参数t1和t2;
c.客户端使用密码、随机数组N、计算轮次k以及时间参数t1和t2,计算摘要值S,并发送给服务器验证;
d.服务器将客户端发送过来的摘要值S与注册时数据库中存储的摘要值S比较,判断是否登录成功。即,如果摘要值S相同,则代表身份认证成功,否则认证失败。
三、上述注册和登录流程中摘要值S的计算过程(参见图12)
a.在随机数组N中获取一随机数作为初始随机数b。
具体地,b=N[n+m],其中,变量n的初始值为0,m表示当前计算轮次,m≥1。
b.根据初始随机数b以及时间参数从随机数组N中获取一随机数作为初始摘要值Dm[n]。
具体地,Dm[n]=N[b+s],其中,s为时间参数t1。
c.变量n加1,且len减1,其中,len为时间参数t2。
d.判断len是否为0。当len为0,则以当前摘要值Dm[n]作为该计算轮次的第一子摘要值。当len不为0时,则重置初始随机数b,b=N[n],并返回执行步骤b。
e.判断m是否等于k+1,其中,k≥0。当不等于时,则返回执行步骤a,否则结束流程。
当得到各计算轮次的第一子摘要值后,执行以下步骤:
f.将用户输入的登录密码key和第一计算轮次获取到的第一子摘要值D0进行拼接,并采用SM3国密加密算法对拼接结果进行摘要运算,得到第一计算轮次对应的第二子摘要值S0。
g.将第一计算轮次对应的第二子摘要值S0和第二计算轮次获取到的第一子摘要值D1进行拼接,并采用SM3国密加密算法对拼接结果进行摘要运算,得到第二计算轮次对应的第二子摘要值S1。
依次类推,直到获取最后的计算轮次所对应的第二子摘要值Sk+1,并以此作为第一摘要值或第二摘要值。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (8)

1.一种身份认证方法,其特征在于,包括:
接收用户输入的用户信息,所述用户信息包括用户名;
将所述用户名发送至服务器;
接收所述服务器发送的摘要计算参数,其中,所述摘要计算参数是由所述服务器基于所述用户信息查询到的;
根据所述摘要计算参数计算第一摘要值;
将所述第一摘要值发送至所述服务器,以使得所述服务器基于所述第一摘要值进行身份认证;
其中,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数;
所述根据所述摘要计算参数计算第一摘要值的步骤包括:
根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值,所述第一子摘要值的数量与所述摘要计算轮次相同;
将所述用户的密码和第一计算轮次获取到的所述第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;
将第一计算轮次获得的所述第二子摘要值和第二计算轮次获取到的所述第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为所述第一摘要值。
2.根据权利要求1所述的身份认证方法,其特征在于,所述用户信息包括与所述用户名对应的密码,在将所述用户名发送至服务器的步骤之前,还包括:
发送注册请求至所述服务器;
接收所述服务器发送的摘要计算参数;
根据所述摘要计算参数和所述密码获取第二摘要值;
将所述第二摘要值和所述用户名发送至所述服务器。
3.根据权利要求1所述的身份认证方法,其特征在于,所述根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值的步骤,包括:对于每一个计算轮次,执行以下步骤:
从所述随机数组中获取一随机数作为初始随机数;
根据所述初始随机数以及所述时间参数从所述随机数组中获取一随机数作为初始摘要值;
判断所述时间参数是否满足预设条件,当满足预设条件时,以当前摘要值作为当前计算轮次的第一子摘要值;否则重置初始随机数;
判断当前总计算轮次是否与所述用户信息相对应,若对应,则结束流程;否则进入下一个计算轮次。
4.一种身份认证方法,其特征在于,包括:
接收客户端发送的用户信息;
根据所述用户信息确定对应的摘要计算参数,其中,所述用户信息与所述摘要计算参数的对应关系预先存储于服务器中;
将所述摘要计算参数发送至所述客户端;
接收所述客户端发送的第一摘要值,其中,所述第一摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得;
将所述第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,所述第二摘要值预先存储于所述服务器中;
其中,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数;
所述第一摘要值按照以下方式由所述客户端生成:
根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值,所述第一子摘要值的数量与所述摘要计算轮次相同;
将用户的密码和第一计算轮次获取到的所述第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;
将第一计算轮次获得的所述第二子摘要值和第二计算轮次获取到的所述第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为所述第一摘要值。
5.根据权利要求4所述的身份认证方法,其特征在于,在所述接收客户端发送的用户信息的步骤之前,还包括:
接收所述客户端的注册请求;
生成所述摘要计算参数;
将所述摘要计算参数发送至所述客户端;
接收所述客户端发送的所述第二摘要值和所述用户信息并保存,所述第二摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得。
6.一种身份认证装置,其特征在于,包括:
第一接收单元,用于接收客户端发送的用户信息;
确定单元,用于根据所述用户信息确定对应的摘要计算参数,其中,所述用户信息与所述摘要计算参数的对应关系预先存储于服务器中;
第一发送单元,用于将所述摘要计算参数发送至所述客户端;
第二接收单元,用于接收所述客户端发送的第一摘要值,其中,所述第一摘要值是所述客户端根据所述摘要计算参数和所述用户信息计算所得;
判断单元,用于将所述第一摘要值与第二摘要值进行比对,若不一致,则认证失败,其中,所述第二摘要值预先存储于所述服务器中;
其中,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数;
所述第一摘要值按照以下方式计算:
根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值,所述第一子摘要值的数量与所述摘要计算轮次相同;
将用户的密码和第一计算轮次获取到的所述第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;
将第一计算轮次获得的所述第二子摘要值和第二计算轮次获取到的所述第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为所述第一摘要值。
7.一种身份认证装置,其特征在于,包括:
第三接收单元,用于接收用户输入的用户信息,所述用户信息包括用户名;
第二发送单元,用于将所述用户名发送至服务器;
第四接收单元,用于接收服务器发送的摘要计算参数,其中,所述摘要计算参数是由所述服务器基于所述用户信息查询到的;
获取单元,用于根据摘要计算参数计算第一摘要值;
第三发送单元,用于将所述第一摘要值发送至服务器,以使得所述服务器基于所述第一摘要值进行身份认证;
其中,所述摘要计算参数包括随机数组、摘要计算轮次以及时间参数;
根据摘要计算参数计算第一摘要值包括:
根据所述随机数组、所述时间参数和所述摘要计算轮次获取若干第一子摘要值,所述第一子摘要值的数量与所述摘要计算轮次相同;
将所述用户的密码和第一计算轮次获取到的所述第一子摘要值拼接得到第一计算轮次对应的第二子摘要值;
将第一计算轮次获得的所述第二子摘要值和第二计算轮次获取到的所述第一子摘要值拼接得到第二计算轮次对应的第二子摘要值;
以此类推,直至获取最后的计算轮次所对应的第二子摘要值,并以此作为所述第一摘要值。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1至3中任一项所述的身份认证方法或者执行权利要求4或5中任一项所述的身份认证方法。
CN201810525455.3A 2018-05-28 2018-05-28 身份认证方法、装置以及电子设备 Active CN108833109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810525455.3A CN108833109B (zh) 2018-05-28 2018-05-28 身份认证方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810525455.3A CN108833109B (zh) 2018-05-28 2018-05-28 身份认证方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN108833109A CN108833109A (zh) 2018-11-16
CN108833109B true CN108833109B (zh) 2021-09-14

Family

ID=64146461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810525455.3A Active CN108833109B (zh) 2018-05-28 2018-05-28 身份认证方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN108833109B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112055008B (zh) * 2020-08-31 2022-10-14 广州市百果园信息技术有限公司 一种身份验证方法、装置、计算机设备和存储介质
CN114154126B (zh) * 2021-10-31 2024-04-19 苏州浪潮智能科技有限公司 一种bmc登录认证方法、装置以及介质
WO2023236042A1 (zh) * 2022-06-07 2023-12-14 北京小米移动软件有限公司 一种生物特征识别方法、装置、电子设备及存储介质
CN115242521A (zh) * 2022-07-25 2022-10-25 深圳市潮流网络技术有限公司 密码认证方法、装置及终端设备发起呼叫的通讯方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408299A (zh) * 2016-08-31 2017-02-15 江苏买卖网电子商务有限公司 一种基于区块链技术的电子智能签约支付方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969446B (zh) * 2010-11-02 2013-08-21 北京交通大学 一种移动商务身份认证方法
US10374807B2 (en) * 2014-04-04 2019-08-06 Hewlett Packard Enterprise Development Lp Storing and retrieving ciphertext in data storage
CN106209793A (zh) * 2016-06-30 2016-12-07 上海斐讯数据通信技术有限公司 一种身份验证方法及验证系统
CN107911343B (zh) * 2017-10-27 2020-09-15 深圳英飞拓科技股份有限公司 安全的密码存储验证方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106408299A (zh) * 2016-08-31 2017-02-15 江苏买卖网电子商务有限公司 一种基于区块链技术的电子智能签约支付方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于USBKey网上认证系统设计;廖云,周安民;《信息安全与通信保密》;20130930;全文 *

Also Published As

Publication number Publication date
CN108833109A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108833109B (zh) 身份认证方法、装置以及电子设备
CN111935094B (zh) 数据库访问方法、装置、系统及计算机可读存储介质
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
WO2021012552A1 (zh) 一种登录处理方法及相关设备
US10482255B2 (en) Controlled secure code authentication
TW201732669A (zh) 受控的安全碼鑑認
CN110874494B (zh) 密码运算处理方法、装置、系统及度量信任链构建方法
CN109981562B (zh) 一种软件开发工具包授权方法及装置
CN108462687B (zh) 防刷登录的方法、装置、终端设备及存储介质
CN108092775B (zh) 一种校验方法及装置、电子设备
CN110175448B (zh) 一种可信设备登录认证方法及具有认证功能的应用系统
CN113746638B (zh) Nft存储方法、nft还原方法、计算机设备和存储介质
CN113556321A (zh) 口令认证方法、系统、电子装置和存储介质
CN111431844B (zh) 一种权限认证方法及装置
CN110912689A (zh) 一种唯一值的生成、验证方法及系统
CN109145651B (zh) 一种数据处理方法及装置
CN112989426A (zh) 授权认证方法及装置、资源访问令牌的获取方法
CN111565179B (zh) 身份校验方法、装置、电子设备及存储介质
CN110933675A (zh) 一种无线传感器网络认证方法、系统与电子设备
CN109698806B (zh) 一种用户数据校验方法及系统
CN108390878B (zh) 用于验证网络请求安全性的方法、装置
CN114510701A (zh) 单点登录方法、装置、设备及存储介质
CN113505353A (zh) 一种认证方法、装置、设备和存储介质
CN113205342A (zh) 基于多端支付的用户身份验证方法及装置
CN115314228B (zh) 无人机身份认证方法、装置和系统

Legal Events

Date Code Title Description
PB01 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