一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

密钥生成及身份认证方法、装置、设备及计算机存储介质与流程

2022-06-08 17:02:59 来源:中国专利 TAG:


1.本发明属于信息安全,尤其涉及一种密钥生成及身份认证方法、装置、设备及计算机存储介质。


背景技术:

2.随着互联网的不断发展,网络安全越来越受到人们的重视。在网络安全领域,确保安全的身份认证一直是研究的热点,特别是使用广泛的网页环境应用中。但是目前的身份认证都是基于典型的单服务器环境,服务器的计算开销较大,计算效率低下,降低了用户的体验。


技术实现要素:

3.本发明实施例提供一种密钥生成及身份认证方法、装置、设备及计算机存储介质,能够在多服务器架构下实现网页和移动端的身份认证,提高了服务器的计算效率,提高了用户体验。
4.第一方面,本发明实施例提供一种密钥生成及身份认证方法,方法应用于服务器,方法包括:
5.接收用户端发送的登录请求,所述登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数,所述第一密钥为所述用户端在注册过程中由注册中心设备根据所述用户端标识和第二密钥生成,所述第二密钥为所述用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥;所述登录参数是所述用户端在注册过程中,由注册中心设备根据所述用户端标识和所述第一密钥生成的参数;
6.根据所述登录参数计算验证参数;
7.向注册中心设备发送会话密钥协商请求,所述会话密钥协商请求包括所述登录参数、所述验证参数,以用于所述注册中心根据所述登录参数对所述用户端进行身份验证,用户端身份验证通过时,计算会话协商参数;
8.接收所述注册中心设备发送的响应消息,所述响应消息包括会话协商参数;
9.根据所述会话协商参数生成会话密钥;
10.向所述用户端发送所述会话密钥。
11.在一种可选的实施方式中,所述登录请求还包括第一时间,所述第一时间是所述用户端发送所述登录请求的时间;所述根据所述登录参数计算验证参数,包括:
12.根据所述第一时间验证登录请求的有效性;
13.当登录请求有效时,根据所述登录参数计算验证参数。
14.在一种可选的实施方式中,所述会话密钥协商请求还包括第二时间,所述第二时间是所述服务器向所述注册中心设备发送所述会话密钥协商请求的时间,所述第二时间用于所述注册中心设备根据所述第二时间验证所述会话密钥协商请求的有效性,在所述会话密钥协商请求有效的情况下,生成会话协商参数。
15.在一种可选的实施方式中,所述响应消息还包括第三时间,所述第三时间是所述注册中心设备发送所述响应消息的时间;所述根据所述会话协商参数生成会话密钥,包括:
16.根据所述第三时间验证所述注册中心设备的合法性;
17.当注册中心设备合法时,根据所述会话协商参数生成会话密钥。
18.在一种可选的实施方式中,在所述接收用户端发送的登录请求之前,所述方法还包括:
19.向所述注册中心设备发送第一注册请求,所述第一注册请求包括服务器的标识,以用于所述注册中心设备根据所述服务器的标识生成第一参数;
20.接收所述注册中心设备通过安全通道发送的所述第一参数。
21.第二方面,本发明实施例提供了一种密钥生成及身份认证方法,所述方法应用于注册中心,所述方法包括:
22.接收服务器发送的会话密钥协商请求,所述会话密钥协商请求包括登录参数和验证参数,所述验证参数是所述服务器接收到用户端发送的登录请求时,根据所述登录请求中包括的登录参数计算的参数;
23.根据所述登录参数对所述用户端进行身份验证;
24.当用户端身份验证通过时,根据所述验证参数计算会话协商参数;
25.向所述服务器发送响应消息,所述响应消息包括所述会话协商参数,以用于所述服务器根据所述会话协商参数生成会话密钥,并向所述用户端发送所述会话密钥。
26.在一种可选的实施方式中,所述会话密钥协商请求还包括第二时间,所述第二时间时所述服务器向所述注册中心设备发送所述会话密钥协商请求的时间;所述根据所述登录参数对所述用户端进行身份验证,包括:
27.根据所述第二时间验证所述会话密钥协商请求的有效性;
28.当所述会话密钥协商请求有效时,根据所述登录参数对所述用户端进行身份验证。
29.第三方面,本发明实施例提供了一种身份认证方法,方法应用于客户端,方法包括:
30.向服务器发送登录请求,所述登录请求包括用户端标识和登录参数,所述登录参数是所述用户端在注册过程中,由注册中心设备根据所述用户端标识和所述第一密钥生成的参数,所述第一密钥是所述用户端在注册过程中,由注册中心设备根据用户端标识和第二密钥生成,所述第二密钥是在注册过程中,用户端根据用户端标识、第一密码和第一生物特征生成的密钥,以用于所述服务器根据所述登录参数计算验证参数,并向注册中心设备放所述会话协商密钥以获取会话协商参数,并根据所述会话协商参数生成会话密钥;
31.接收所述服务器发送的会话密钥。
32.在一种可选的实施方式中,所述登录请求还包括第一时间,所述第一时间是所述用户端向所述服务器发送所述登录请求的时间,以用于所述服务器根据所述第一时间验证所述登录请求的有效性,在登录请求有效时,根据所述登录参数计算所述验证参数。
33.在一种可选的实施方式中,在所述根据用户端标识和第一密钥生成登录参数之前,所述方法还包括:
34.获取用户端的用户端标识、第一密码和用户的第一生物特征;
35.根据所述用户端标识、所述第一密码和所述第一生物特征确定所述第一密钥;
36.向所述注册中心设备发送所述用户端标识和所述第一密钥,以用于所述注册中心设备根据所述用户端标识和第一密钥生成所述登录参数;
37.接收所述注册中心设备发送的所述登录参数。
38.在一种可选的实施方式中,所述方法还包括:
39.获取第二密码和用户的第二生物特征;
40.根据所述第二密钥验证所述用户的合法性;
41.当用户合法时,使用所述第二密码和第二生物特征替换所述用户端保存的所述第一密码和第一生物特征。
42.第四方面,本发明实施例提供了一种密钥生成及身份认证服务器,所述密钥生成及身份认证服务器包括:
43.获取模块,用于接收用户端发送的登录请求,所述登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数,所述第一密钥为所述用户端在注册过程中由注册中心设备根据所述用户端标识和第二密钥生成,所述第二密钥为所述用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥;所述登录参数是所述用户端在注册过程中,由注册中心设备根据所述用户端标识和所述第一密钥生成的参数;
44.计算模块,用于根据所述登录参数计算验证参数;
45.发送模块,用于向注册中心设备发送会话密钥协商请求,所述会话密钥协商请求包括所述登录参数、所述验证参数,以用于所述注册中心根据所述登录参数对所述用户端进行身份验证,用户端身份验证通过时,计算会话协商参数;
46.获取模块,还用于接收所述注册中心设备发送的响应消息,所述响应消息包括会话协商参数;
47.计算模块,还用于根据所述会话协商参数生成会话密钥;
48.发送模块,还用于向所述用户端发送所述会话密钥。
49.第五方面,本发明实施例提供了一种密钥生成及身份认证注册中心,密钥生成及身份认证注册中心包括:
50.接收模块,用于接收服务器发送的会话密钥协商请求,所述会话密钥协商请求包括登录参数和验证参数,所述验证参数是所述服务器接收到用户端发送的登录请求时,根据所述登录请求中包括的登录参数计算的参数;
51.确定模块,用于根据所述登录参数对所述用户端进行身份验证;
52.确定模块,还用于当用户端身份验证通过时,根据所述验证参数计算会话协商参数;
53.输出模块,用于向所述服务器发送响应消息,所述响应消息包括所述会话协商参数,以用于所述服务器根据所述会话协商参数生成会话密钥,并向所述用户端发送所述会话密钥。
54.第六方面,本发明实施例提供了一种密钥生成及身份认证用户端,密钥生成及身份认证用户端包括:
55.传输模块,用于向服务器发送登录请求,所述登录请求包括用户端标识和登录参数,所述登录参数是所述用户端在注册过程中,由注册中心设备根据所述用户端标识和所
述第一密钥生成的参数,所述第一密钥是所述用户端在注册过程中,由注册中心设备根据用户端标识和第二密钥生成,所述第二密钥是在注册过程中,用户端根据用户端标识、第一密码和第一生物特征生成的密钥,以用于所述服务器根据所述登录参数计算验证参数,并向注册中心设备放所述会话协商密钥以获取会话协商参数,并根据所述会话协商参数生成会话密钥;
56.传输模块,还用于接收所述服务器发送的会话密钥。
57.第七方面,本发明实施例提供了一种密钥生成及身份认证设备,设备包括:处理器以及存储有计算机程序指令的存储器;
58.处理器执行计算机程序指令时实现如第一方面或第一方面任一可选实施例中的密钥生成及身份认证方法、实现如第二方面或者第二方面任一可选实施例中的身份认证方法、或者实现如第三方面或者第三方面任一可选实施例中的身份认证方法。
59.第八方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面任一可选实施例中的密钥生成及身份认证方法、实现如第二方面或者第二方面任一可选实施例中的密钥生成及身份认证方法、或者实现如第三方面或者第三方面任一可选实施例中的密钥生成及身份认证方法。
60.本发明实施例的密钥生成及身份认证方法、装置、设备及计算机存储介质,接收用户端发送的登录请求,所述登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数,所述第一密钥为所述用户端在注册过程中由注册中心设备根据所述用户端标识和第二密钥生成,所述第二密钥为所述用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥;所述登录参数是所述用户端在注册过程中,由注册中心设备根据所述用户端标识和所述第一密钥生成的参数,根据所述登录参数计算验证参数,向注册中心设备发送会话密钥协商请求,所述会话密钥协商请求包括所述登录参数、所述验证参数,以用于所述注册中心根据所述登录参数对所述用户端进行身份验证,用户端身份验证通过时,计算会话协商参数,接收所述注册中心设备发送的响应消息,所述响应消息包括会话协商参数,根据所述会话协商参数生成会话密钥,向所述用户端发送所述会话密钥。能够在多服务器架构下实现网页和移动端的身份认证,提高了服务器的计算效率,提高了用户体验。
附图说明
61.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本发明实施例提供的密钥生成及身份认证方法的应用场景的实施例示意图;
63.图2是本发明实施例提供的一种密钥生成及身份认证方法的的流程示意图;
64.图3是本发明实施例提供的另一种密钥生成及身份认证方法的的流程示意图;
65.图4是本发明实施例提供的又一种密钥生成及身份认证方法的的流程示意图;
66.图5为本发明实施例提供的的秘钥生成及身份认证服务器的结构示意图;
67.图6为本发明实施例提供的的秘钥生成及身份认证注册中心的结构示意图;
68.图7为本发明实施例提供的的秘钥生成及身份认证用户端的结构示意图;
69.图8为本发明实施例提供的密钥生成及身份认证设备的硬件结构示意图。
具体实施方式
70.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本发明,而不是限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
71.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
72.随着互联网的不断发展,网络安全越来越受到人们的重视。在网络安全领域,确保安全的身份认证一直是研究的热点,特别是使用广泛的网页环境应用中。但是目前的身份认证都是基于典型的单服务器环境,服务器的计算开销较大,计算效率低下,降低了用户的体验。
73.为了解决现有技术问题,本发明实施例提供了一种密钥生成及身份认证方法、装置、设备及计算机存储介质。
74.下面首先对本发明实施例所提供的密钥生成及身份认证方法进行介绍。
75.图1示出了本发明提供的密钥生成及身份认证方法的应用场景的实施例示意图。如图1所示,用户端10、服务器20以及注册中心30之间均可以进行通信:
76.首先,为了便于理解,在介绍密钥生成及身份认证方法的应用场景之前,本技术实施例的下述部分将分别对用户端10、服务器20以及注册中心30的实施方式展开说明。
77.在一些实施例中,用户端10可以具备交互功能以及数据处理功能。具体的,用户端包括网页浏览器或移动端界面。做一个示例,用户端10可以具体为商户应用程序(application,app)。
78.在一些实施例中,服务器20包括多个,每一个服务器20可以具备交互功能和数据处理功能。每个服务器20携带有唯一的身份标识。做一个示例,每一个服务器sj的身份标识用sidj来表示。
79.在一些实施例中,注册中心30可以具备交互功能和数据处理功能。做一个示例注册中心30用rc表示。
80.在对用户端10、服务器20以及注册中心30进行介绍之后,下面来分别从服务器20、注册中心30以及用户端10侧等方面来分别对本技术实施例提供的密钥生成及身份认证方法进行说明。
81.图2为本技术第一方面提供的一种密钥生成及身份认证方法的流程示意图。该密钥生成及身份认证方法具体可由服务器执行,可包括步骤s201至步骤s209。
82.s201,接收用户端发送的登录请求,登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数。
83.其中,第一密钥为用户端在注册过程中由注册中心设备根据用户端标识和第二密钥生成,第二密钥为用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥,登录参数是用户端在注册过程中,由注册中心设备根据用户端标识和第一密钥生成的参数。
84.在一些实施例中,在进行步骤s201之前,方法还包括:用户端获取用户端标识、第一密码和用户的第一生物特征,根据用户端标识、第一密码和第一生物特征确定第一密钥,向注册中心设备发送用户端标识和第一密钥,以用于注册中心设备根据用户端标识和第一密钥生成登录参数,接收注册中心设备发送的登录参数。
85.在一些实施例中,做一个示例,注册中心根据用户端标识和第一密钥生成登录参数包括:注册中心收到用户端标识和第一密钥{idi,rpwi}后,对用户端的身份标识idi进行核实,如果idi不存在,则注册中心开始计算:
86.ai=h(h(idi)||psk)
[0087][0088]ci
=h(ai)
[0089][0090]
然后注册中心将登录参数{bi,ci,di,h(
·
)}通过安全信道发送到用户端。用户端将登录参数进行存储。
[0091]
在一些实施例中,做一个示例,用户端标识包括idi,第一密码包括pwi,第一生物特征包括bioi,根据用户端标识、第一密码和用户的第一生物特征确定第一密钥包括:身份特征录入设备驱动程序开始计算(σi,vi)=gen(bioi),其中σi是一个随机数,用来代替bioi的值进行计算,而vi则是用来恢复σi的纠错码,模糊提取器函数对{gen(
·
),rep(
·

·
)}固化在驱动程序中,单向哈希函数h(
·
)为公开函数。用户端通过调用获取到σi,并计算rpwi=h(pwi||σi),其中,第一密钥为rpwi。其中,获取第一生物特征包括采用摄像头或指纹采集器采集用户对应的生物特征。
[0092]
在本技术实施例中,模糊提取器为一对函数{gen(
·
),rep(
·

·
)},其中gen(
·
)是一个随机函数,rep(
·

·
)是一个确定性修复函数。这里定义提取的生物特征值为bioi。
[0093]
当采集用户生物特征值来生成密钥时,将使用gen(
·
)函数求得(σ,v)=gen(bio),其中σ是一个随机数,用来代替bio的值,v是用来恢复bio的值σ的纠错码。
[0094]
当提取生物特征值进行验证的时候,使用rep(
·

·
)函数进行恢复计算,设验证时提取的特征值为bio
*
,则能计算出σ=rep(bio
*
,v),从而在特定允许的误差下恢复出σ来。
[0095]
在一些实施例中,在进行步骤s201之前,方法还包括:服务器向注册中心设备发送第一注册请求,第一注册请求包括服务器的标识,以用于注册中心设备根据服务器的标识生成第一参数,接收注册中心设备通过安全通道发送的第一参数。
[0096]
在一些实施例中,做一个示例,服务器的标识包括sidj,第一参数包括s1和s2,注册
中心根据服务器的标识生成第一参数包括:注册中心收到包含服务器标识的请求后,开始计算:
[0097]
s1=h(sidj||y)
[0098]
s2=h(psk||y)
[0099]
其中psk是系统主密钥,y是高熵秘密数,并通过安全信道将s1和s2发送给服务器sj,并公布sidj。主密钥psk存放在特定的安全存储设备中,系统启动时进入内存,方便程序访问,其中,特定的安全存储设备包括带pin码的usbkey,其中主密钥存储在注册中心中。
[0100]
s202、根据第一时间验证登录请求是否有效;若否,则结束;若是,则进入步骤s203。
[0101]
在一些实施例中,服务器收到用户端的登录请求{fi,gi,hi,m1,t1}后,利用当前时间tc,计算t
c-t1?≤δt是否成立,如果不成立,则结束。
[0102]
在一些实施例中,本技术实施例能够抵御重传攻击。做一个具体实例:
[0103]
首先,在协议身份认证中,使用了时间戳t做为验证因子。参与验证的各方在每次接收消息时都会比较消息传输的时间是否大于δt,从而保证消息的新鲜性。
[0104]
其次,即使z使用的新时间戳t

能够通过δt的验证,但由于时间戳t植入到了相关认证消息中,攻击者无法通过运算来分解还原认证信息,也就无法利用新的时间戳来重构认证消息,也就无法发起重传攻击。
[0105]
最后,即使不考虑时间戳的作用,或者取消时间戳参与运算,攻击者直接重传用户和服务器的验证信息,即使通过注册中心的身份认证,也会因为无法获取其中的关键信息,而无法进行密钥协商。
[0106]
s203,根据登录参数计算验证参数是否合法。
[0107]
在一些实施例中,服务器选择随机数nj,计算:
[0108][0109]
li=h(s2||nj||t2)
[0110]
然后服务器将会话密钥协商请求{fi,gi,hi,m1,ki,li,sidj,t1,t2}发送给注册中心,其中t2是发送消息的当前时间。
[0111]
s204,向注册中心设备发送会话密钥协商请求,会话密钥协商请求包括登录参数及验证参数。
[0112]
其中登录参数及验证参数,用于注册中心根据登录参数对用户端进行身份验证,用户端身份验证通过时,计算会话协商参数。
[0113]
在一些实施例中,会话密钥协商请求还包括第二时间,第二时间是服务器向注册中心设备发送会话密钥协商请求的时间,第二时间用于注册中心设备根据第二时间验证会话密钥协商请求的有效性,在会话密钥协商请求有效的情况下,生成会话协商参数。
[0114]
在一些实施例中,注册中心对第二时间验证方法与服务器对用户端验证方法相同,此处不再赘述。
[0115]
s205,接收注册中心设备发送的响应消息,响应消息包括会话协商参数及第三时间。
[0116]
其中,第三时间是注册中心设备发送响应消息的时间,根据会话协商参数生成会话密钥。
[0117]
在一些实施例中,注册中心接收会话密钥协商请求然后进行计算会话协商参数:
[0118][0119][0120][0121][0122]
s206,根据第三时间验证注册中心设备是否合法;若是,则进入步骤s207;若否,则结束。
[0123]
在一些实施例中,根据第三时间验证注册中心设备的合法性包括:
[0124][0125][0126]
比较是否成立,如果成立,则确认注册中心身份合法,否则结束对话。
[0127]
s207,当注册中心设备合法时,根据会话协商参数生成会话密钥。
[0128]
在一些实施例中,根据会话协商参数生成会话密钥包括:
[0129]
服务器进行计算:
[0130][0131][0132]
sk
ji
为服务器与用户端协商的会话密钥。
[0133]
在本技术实施例中,可以抵御内部攻击。做一个具体示例,如果有恶意的合法用户通过非法手段获取了用户端中的信息{bi,ci,di,vi,h(
·
)},虽然恶意合法用户知道自己口令pwi,但是由于无法通过bioi获取关键验证因子σi,因而无法破解有关含有系统密钥psk和秘密数y的关键验证信息,从而无法进行内部攻击。
[0134]
如果恶意合法用户截获了其自己的登录参数{fi,gi,hi,m1,t1},但是由于无法知晓psk、y和ni等关键因子,所以也无法进行消息重构,进而无法进行内部伪装攻击。
[0135]
s208,向用户端发送会话密钥。
[0136]
在一些实施例中,向用户端发送会话密钥包括:
[0137]
然后服务器将{qi,wi,t4}发送给用户端。
[0138]
s209,结束。
[0139]
在本技术实施例中,接收用户端发送的登录请求,登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数,第一密钥为用户端在注册过程中由注册中心设备根据用户端标识和第二密钥生成,第二密钥为用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥;登录参数是用户端在注册过程中,由注册中心设备根据用户端标识和第一密钥生成的参数,根据登录参数计算验证参数,向注册中心设备发送会话密钥协商请求,会话密钥协商请求包括登录参数、验证参数,以用于注册中心根据登录参数对用户端进行身份验证,用户端身份验证通过时,计算会话协商参数,接收注册中心设备发送的响应消息,响应消息包括会话协商参数,根据会话协商参数生成会话密钥,向用户端发送会话密钥。能够在多服务器架构下实现网页和移动端的身份认证,提高了服务
器的计算效率,提高了用户体验。
[0140]
为了便于在注册中心侧对本技术的理解,图3为本技术第二方面提供的另一种密钥生成及身份认证方法的的流程示意图。如图3所示,可包括步骤s301至步骤s306。
[0141]
s301,接收服务器发送的会话密钥协商请求,会话密钥协商请求包括登录参数、验证参数和第二时间。
[0142]
其中,验证参数是服务器接收到用户端发送的登录请求时,根据登录请求中包括的登录参数计算的参数。
[0143]
在一些实施例中,根据登录参数计算的验证参数已经在上述步骤中进行了详细的描述,此处不再赘述。
[0144]
在一些实施例中,验证参数包括:
[0145]
{fi,gi,hi,m1,ki,li,sidj,t1,t2},其中,t2是服务器向注册中心发送验证参数的第二时间。
[0146]
s302,根据第二时间验证会话密钥协商请求是否有效;若是,则进入步骤s303;若否,则结束。
[0147]
在一些实施例中,验证会话密钥协商请求的有效性包括:对第二时间进行验证,其中,验证方法已经在上述实施例中进行了详细的描述,此处不再赘述。
[0148]
s303,根据登录参数对用户端进行身份验证并判断是否通过;若是则进入步骤s304;若否,则结束。
[0149]
在一些实施例中,注册中心根据登录参数对用户端进行身份验证之前,方法还包括:
[0150]
注册中心对服务器的身份的合法性进行验证;若合法,则进入步骤s304;若不合法,则结束。
[0151]
在一些实施例中,对服务器的身份的合法性进行验证包括:
[0152][0153][0154]
比较是否成立,如果成立,则注册中心确认服务器的身份合法,并继续下面的计算。否则,结束对话。
[0155]
在本技术实施例中,可以抵御一直会话密钥的攻击。做一个具体实例:如果攻击者获得了用户端和服务器某次的临时会话密钥:
[0156][0157]
但由于sk
ij
会依赖每次会话的随机数ni,nj,nr和ri进行更新,因此攻击者无法通过已泄露的会话密钥sk
ij
来推导计算下次协商的临时会话密钥,所以sk
ij
是前向安全的,能够抵抗已知会话密钥攻击。
[0158]
在一些实施例中,注册中心对用户端的身份的合法性进行验证包括:
[0159][0160]
[0161][0162][0163][0164]
比较如果成立,则注册中心确认用户端的身份合法,则进行下面的步骤。如果不成立,则结束。
[0165]
s304,根据验证参数计算会话协商参数。
[0166]
在一些实施例中,根据验证参数计算会话协商参数包括:
[0167]
注册中心rc选择随机数nr,计算:
[0168][0169][0170][0171][0172]
其中t3为注册中心计算完成的时间,然后将{pi,qi,yi,ri,t3}发送到服务器。
[0173]
s305,向服务器发送响应消息,响应消息包括会话协商参数。
[0174]
其中,服务器根据会话协商参数生成会话密钥,并向用户端发送会话密钥,其中服务器生成会话密钥的过程已经在上述实施例中进行了详细的描述,此处不再赘述。
[0175]
在一些实施例中,{pi,qi,yi,ri,t3}为会话协商参数,其中,t3为注册中心计算完成的时间。
[0176]
s306,结束。
[0177]
在本实施例中,接收服务器发送的会话密钥协商请求,会话密钥协商请求包括登录参数和验证参数,验证参数是服务器接收到用户端发送的登录请求时,根据登录请求中包括的登录参数计算的参数,根据登录参数对用户端进行身份验证,当用户端身份验证通过时,根据验证参数计算会话协商参数,向服务器发送响应消息,响应消息包括会话协商参数,以用于服务器根据会话协商参数生成会话密钥,并向用户端发送会话密钥。能够在多服务器架构下实现网页和移动端的身份认证,提高了服务器的计算效率,提高了用户体验。
[0178]
图4为本技术第三方面提供的又一种密钥生成及身份认证方法的的流程示意图。该密钥生成及身份认证方法具体可由用户端执行,可包括步骤s401至步骤s402。
[0179]
s401,向服务器发送登录请求。
[0180]
其中,登录请求包括用户端标识和登录参数,登录参数是用户端在注册过程中,由注册中心设备根据用户端标识和第一密钥生成的参数,第一密钥是用户端在注册过程中,由注册中心设备根据用户端标识和第二密钥生成,第二密钥是在注册过程中,用户端根据用户端标识、第一密码和第一生物特征生成的密钥,以用于服务器根据登录参数计算验证参数,并向注册中心设备放会话协商密钥以获取会话协商参数,并根据会话协商参数生成会话密钥。
[0181]
在一些实施例中,在步骤s401之前方法还包括:
[0182]
获取用户端的用户端标识、第一密码和用户的第一生物特征,根据用户端标识、第
一密码和第一生物特征确定第一密钥,向注册中心设备发送用户端标识和第一密钥,以用于注册中心设备根据用户端标识和第一密钥生成登录参数,接收注册中心设备发送的登录参数。
[0183]
做一个具体示例,用户选定唯一的身份标识idi,用户端输入idi和密码pwi,通过用户端采集自己的生物特征值bioi,用户端开始计算(σi,vi)=gen(bioi),其中σi是一个随机数,用来代替bioi的值进行计算,而vi则是用来恢复σi的纠错码,模糊提取器函数对{gen(
·
),rep(
·

·
)}固化在驱动程序中,单向哈希函数h(
·
)为公开函数。用户端通过调用获取到σi,并计算rpwi=h(pwi||σi),然后通过一个安全信道向注册中心提交信息{idi,rpwi}进行注册。
[0184]
在一些实施例中,本技术实施例可以在用户端存储的登录参数后,依然可以抵御攻击。
[0185]
做一个具体示例,假如攻击者通过非法手段获取了用户端中的信息{bi,ci,di,vi,h(
·
)},也仍然无法登录。
[0186]
首先,攻击者通过bi,ci,di,vi直接进行运算,不能得到psk和秘密数y,以及和它们有密切关系的关键信息。
[0187]
其次,攻击者无法获得用户的口令pwi和身份特征值bioi,就无法进行登录验证。即使攻击者获取了用户ui的生物特征值bioi,但是由于bioi没有直接参与计算,所以攻击者无法直接通过bioi进行破解运算。如果攻击者要进行离线口令攻击,那么攻击者需要对口令pwi进行猜测攻击,同时还需要破解模糊提取器的函数对{gen(
·
),rep(
·

·
)},才能得到身份认证的关键因子σi。因而攻击者难以进行离线口令攻击。
[0188]
在本技术实施例中,可以防止用户的信息外泄。做一个具体示例:攻击者即使截获了用户端、服务器和注册中心之间的所有关键的信息,也无法计算出用户的身份信息。因为,这些信息中参与运算的不是idi而是h(idi),这对idi是一种保护;而且这些信息在每次认证会话中均是变动的,因为它们中都有随机数ni、nj、nr、ri参与其中,这使得攻击者无法根据截获的通信信息对用户的身份进行锁定和跟踪,保证了用户身份的匿名性。
[0189]
即使存在恶意的服务器,利用其收到的信息进行计算,也无法获得用户的身份信息,因为在服务器收到的信息中存在秘密因子:注册中心主密钥psk、秘密数y、随机数nj和用户端的随机数ni,这些都是服务器无法知晓的信息,所以服务器就无法通过运算获取用户身份信息。
[0190]
在一些实施例中,在步骤s401之前方法还包括:
[0191]
用户对登录信息进行修改,用户对登录信息进行修改的方法具体包括:获取第二密码和用户的第二生物特征,根据第二密钥验证用户的合法性,当用户合法时,使用第二密码和第二生物特征替换用户端保存的第一密码和第一生物特征。
[0192]
做一个具体示例,用户可以对口令和生物特征值进行更新修改。用户进入用户端的修改页面,然后输入idi、第一密码pwi,并录入第一生物特征信息bioi。用户端根据保存的数据{bi,ci,di,vi,h(
·
)}开始计算:
[0193]
σi=rep(bioi,vi)
[0194]
[0195][0196][0197]
然后计算是否成立,如果成立,说明ui是合法用户,否则,终止口令修改。
[0198]
如果成立,则让用户输入新的密码如第二密码并录入新的生物特征值第二特征然后用户端开始计算:
[0199][0200][0201][0202]
最后将代替(bi,di,vi)存入用户端。
[0203]
s402,接收服务器发送的会话密钥。
[0204]
在一些实施例中,在用户端接收服务器发送的会话密钥之前,需要对服务器发送的信息进行验证。
[0205]
做一个示例,用户端接收到服务器发送的会话密钥,并对会话密钥中的时间进行验证。验证方法与上述步骤相同。
[0206]
本技术第四方方面提供了一种密钥生成及身份认证服务器,该密钥生成及身份认证服务器可执行上述第一方面提供的秘钥生成及身份认证方法,图5为本技术第四方面提供的秘钥生成及身份认证服务器的的结构示意图。如图5所示,秘钥生成及身份认证服务器500可包括获取模块501、计算模块502和发送模块503。
[0207]
获取模块501用于接收用户端发送的登录请求,登录请求包括用户端标识,以及用户端根据用户端标识和第一密钥生成的登录参数,第一密钥为用户端在注册过程中由注册中心设备根据用户端标识和第二密钥生成,第二密钥为用户在注册过程中根据用户端标识、第一密码和第一生物特征生成的密钥;登录参数是用户端在注册过程中,由注册中心设备根据用户端标识和第一密钥生成的参数。
[0208]
计算模块502用于根据登录参数计算验证参数。
[0209]
发送模块503用于向注册中心设备发送会话密钥协商请求,会话密钥协商请求包括登录参数、验证参数,以用于注册中心根据登录参数对用户端进行身份验证,用户端身份验证通过时,计算会话协商参数。
[0210]
获取模块501还用于接收注册中心设备发送的响应消息,响应消息包括会话协商参数。
[0211]
计算模块502还用于根据会话协商参数生成会话密钥。
[0212]
发送模块503还用于向用户端发送会话密钥。
[0213]
在一些实施例中,计算模块502还用于根据第一时间验证登录请求的有效性。当登录请求有效时,根据登录参数计算验证参数。
[0214]
在一些实施例中,会话密钥协商请求还包括第二时间,第二时间是服务器向注册中心设备发送会话密钥协商请求的时间,第二时间用于注册中心设备根据第二时间验证会
话密钥协商请求的有效性,在会话密钥协商请求有效的情况下,生成会话协商参数。
[0215]
在一些实施例中,响应消息还包括第三时间,第三时间是注册中心设备发送响应消息的时间,根据会话协商参数生成会话密钥,包括:根据第三时间验证注册中心设备的合法性,当注册中心设备合法时,根据会话协商参数生成会话密钥。
[0216]
在一些实施例中,在接收用户端发送的登录请求之前,还包括,向注册中心设备发送第一注册请求,第一注册请求包括服务器的标识,以用于注册中心设备根据服务器的标识生成第一参数,接收注册中心设备通过安全通道发送的第一参数。
[0217]
根据本发明实施例的密钥生成及身份认证服务器的其他细节,与以上结合图1至图4的实施例描述的秘钥生成及身份认证方法类似,并能达到其相应的技术效果,为简洁描述,此处不再赘述。
[0218]
本技术第五方方面提供了一种密钥生成及身份认证注册中心,该密钥生成及身份认证注册中心可执行上述第二方面提供的秘钥生成及身份认证方法,图6为本技术第四方面提供的秘钥生成及身份认证注册中心的一实施例的结构示意图。如图6所示,秘钥生成及身份认证注册中心600可包括接收模块601,确定模块602及输出模块603。
[0219]
接收模块601用于接收服务器发送的会话密钥协商请求,会话密钥协商请求包括登录参数和验证参数,验证参数是服务器接收到用户端发送的登录请求时,根据登录请求中包括的登录参数计算的参数。
[0220]
确定模块602用于根据登录参数对用户端进行身份验证,确定模块602还用于当用户端身份验证通过时,根据验证参数计算会话协商参数,输出模块603用于向服务器发送响应消息,响应消息包括会话协商参数,以用于服务器根据会话协商参数生成会话密钥,并向用户端发送会话密钥。
[0221]
确定模块602还用于根据第二时间验证会话密钥协商请求的有效性,当会话密钥协商请求有效时,根据登录参数对用户端进行身份验证。
[0222]
根据本发明实施例的密钥生成及身份认证注册中心的其他细节,与以上结合图1至图4所示的实施例描述的密钥生成及身份认证方法类似,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
[0223]
本技术第六方面提供了一种密钥生成及身份认证用户端,该密钥生成及身份认证用户端可执行上述第三方面提供的秘钥生成及身份认证方法,图7为本技术第四方面提供的秘钥生成及身份认证注册中心的一实施例的结构示意图。如图7所示,秘钥生成及身份认证用户端700可包括传输模块701和生成模块702。
[0224]
传输模块701用于向服务器发送登录请求,登录请求包括用户端标识和登录参数,登录参数是用户端在注册过程中,由注册中心设备根据用户端标识和第一密钥生成的参数,第一密钥是用户端在注册过程中,由注册中心设备根据用户端标识和第二密钥生成,第二密钥是在注册过程中,用户端根据用户端标识、第一密码和第一生物特征生成的密钥,以用于服务器根据登录参数计算验证参数,并向注册中心设备放会话协商密钥以获取会话协商参数,并根据会话协商参数生成会话密钥。
[0225]
在一些实施例中,登录请求还包括第一时间,第一时间是用户端向服务器发送登录请求的时间,以用于服务器根据第一时间验证登录请求的有效性,在登录请求有效时,根据登录参数计算验证参数。
[0226]
传输模块701还用于接收服务器发送的会话密钥。
[0227]
生成模块702用于获取用户端的用户端标识、第一密码和用户的第一生物特征,根据用户端标识、第一密码和第一生物特征确定第一密钥,向注册中心设备发送用户端标识和第一密钥,以用于注册中心设备根据用户端标识和第一密钥生成登录参数,接收注册中心设备发送的登录参数。
[0228]
生成模块702还用于获取第二密码和用户的第二生物特征,根据第二密钥验证用户的合法性,当用户合法时,使用第二密码和第二生物特征替换用户端保存的第一密码和第一生物特征。
[0229]
根据本发明实施例的密钥生成及身份认证用户端的其他细节,与以上结合图1至图4所示的实施例描述的密钥生成及身份认证方法类似,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
[0230]
图8示出了本技术实施例提供的密钥生成及身份认证设备的硬件结构示意图。
[0231]
如图8所示,密钥生成及身份认证设备800包括输入设备801、输入接口802、中央处理器803、存储器804、输出接口805、以及输出设备804。其中,输入接口802、中央处理器803、存储器804、以及输出接口805通过总线10相互连接,输入设备801和输出设备804分别通过输入接口802和输出接口805与总线810连接,进而与密钥生成及身份认证设备800的其他组件连接。
[0232]
具体地,输入设备801接收来自外部的输入信息,并通过输入接口802将输入信息传送到中央处理器803;中央处理器803基于存储器804中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器804中,然后通过输出接口805将输出信息传送到输出设备804;输出设备804将输出信息输出到密钥生成及身份认证设备800的外部供用户使用。
[0233]
也就是说,图8所示的密钥生成及身份认证设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图2至图4描述的密钥生成及身份认证设备的方法。
[0234]
在一个实施例中,图8所示的密钥生成及身份认证设备800可以被实现为一种设备,该设备可以包括:存储器,用于存储程序;处理器,用于运行存储器中存储的程序,以执行本发明实施例的覆盖率的确定方法。
[0235]
本发明实施例还提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现本发明实施例的密钥生成及身份认证方法。
[0236]
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0237]
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或
者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0238]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0239]
以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献