双向认证方法及系统技术方案

技术编号:27099753 阅读:14 留言:0更新日期:2021-01-25 18:42
本发明专利技术公开了一种双向认证方法及系统,其中,方法包括:由客户端发起双向认证交易请求,将认证因子发送给服务端;所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值;利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时客户端认证通过;利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息;利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过。本发明专利技术能够在轻量化的应用场景和开放终端上使用。明能够在轻量化的应用场景和开放终端上使用。明能够在轻量化的应用场景和开放终端上使用。

【技术实现步骤摘要】
双向认证方法及系统


[0001]本专利技术涉及信息安全领域,具体地,涉及一种双向认证方法及系统。

技术介绍

[0002]身份认证技术在信息安全领域中起着非常重要的作用,是保证系统安全的重要措施之一。常见的双向认证技术基于公私钥体系,多用于SSL协议中进行密钥协商以及传输层的加密,实现手段是通过PKI证书体系,实现客户端与服务端的双向身份认证机制,通过客户端与服务端交换公钥证书后,使用对方公钥证书验证对方身份,建立https的加密连接。这种机制应用在应用层的身份认证较少,由于基于PKI体系的双向身份认证技术,需要针对客户端和服务端管理PKI证书等原因应用推广受限。

技术实现思路

[0003]鉴于以上问题,本专利技术的目的是提供一种双向认证方法及系统,以解决双向认证机制应用推广受限的问题。
[0004]为了实现上述目的,本专利技术的一个方面是提供一种双向认证方法,包括:
[0005]由客户端发起双向认证交易请求,将认证因子发送给服务端;
[0006]所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值,并将所述服务端认证消息和所述挑战值发送给所述客户端;
[0007]所述客户端接收所述服务端认证消息,并利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时客户端认证通过;
[0008]利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;
[0009]所述服务端接收所述客户端认证消息,并利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,将认证结果发送给所述客户端。
[0010]优选地,所述服务端Z算法形态为密钥和算法形态;所述客户端Z算法形态为可执行文件的白盒态。
[0011]优选地,所述认证因子包括用户信息、设备信息、业务信息和当前时间戳中的一种以上。
[0012]优选地,利用所述服务端Z算法根据所述认证因子生成服务端认证消息时,使用以下算式1计算:
[0013]A=Z
S
(Z
S
(Z
S
(SM3(M))+P)+D)
ꢀꢀ
(算式1)
[0014]其中,A表示服务端认证消息,Z
S
表示服务端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;
[0015]利用客户端Z算法根据所述认证因子生成客户端验证消息时,使用以下算式2计
算:
[0016]A

=Z
C
(Z
C
(Z
C
(SM3(M))+P)+D)
ꢀꢀ
(算式2)
[0017]其中,A

表示客户端验证消息,Z
C
表示客户端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接。
[0018]优选地,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息时,使用以下算式3计算:
[0019]B=Z
C
(Z
C
(Z
C
(Z
C
(X)+T)+D(X)))
ꢀꢀ
(算式3)
[0020]其中,B表示客户端认证消息,Z
C
表示客户端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值规则选取的设备信息;
[0021]利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息时,使用以下算式4计算:
[0022]B

=Z
S
(Z
S
(Z
S
(Z
S
(X)+T)+D(X)))
ꢀꢀ
(算式4)
[0023]其中,B

表示服务端验证消息,Z
S
表示服务端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
[0024]优选地,所述双向认证方法还包括:双向认证通过后,按照以下算式5、算式6,客户端与服务端各自生成会话密钥,
[0025]SK
C
=SM3(Z
C
(Z
C
(Z
C
(X+S)+T)+D(X)))
ꢀꢀ
(算式5)
[0026]SK
S
=SM3(Z
S
(Z
S
(Z
S
(X+S)+T)+D(X)))
ꢀꢀ
(算式6)
[0027]其中,SK
C
表示客户端会话密钥,SK
S
表示服务端会话密钥,Z
C
表示客户端Z算法,Z
S
表示服务端Z算法,SM3表示国密标准HASH算法,X表示挑战值,S表示客户端随机数,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
[0028]优选地,所述挑战值由随机数和设备信息标记位组成,所述设备信息标记位为在设定范围内随机选取的数值,分别对应不同的设备信息。
[0029]优选地,将认证因子发送给服务端之前,对用户身份信息进行认证。
[0030]优选地,所述认证因子包括当前时间戳,对所述当前时间戳进行以下校验:
[0031]所述服务端接收所述认证因子之后,判断所述当前时间戳是否在设定时差范围内,若所述当前时间戳在设定时差范围内,则校验通过;
[0032]所述服务端接收所述客户端认证消息之后,判断当前时间戳是否过期,若未过期,则校验通过。
[0033]为了实现上述目的,本专利技术的另一个方面是提供一种双向认证系统,包括客户端和服务端,其中,客户端发起双向认证交易请求,将认证因子发送给所述服务端;并接收所述服务端生成的服务端认证消息和挑战值,利用客户端Z算法根据认证因子生成客户端验证消息,将所述客户端验证消息与服务端认证消息进行比对,当两者相同时,客户端认证通过;所述客户端利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;所述服务端接收所述客户端发送的认证因子,并利用服务端Z算法根据认证因子生成服务端认证消息,并生成挑战值,将所述服务端认证消息和所述挑战值返回所述客户端;所述服务端还接收客户端生成的客户端认证消息,并利用服务端Z算法根据挑战值和认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,并将认证结果发送给所述
客户端。...

【技术保护点】

【技术特征摘要】
1.一种双向认证方法,其特征在于,包括:由客户端发起双向认证交易请求,将认证因子发送给服务端;所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值,并将所述服务端认证消息和所述挑战值发送给所述客户端;所述客户端接收所述服务端认证消息,并利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时客户端认证通过;利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;所述服务端接收所述客户端认证消息,并利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,将认证结果发送给所述客户端。2.根据权利要求1所述的双向认证方法,其特征在于,所述服务端Z算法形态为密钥和算法形态;所述客户端Z算法形态为可执行文件的白盒态。3.根据权利要求1所述的双向认证方法,其特征在于,所述认证因子包括用户信息、设备信息、业务信息和当前时间戳中的一种以上。4.根据权利要求3所述的双向认证方法,其特征在于,利用所述服务端Z算法根据所述认证因子生成服务端认证消息时,使用以下算式1计算:A=Z
S
(Z
S
(Z
S
(SM3(M))+P)+D)
ꢀꢀꢀꢀꢀꢀ
(算式1)其中,A表示服务端认证消息,Z
S
表示服务端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;利用客户端Z算法根据所述认证因子生成客户端验证消息时,使用以下算式2计算:A

=Z
C
(Z
C
(Z
C
(SM3(M))+P)+D)
ꢀꢀꢀꢀꢀꢀ
(算式2)其中,A

表示客户端验证消息,Z
C
表示客户端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接。5.根据权利要求3所述的双向认证方法,其特征在于,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息时,使用以下算式3计算:B=Z
C
(Z
C
(Z
C
(Z
C
(X)+T)+D(X)))
ꢀꢀꢀꢀꢀꢀ
(算式3)其中,B表示客户端认证消息,Z
C
表示客户端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值规则选取的设备信息;利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息时,使用以下算式4计算:B

=Z
S
(Z
...

【专利技术属性】
技术研发人员:刘琦杨超明
申请(专利权)人:海量安全技术有限公司
类型:发明
国别省市:

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

1