掌桥专利:专业的专利平台
掌桥专利
首页

一种秘钥生成方法、身份验证方法和相关设备

文献发布时间:2023-06-19 19:37:02


一种秘钥生成方法、身份验证方法和相关设备

技术领域

本发明涉及身份验证技术领域,具体涉及一种秘钥生成方法、身份验证方法和相关设备。

背景技术

一次性密码(One Time Password,简称OTP),又称动态密码或单次有效密码,是计算机或其他数字设备上只能使用一次的密码。一次性密码常被用于进行身份验证等敏感类信息验证操作,虽然可以通过一次性密码提高身份验证等信息验证操作的安全性,但是,一次性密码的秘钥存在被泄露的风险,导致身份验证等敏感类信息验证操作存在安全隐患。

发明内容

本发明提供一种秘钥生成方法、身份验证方法和相关设备,以降低秘钥泄露的风险,提高信息验证的安全性。

第一方面,本发明提供了一种秘钥生成方法,应用于客户端,包括:

接收初始秘钥;

生成中间秘钥,并根据所述中间秘钥和所述初始秘钥生成目标秘钥,以使所述客户端根据所述目标秘钥进行信息验证;

将所述中间秘钥发送给服务端,以使所述服务端根据所述中间秘钥和初始秘钥生成目标秘钥,以及根据所述目标秘钥进行信息验证。

第二方面,本发明提供了一种身份验证方法,应用于客户端,包括:

根据目标用户的目标秘钥生成所述目标用户的第二口令,所述目标秘钥是根据如上任一项所述的应用于客户端的秘钥生成方法生成的;

将所述目标用户的第二口令发送至服务端,以使所述服务端根据所述目标用户的第二口令对所述目标用户进行身份验证。

第三方面,本发明提供了一种秘钥生成方法,应用于服务端,包括:

生成初始秘钥,并将所述初始秘钥发送至对应的客户端;

接收客户端发送的中间秘钥;

根据所述中间秘钥和所述初始秘钥生成所述目标秘钥,以使所述服务端根据所述目标秘钥进行信息验证。

第四方面,本发明提供了一种身份验证方法,应用于服务端,包括:

接收目标用户的第二口令;

根据所述目标用户的目标秘钥生成第四口令,所述目标秘钥是根据如上任一项所述的应用于服务端的秘钥生成方法生成的;

若所述第四口令与所述第二口令相同,则所述目标用户的通过身份验证。

第五方面,本发明提供了一种电子设备,包括存储器和处理器;

所述存储器用于存储指令;

所述处理器用于运行所述存储器存储的指令,实现如上任一项所述的秘钥生成方法或身份验证方法。

第六方面,本发明提供了一种计算机可读存储介质,其上存储有用于执行如上任一项所述的秘钥生成方法或身份验证方法的指令。

第七方面,本发明提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令时实现如上任一项所述的秘钥生成方法或身份验证方法。

本发明提供的秘钥生成方法、身份验证方法和相关设备,虽然服务端也会将初始秘钥发送给对应的客户端,客户端也会将中间秘钥发送给服务端,但是,客户端和服务端都是根据中间秘钥和初始秘钥生成的目标秘钥,来进行信息验证的,即便服务端发送初始秘钥的过程中以及留存初始秘钥的过程中,初始秘钥被泄露,也不会影响信息验证操作的安全性,即便客户端发送中间秘钥至服务端的过程中,中间秘钥也被泄露,但是,由于中间秘钥和初始秘钥生成目标秘钥的方式并未被泄露,因此,也不会影响信息验证操作的安全性。也就是说,由于本发明中进行信息验证的目标秘钥并未被服务端或客户端传递,因此,可以降低目标秘钥被泄露的风险,可以提高信息验证的安全性。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1为本发明实施例提供的一种秘钥生成方法的流程图;

图2为本发明实施例提供的另一种秘钥生成方法的流程图;

图3为本发明实施例提供的另一种秘钥生成方法的流程图;

图4为本发明实施例提供的另一种身份验证方法的流程图;

图5为本发明实施例提供的另一种身份验证方法的流程图;

图6为本发明实施例提供的另一种秘钥生成方法的流程图;

图7为本发明实施例提供的另一种秘钥生成方法的流程图;

图8为本发明实施例提供的另一种秘钥生成方法的流程图;

图9为本发明实施例提供的另一种身份验证方法的流程图;

图10为本发明实施例提供的另一种身份验证方法的流程图;

图11为本发明实施例提供的另一种身份验证方法的流程图;

图12为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在使用一次性密码进行信息验证的过程中,服务端会将一次性密码的秘钥发送给用户,用户将秘钥输入至客户端后,客户端根据秘钥生成口令,并发送至服务端进行信息验证。但是,在服务端将秘钥发送给用户以及用户留存秘钥的过程中,会存在秘钥泄露的风险,导致身份验证等敏感类信息验证操作存在安全隐患。

基于此,本发明提供了一种身份验证方案,在信息验证的过程中,并不直接发送进行信息验证的目标秘钥,而是发送生成该目标秘钥的初始秘钥,以降低目标秘钥的泄露风险,提高信息验证的安全性。

作为本发明公开内容的一种可选实现,本发明实施例提供了一种秘钥生成方法,该秘钥生成方法应用于客户端,如图1所示,图1为本发明实施例提供的一种秘钥生成方法的流程图,该秘钥生成方法包括:

S101:接收初始秘钥;

如图2所示,图2为本发明实施例提供的另一种秘钥生成方法的流程图,在目标用户首次登陆服务端或在服务端进行注册的过程中,目标用户会输入账号A和密码B,之后如步骤S201所示,服务端生成与账号A关联或对应的初始秘钥k0,该初始秘钥k0一般为16位的字符串,其可以通过二维码的方式显示,也可以通过文字的方式显示。

服务端生成初始秘钥k0之后,如步骤S202所示,会通过邮件、短信或微信等方式将初始秘钥k0发送给目标用户对应的客户端。目标用户可以通过扫描二维码或手工输入的方式,将初始秘钥k0输入至客户端,如步骤S203所示。客户端接收目标用户输入的初始秘钥k0后,会生成对应的账号A。可以理解的是,目标用户接收初始秘钥k0的客户端可以是微信客户端或邮件客户端等,其与本发明中生成秘钥的客户端可以是不同客户端,也可以是相同客户端。

S102:生成中间秘钥,并根据中间秘钥和初始秘钥生成目标秘钥,以使客户端根据目标秘钥进行信息验证;

客户端接收目标用户输入的初始秘钥k0后,如步骤S204所示,会生成中间秘钥k1。其中,目标用户可以通过点击客户端生成的账号A,来触发生成中间秘钥k1。其中,中间秘钥k1可以是通过随机数生成的秘钥。该中间秘钥k1生成后即是固定的秘钥,并不会发生改变。中间秘钥k1一般可以包含数字、大写字母和/或小写字母等,中间秘钥k1一般为6位的字符串。

客户端生成中间秘钥k1之后,如步骤S204所示,会根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,并将目标秘钥k2作为目标用户进行信息验证的秘钥。

S103:将中间秘钥发送给服务端,以使服务端根据中间秘钥和初始秘钥生成目标秘钥,以及根据目标秘钥进行信息验证。

客户端生成中间秘钥k1之后,或者,生成目标秘钥k2之后,将中间秘钥k1发送给服务端,以使服务端根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,并根据目标秘钥k2进行信息验证。

在一些实施例中,若目标秘钥k2用于对目标用户进行身份验证,则如步骤S205所示,需要客户端将中间秘钥k1和目标用户的用户信息发送给服务端,以使服务端根据中间秘钥k1和初始秘钥k0生成目标秘钥k2后,根据用户信息建立目标秘钥k2与目标用户的对应关系,以根据目标秘钥k2对目标用户进行身份验证,如步骤S206所示。其中,目标用户的用户信息可以包括目标用户的账号A和密码B。

在另一些实施例中,若目标秘钥k2用于对客户端和服务端之间的传输数据进行加解密,则可以不用将目标用户的用户信息发送给服务端,也不用建立目标秘钥k2与目标用户的对应关系,在此不再赘述。

本发明实施例中,虽然服务端也会将初始秘钥k0发送给目标用户对应的客户端,客户端也会将中间秘钥k1发送给服务端,但是,客户端和服务端都是根据中间秘钥k1和初始秘钥k0生成的目标秘钥k2,来进行信息验证的,即便服务端发送初始秘钥k0的过程中以及目标用户留存初始秘钥k0的过程中,初始秘钥k0被泄露,也不会影响信息验证操作的安全性,即便客户端发送中间秘钥k1至服务端的过程中,中间秘钥k1也被泄露,但是,由于中间秘钥k1和初始秘钥k0生成目标秘钥k2的方式并未被泄露,因此,也不会影响信息验证操作的安全性。也就是说,由于本发明中进行信息验证的目标秘钥k2并未被服务端或客户端传递,因此,可以降低目标秘钥k2被泄露的风险,可以提高信息验证的安全性。

本发明一些实施例中,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2包括:将中间秘钥k1和初始秘钥k0拼接生成目标秘钥k2;或者,将中间秘钥k1、初始秘钥k0和硬编码数据k3拼接生成目标秘钥k2。其中,硬编码数据k3可以为预先写入至服务端和客户端的数据,并且,可以通过将硬编码数据k3埋入服务端和客户端的程序的方式来写入。

在一些实施例中,可以通过将6位的中间秘钥k1和16位的初始秘钥k0拼接成22位的目标秘钥k2的方式生成目标秘钥k2。当然,在另一些实施例中,为了进一步提高目标秘钥k2的安全性,可以通过将6位的中间秘钥k1、16位的初始秘钥k0和6位的硬编码数据k3拼接成28位的目标秘钥k2的方式生成目标秘钥k2。此外,在另一些实施例中,还可以通过增加中间秘钥k1长度或复杂度的方式,来提高目标秘钥k2的安全性。

需要说明的是,本发明一些实施例中,可以预先对客户端和服务端中生成目标秘钥k2的方式进行设定,使得客户端和服务端采用相同的方式对中间秘钥k1和初始秘钥k0进行处理,以保证客户端和服务端各自生成的目标秘钥k2为相同的秘钥。

当然,在另一些实施例中,客户端和服务端也可以采用不同的方式生成目标秘钥k2,只要客户端和服务端最终得到的目标秘钥k2相同即可。当然,在目标秘钥k2被窜改的情况下,客户端和服务端的目标秘钥k2也会不同,但是,由于客户端和服务端并不能根据不同的目标秘钥k2进行信息验证,因此,可以保证信息验证的安全性。

为了进一步提高信息验证的安全性,在服务端接收到中间秘钥k1之后,还会对目标用户或客户端的身份进行验证。基于此,本发明一些实施例中,将中间秘钥k1发送给服务端之前,还包括:根据初始秘钥k0生成第一口令;将中间秘钥k1发送给服务端包括:将中间秘钥k1和第一口令发送给服务端,以使服务端在第一口令验证通过后,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2。

以目标秘钥k2用于对目标用户进行身份验证为例,如图3所示,图3为本发明实施例提供的另一种秘钥生成方法的流程图,步骤S301至步骤S304与步骤S201至步骤S204相同,在此不再赘述。在步骤S305中,客户端将中间秘钥k1、目标用户的用户信息和第一口令发送给服务端,在步骤S306中,服务端根据用户信息确定目标用户的初始秘钥k0,并在步骤S307中,根据初始秘钥k0生成第三口令,然后如步骤S308所示,通过将第三口令与第一口令进行对比,来对目标用户的身份进行验证。若第三口令与第一口令不同,则第一口令验证未通过,目标用户的身份验证失败;若第三口令与第一口令相同,则第一口令验证通过,目标用户的身份验证成功,然后如步骤S309所示,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,并根据用户信息建立目标秘钥k2与目标用户的对应关系,以根据目标秘钥k2对目标用户进行身份验证。

本发明一些实施例中,根据初始秘钥k0生成的第一口令可以是6位的随机数,该随机数可以是根据TOTP(Time-Based One Time Password,基于时间的一次性密码)算法生成的。其中,TOTP算法的公式可以是TOTP(K,C)=Truncate(HMAC-SHA-1(K,C)),其中,K为初始秘钥k0,C为时间戳。当然,本发明并不仅限于此,在另一些实施例中,还可以采用其他算法生成第一口令,在此不再赘述。

其中,服务端根据初始秘钥k0生成的第三口令的算法与客户端根据初始秘钥k0生成的第一口令的算法可以相同。可以理解的是,在生成随机数的算法相同的情况下,若秘钥相同,则生成的随机数也是相同的,若秘钥不同,则生成的随机数也是不同的,因此,可以基于此进行秘钥以及持有秘钥的用户身份的验证。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种身份验证方法,该身份验证方法应用于客户端,如图4所示,图4为本发明实施例提供的一种身份验证方法的流程图,该身份验证方法包括:

S401:根据目标用户的目标秘钥生成目标用户的第二口令,该目标秘钥是根据如上任一实施例提供的应用于客户端的秘钥生成方法生成的;

S402:将目标用户的第二口令发送至服务端,以使服务端根据目标用户的第二口令对目标用户进行身份验证。

同样以目标秘钥k2用于对目标用户进行身份验证为例,如图5所示,图5为本发明实施例提供的另一种身份验证方法的流程图,步骤S501至步骤S509与步骤S301至步骤S309相同,在此不再赘述。在步骤S510中,客户端根据目标秘钥k2生成第二口令,然后如步骤S511所示,将第二口令和目标用户的用户信息发送至服务端。如步骤S512所示,服务端根据目标用户的用户信息确定对应的目标秘钥k2,并根据目标秘钥k2生成第四口令,然后如步骤S513所示,将第四口令与第二口令进行对比,若第四口令与第二口令相同,则如步骤S514所示,目标用户的身份验证成功,若第四口令与第二口令不同,则如步骤S515所示,目标用户的身份验证失败。

本发明一些实施例中,根据目标秘钥k2生成的第二口令可以是6位的随机数。该随机数也可以是根据上述TOTP算法生成的。当然,本发明并不仅限于此,在另一些实施例中,还可以采用其他算法生成第二口令。同样,服务端根据目标秘钥k2生成的第四口令的算法与客户端根据目标秘钥k2生成的第二口令的算法可以相同。

为了提高初始秘钥k0的安全性,避免目标用户长期留存初始秘钥k0导致初始秘钥k0被泄露,本发明一些实施例中,初始秘钥k0具有时限有效期,基于此,目标用户需要在初始秘钥k0的有效期内,将初始秘钥k0输入至客户端,以在初始秘钥k0的有效期内,完成目标秘钥k2对初始秘钥k0的替换,否则会导致目标用户身份验证失败。

还需要说明的是,若目标用户的身份验证成功,则目标用户可以通过账号A和密码B成功登陆服务端的网站等,并进行相应的操作;若目标用户的身份验证失败,则目标用户不能登陆服务端的网站等,需要通过其他方式如联系网站客服等重新验证登陆。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种秘钥生成方法,该秘钥生成方法应用于服务端,如图6所示,图6为本发明实施例提供的另一种秘钥生成方法的流程图,该秘钥生成方法包括:

S601:生成初始秘钥,并将初始秘钥发送至对应的客户端;

S602:接收客户端发送的中间秘钥;

S603:根据中间秘钥和初始秘钥生成目标秘钥,以使服务端根据目标秘钥进行信息验证。

参考图2,服务端生成与账号A对应的初始秘钥k0,并将初始秘钥k0发送给目标用户对应的客户端。该客户端可以是微信客户端或邮件客户端等,该客户端与生成秘钥的客户端可以相同,也可以不同。目标用户将初始秘钥k0输入至客户端。客户端接收目标用户输入的初始秘钥k0后,生成中间秘钥k1,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,并将中间秘钥k1发送给服务端。服务端根据中间秘钥k1和初始秘钥k0生成目标秘钥k2。

在一些实施例中,若目标秘钥k2用于对目标用户进行身份验证,则需要客户端将中间秘钥k1和目标用户的用户信息发送给服务端,以使服务端根据中间秘钥k1和初始秘钥k0生成目标秘钥k2后,根据用户信息建立目标秘钥k2与目标用户的对应关系,以根据目标秘钥k2对目标用户进行身份验证。其中,目标用户的用户信息可以包括目标用户的账号A和密码B。

同样,服务端可以通过将6位的中间秘钥k1和16位的初始秘钥k0拼接成22位的目标秘钥k2的方式生成目标秘钥k2,也可以通过将6位的中间秘钥k1、16位的初始秘钥k0和6位的硬编码数据k3拼接成28位的目标秘钥k2的方式生成目标秘钥k2,只需要保证服务端生成目标秘钥k2的方式与客户端生成目标秘钥k2的方式相同即可,在此不再赘述。

本发明一些实施例中,初始秘钥k0具有时限有效期,则根据中间秘钥k1和初始秘钥k0生成目标秘钥包括:验证初始秘钥k0是否过期;若初始秘钥k0未过期,则根据中间秘钥k1和初始秘钥k0生成目标秘钥k2。

同样以目标秘钥k2用于对目标用户进行身份验证为例,如图7所示,图7为本发明实施例提供的另一种秘钥生成方法的流程图,步骤S701至步骤S704与步骤S201至步骤S204相同,在此不再赘述。在步骤S705中,客户端将第二秘钥k1和目标用户的用户信息发送给服务端,在步骤S706中,根据用户信息确定目标用户的初始秘钥k0,在步骤S707中,验证初始秘钥k0是否过期,若初始秘钥k0未过期,则如步骤S708所示,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,根据用户信息建立目标秘钥与目标用户的对应关系;若初始秘钥k0已过期,则如步骤S709所示,向客户端发送初始秘钥k0过期的消息,以便目标用户重新登陆服务端进行操作,使得服务端重新发送新的初始秘钥k0。

本发明一些实施例中,接收客户端发送的中间秘钥k1包括:接收客户端发送的中间秘钥k1和第一口令;根据中间秘钥k1和初始秘钥k0生成目标秘钥k2包括:根据初始秘钥k0生成第三口令,若第三口令与第一口令相同,则第一口令验证通过,目标用户或客户端的身份验证成功,然后根据中间秘钥k1和初始秘钥k0生成目标秘钥k2。

如图8所示,图8为本发明实施例提供的另一种秘钥生成方法的流程图,步骤S801至步骤S804与步骤S701至步骤S704相同,在此不再赘述。在步骤S805中,客户端将中间秘钥k1、目标用户的用户信息和第一口令发送至服务端,在步骤S806中,根据用户信息确定目标用户的初始秘钥k0,在步骤S807中,验证初始秘钥k0是否过期,若初始秘钥k0已过期,则如步骤S808所示,向客户端发送初始秘钥k0过期的消息,以便目标用户重新登陆服务端进行操作,使得服务端重新发送新的初始秘钥k0;若初始秘钥k0未过期,则如步骤S809所示,根据初始秘钥k0生成第三口令,并在步骤S810中,将第三口令与第一口令进行对比;若第三口令与第一口令不同,则如步骤S811所示,第一口令验证未通过,目标用户或客户端的身份验证失败,若第三口令与第一口令相同,则如步骤S812所示,第一口令验证通过,目标用户或客户端的身份验证成功,然后如步骤S813所示,根据中间秘钥k1和初始秘钥k0生成目标秘钥k2,并根据用户信息建立目标秘钥k2与目标用户的对应关系。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种身份验证方法,该身份验证方法应用于服务端,如图9所示,图9为本发明实施例提供的另一种身份验证方法的流程图,该身份验证方法包括:

S901:接收目标用户的第二口令;

S902:根据目标用户的目标秘钥生成第四口令,目标秘钥是根据如上任一实施例提供的应用于服务端的秘钥生成方法生成的;

S903:若第四口令与第二口令相同,则目标用户的通过身份验证。

本发明一些实施例中,服务端接收客户端发送的第二口令和目标用户的用户信息;根据用户信息确定对应的目标秘钥k2,并根据目标秘钥k2生成第四口令;将第四口令与第二口令进行对比,若二者相同,则目标用户的身份验证成功。如图10所示,图10为本发明实施例提供的另一种身份验证方法的流程图,步骤S1001至步骤S1013与步骤S801至步骤S813相同,步骤S1014至步骤S1019与步骤S510至步骤S515相同,在此不再赘述。

本发明一些实施例中,身份验证方法还包括:若第四口令与第二口令不同,则判断初始秘钥k0是否过期;若否,则根据目标用户的初始秘钥k0生成第三口令;若第二口令与第三口令相同,则目标用户的通过身份验证。

如图11所示,图11为本发明实施例提供的另一种身份验证方法的流程图,步骤S1101至步骤S1118与步骤S1001至步骤S1018相同,在此不再赘述。在步骤S1119中,会判断初始秘钥k0是否过期,

若是,目标用户的身份验证失败。若否,如步骤S1120所示,根据初始秘钥k0生成第三口令,然后在步骤S1121中,将第二口令与第三口令进行对比,若第二口令与第三口令相同,则如步骤S1118所示,目标用户的身份验证成功;若第二口令与第三口令不同,则如步骤S1122所示,目标用户的身份验证失败。

当然,本发明并不仅限于此,在另一些实施例中,接收目标用户的第二口令之后,也可以先判断初始秘钥是否过期,若已过期,根据目标用户的目标秘钥生成第四口令,根据第四口令与第二口令是否相同,判定目标用户是否通过身份验证,若未过期,根据目标用户的初始秘钥生成第三口令,根据目标用户的目标秘钥生成第四口令,将第三口令和第四口令与第二口令进行对比,若第三口令和第四口令中任意一个与第二口令相同,则目标用户通过身份验证,若第三口令和第四口令与第二口令都不同,则目标用户身份验证失败。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种秘钥生成装置,应用于客户端,包括:

第一通信模块,用于接收初始秘钥;

第一处理模块,用于生成中间秘钥,并根据中间秘钥和初始秘钥生成目标秘钥,以使客户端根据目标秘钥进行信息验证;

第一通信模块,还用于将中间秘钥发送给服务端,以使服务端根据中间秘钥和初始秘钥生成目标秘钥,以及根据目标秘钥进行信息验证。

本发明一些实施例中,第一通信模块将中间秘钥发送给服务端之前,第一处理模块还用于根据初始秘钥生成第一口令;

第一通信模块将中间秘钥发送给服务端包括:将中间秘钥和第一口令发送给服务端,以使服务端在第一口令验证通过后,根据中间秘钥和初始秘钥生成目标秘钥。

本发明一些实施例中,第一处理模块根据中间秘钥和初始秘钥生成目标秘钥包括:

将中间秘钥和初始秘钥拼接生成目标秘钥;

或者,将中间秘钥、初始秘钥和硬编码数据拼接生成目标秘钥,硬编码数据为预先写入至服务端和客户端的数据。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种身份验证装置,应用于客户端,包括:

第一处理模块,用于根据目标用户的目标秘钥生成目标用户的第二口令;

第一通信模块,用于将目标用户的第二口令发送至服务端,以使服务端根据目标用户的第二口令对目标用户进行身份验证。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种秘钥生成装置,应用于服务端,包括:

第二处理模块,用于生成初始秘钥;

第二通信模块,用于将初始秘钥发送至对应的客户端;

第二通信模块,还用于接收客户端发送的中间秘钥;

第二处理模块,还用于根据中间秘钥和初始秘钥生成目标秘钥,以使服务端根据目标秘钥进行信息验证。

本发明一些实施例中,初始秘钥具有时限有效期,第二处理模块根据中间秘钥和初始秘钥生成目标秘钥包括:

验证初始秘钥是否过期;

若初始秘钥未过期,则根据中间秘钥和初始秘钥生成目标秘钥。

本发明一些实施例中,第二通信模块接收客户端发送的中间秘钥包括:接收客户端发送的中间秘钥和第一口令;

第二处理模块根据中间秘钥和初始秘钥生成目标秘钥包括:

根据初始秘钥生成第三口令,

若第三口令与第一口令相同,则第一口令验证通过;

在第一口令验证通过的情况下,根据中间秘钥和初始秘钥生成目标秘钥。

作为本发明公开内容的另一种可选实现,本发明实施例提供了一种身份验证装置,应用于服务端,包括:

第二通信模块,用于接收目标用户的第二口令;

第二处理模块,用于根据目标用户的目标秘钥生成第四口令,若第四口令与第二口令相同,则判定目标用户的通过身份验证。

本发明一些实施例中,第二处理模块,还用于在第四口令与第二口令不同时,判断初始秘钥是否过期;若否,则根据目标用户的初始秘钥生成第三口令;若第二口令与第三口令相同,则判定目标用户的通过身份验证。

作为本发明公开内容的另一种可选实现,本发明实施例还提供了一种电子设备,如图12所示,图12为本发明一个实施例提供的电子设备的结构示意图,该电子设备包括:

存储器81,用于存储指令;

处理器82,用于运行存储器81存储的指令,实现如上任一实施例提供的秘钥生成方法或身份验证方法。

具体地,该电子设备还可以包括总线、通信接口83、输入设备84和输出设备85。处理器82、存储器81、通信接口83、输入设备84和输出设备85通过总线相互连接。其中:

总线可包括一通路,在计算机系统各个部件之间传送信息。

处理器82可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,处理器82可包括主处理器,还可包括基带芯片、调制解调器等。

存储器81中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器81可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。

输入设备84可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。输出设备85可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。通信接口83可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。

作为本发明公开内容的另一种可选实现,本发明实施例还提供了一种计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上任一实施例提供的秘钥生成方法或身份验证方法。

计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

作为本发明公开内容的另一种可选实现,本发明实施例还提供了一种计算机可读存储介质,其上存储有用于执行如上任一实施例提供的秘钥生成方法或身份验证方法的指令。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。

相关技术
  • 一种锁定账户秘钥更新方法及采用该方法的区块链账户管理方法
  • 一种远程隔离的秘钥访问方法、装置及系统
  • 一种依靠模指数的贡献型组秘钥的管理方法
  • 一种知识问答中答题用户的身份验证方法、装置和终端设备
  • 一种基于SGX的对称秘钥生成管理系统、方法、设备及介质
  • 一种共享设备安全通信时效性离线秘钥生成方法及系统
技术分类

06120115970841