CN112242993A - 双向认证方法及系统 - Google Patents

双向认证方法及系统 Download PDF

Info

Publication number
CN112242993A
CN112242993A CN202010909775.6A CN202010909775A CN112242993A CN 112242993 A CN112242993 A CN 112242993A CN 202010909775 A CN202010909775 A CN 202010909775A CN 112242993 A CN112242993 A CN 112242993A
Authority
CN
China
Prior art keywords
authentication
client
server
algorithm
message
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.)
Granted
Application number
CN202010909775.6A
Other languages
English (en)
Other versions
CN112242993B (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.)
Massive Security Technology Co ltd
Original Assignee
Massive Security 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 Massive Security Technology Co ltd filed Critical Massive Security Technology Co ltd
Priority to CN202010909775.6A priority Critical patent/CN112242993B/zh
Publication of CN112242993A publication Critical patent/CN112242993A/zh
Application granted granted Critical
Publication of CN112242993B publication Critical patent/CN112242993B/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
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

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

Description

双向认证方法及系统
技术领域
本发明涉及信息安全领域,具体地,涉及一种双向认证方法及系统。
背景技术
身份认证技术在信息安全领域中起着非常重要的作用,是保证系统安全的重要措施之一。常见的双向认证技术基于公私钥体系,多用于SSL协议中进行密钥协商以及传输层的加密,实现手段是通过PKI证书体系,实现客户端与服务端的双向身份认证机制,通过客户端与服务端交换公钥证书后,使用对方公钥证书验证对方身份,建立https的加密连接。这种机制应用在应用层的身份认证较少,由于基于PKI体系的双向身份认证技术,需要针对客户端和服务端管理PKI证书等原因应用推广受限。
发明内容
鉴于以上问题,本发明的目的是提供一种双向认证方法及系统,以解决双向认证机制应用推广受限的问题。
为了实现上述目的,本发明的一个方面是提供一种双向认证方法,包括:
由客户端发起双向认证交易请求,将认证因子发送给服务端;
所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值,并将所述服务端认证消息和所述挑战值发送给所述客户端;
所述客户端接收所述服务端认证消息,并利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时客户端认证通过;
利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;
所述服务端接收所述客户端认证消息,并利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,将认证结果发送给所述客户端。
优选地,所述服务端Z算法形态为密钥和算法形态;所述客户端Z算法形态为可执行文件的白盒态。
优选地,所述认证因子包括用户信息、设备信息、业务信息和当前时间戳中的一种以上。
优选地,利用所述服务端Z算法根据所述认证因子生成服务端认证消息时,使用以下算式1计算:
A=ZS(ZS(ZS(SM3(M))+P)+D) (算式1)
其中,A表示服务端认证消息,ZS表示服务端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;
利用客户端Z算法根据所述认证因子生成客户端验证消息时,使用以下算式2计算:
A’=ZC(ZC(ZC(SM3(M))+P)+D) (算式2)
其中,A’表示客户端验证消息,ZC表示客户端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接。
优选地,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息时,使用以下算式3计算:
B=ZC(ZC(ZC(ZC(X)+T)+D(X))) (算式3)
其中,B表示客户端认证消息,ZC表示客户端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值规则选取的设备信息;
利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息时,使用以下算式4计算:
B’=ZS(ZS(ZS(ZS(X)+T)+D(X))) (算式4)
其中,B’表示服务端验证消息,ZS表示服务端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
优选地,所述双向认证方法还包括:双向认证通过后,按照以下算式5、算式6,客户端与服务端各自生成会话密钥,
SKC=SM3(ZC(ZC(ZC(X+S)+T)+D(X))) (算式5)
SKS=SM3(ZS(ZS(ZS(X+S)+T)+D(X))) (算式6)
其中,SKC表示客户端会话密钥,SKS表示服务端会话密钥,ZC表示客户端Z算法,ZS表示服务端Z算法,SM3表示国密标准HASH算法,X表示挑战值,S表示客户端随机数,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
优选地,所述挑战值由随机数和设备信息标记位组成,所述设备信息标记位为在设定范围内随机选取的数值,分别对应不同的设备信息。
优选地,将认证因子发送给服务端之前,对用户身份信息进行认证。
优选地,所述认证因子包括当前时间戳,对所述当前时间戳进行以下校验:
所述服务端接收所述认证因子之后,判断所述当前时间戳是否在设定时差范围内,若所述当前时间戳在设定时差范围内,则校验通过;
所述服务端接收所述客户端认证消息之后,判断当前时间戳是否过期,若未过期,则校验通过。
为了实现上述目的,本发明的另一个方面是提供一种双向认证系统,包括客户端和服务端,其中,客户端发起双向认证交易请求,将认证因子发送给所述服务端;并接收所述服务端生成的服务端认证消息和挑战值,利用客户端Z算法根据认证因子生成客户端验证消息,将所述客户端验证消息与服务端认证消息进行比对,当两者相同时,客户端认证通过;所述客户端利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;所述服务端接收所述客户端发送的认证因子,并利用服务端Z算法根据认证因子生成服务端认证消息,并生成挑战值,将所述服务端认证消息和所述挑战值返回所述客户端;所述服务端还接收客户端生成的客户端认证消息,并利用服务端Z算法根据挑战值和认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,并将认证结果发送给所述客户端。
与现有技术相比,本发明具有以下优点和有益效果:
本发明通过Z算法结合客户端的认证因子,生成认证消息和验证消息进行比对,实现客户端与服务端的双向认证。通过Z算法实现一人一机一密的分组加密,更适于在不可信端进行运算,并且能够在轻量化的应用场景和开放终端上使用,特别适用于现有的移动互联网的开放应用场景。
附图说明
图1是本发明所述双向认证方法的流程示意图;
图2是本发明所述双向认证方法实施例的交互过程示意图。
具体实施方式
下面将参考附图来描述本发明所述的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。
图1是本发明所述双向认证方法的流程示意图,图2是本发明所述双向认证方法实施例的交互过程示意图,如图1和图2所示,本发明所述双向认证方法包括:
步骤S1,由客户端发起双向认证交易请求,将认证因子发送给服务端,所述认证因子包括用户信息、设备信息、业务信息和当前时间戳中的一种以上,其中,当生成不同的认证消息或验证消息时,所选用的认证因子的因素不同,其中,图2中仅示出了用户ID信息、业务信息M和当前时间戳T;
步骤S2,所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值,并将所述服务端认证消息和所述挑战值发送给所述客户端;
步骤S3,所述客户端接收所述服务端认证消息,并利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时,客户端认证通过;当两者不同时,客户端认证不通过;
步骤S4,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;
步骤S5,所述服务端接收所述客户端认证消息,并利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,当两者不同时,服务端认证不通过,并将通过或不通过的认证结果发送给客户端。
本发明的双向认证方法是基于可重构算法的认证方法,可重构性是指在一个系统中,其硬件模块或(和)软件模块均能根据变化的数据流或控制流对系统结构和算法进行重新配置(或重新设置)。本发明中,可重构性指的是对于不同的用户,在服务端利用Z算法实例结合用户信息生成不同的服务端认证消息。
Z算法是一种用于字符串匹配的算法,输入为一个字符串s,通过Z算法可以得到字符串s每一个后缀与自身的最长公共前缀,以z数组表示.本发明中,所述服务端Z算法形态为密钥和算法形态,标记为ZS;所述客户端Z算法形态为可执行文件的白盒态,标记为ZC。根据Z算法的原理可知,Z算法进行多轮加密运算,加密结果表现为8字节密文。
在一个实施例中,生成服务端认证消息和客户端验证消息时,均使用三次Z算法计算。
优选地,利用服务端Z算法根据所述认证因子生成服务端认证消息时,使用以下算式1计算:
A=ZS(ZS(ZS(SM3(M))+P)+D) (算式1)
其中,A表示服务端认证消息,ZS表示服务端Z算法,SM3表示国密标准HASH算法(即国家密码管理局公布的密码杂凑算法),M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;其中,ZS(SM3(M))表示为使用服务端Z算法实例对业务信息使用SM3算法hash之后的结果进行加密。
利用客户端Z算法根据所述认证因子生成客户端验证消息时,使用以下算式2计算:
A’=ZC(ZC(ZC(SM3(M))+P)+D) (算式2)
其中,A’表示客户端验证消息,ZC表示客户端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;其中,ZC(SM3(M))表示为使用客户端Z算法实例对业务信息使用SM3算法hash之后的结果进行加密,生成16字节密文,等价于ZS(SM3(M))。
优选地,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息时,使用以下算式3计算:
B=ZC(ZC(ZC(ZC(X)+T)+D(X))) (算式3)
其中,B表示客户端认证消息,ZC表示客户端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息;
利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息时,使用以下算式4计算:
B’=ZS(ZS(ZS(ZS(X)+T)+D(X))) (算式4)
其中,B’表示服务端验证消息,ZS表示服务端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息,挑战值不同,所选取的设备信息不同。
在一个实施例中,若需要进行协商密钥操作,则在双方认证通过的基础上,步骤S5之后,根据以下算式5、算式6,客户端与服务端各自生成会话密钥。
SKC=SM3(ZC(ZC(ZC(X+S)+T)+D(X))) (算式5)
SKS=SM3(ZS(ZS(ZS(X+S)+T)+D(X))) (算式6)
其中,SKC表示客户端会话密钥,SKS表示服务端会话密钥,ZC表示客户端Z算法,ZS表示服务端Z算法,SM3表示国密标准HASH算法,X表示挑战值,S表示客户端随机数,T表示当前时间戳,D(X)表示根据挑战值规则选取的设备信息。其中,客户端随机数S为客户端生成客户端认证消息B的同生成,并与客户端认证消息B一起发送给服务端,供服务端生成协商会话密钥。
在进行双向认证过程中,涉及多因素信息的参与。具体包括:设备信息、用户信息、业务交易信息、时间信息、挑战值、以及生成Z算法插件时的随机信息,在生成服务端认证消息和客户端验证消息中分别用到了用户信息、业务信息、设备信息;在生成客户端认证消息中用到了挑战值信息、当前时间戳信息、设备信息;在多认证因子中,用户信息、挑战值信息、时间信息为固定的,而设备信息在生成客户端认证信息时根据挑战值随机进行选取,并生成备用的客户端随机数信息供生成会话密钥使用。
设备信息,包含设备指纹信息、设备基本信息(包括设备型号和设备类型信息)、Z算法插件ID、设备标识信息(UUID/Android ID/IMEI)、MAC地址信息等,其中,设备指纹信息根据设备指纹算法生成,表示如下式:
设备指纹信息=SM3(设备类型+设备标识信息+MAC地址信息)
其中,SM3表示国密标准HASH算法。
在生成服务端认证消息的同时生成的挑战值由随机数和设备信息标记位组成所述设备信息标记位为在设定范围内随机选取的数值,分别对应不同的设备信息,当设备信息标记位的取值不同时,所选择的设备信息不同。例如,当设备信息标记位设定为1位,取值范围设定位0-4时,挑战值X可以表示为下式:
挑战值X=随机数(15位)+设备信息标记位(1位)
其中,设备信息标记位取值0-4对应的是硬件设备信息分别为:0:设备指纹信息;1:设备标识信息;2:Z算法插件ID;3:设备基本信息;4:MAC地址信息。
在进行应用层的双向认证时,除了对客户端设备进行认证外,有些应用场景还需要对使用人员进行用户身份认证,因此在双向认证环节可以加入个人的身份识别信息,对用户的合法性进行校验。优选地,将认证因子发送给服务端之前,对用户身份信息进行认证。其中,可选的身份认证信息包括用户已知信息、用户生物识别信息和用户已有鉴别信息,根据使用的便利性和安全性以及考虑与双向认证的结合,增加用户PIN码识别。其中,用户已知信息可以是用户手机号、用户名等,用户生物识别信息可以包括人脸信息、指纹信息和声纹信息等,用户已有鉴别信息可以是用户登录客户端所用的登录信息,例如用户账户和密码等。
考虑到对双向认证的重放攻击,增加对服务请求时的当前时间戳T的校验机制。具体地,对当前时间戳进行以下校验:客户端在发起双向认证交易请求时,提交请求时的当前时间戳T作为认证因子之一,服务端接收认证因子之后,判断所述当前时间戳是否在设定时差范围内,若当前时间戳在设定时差范围内,则校验通过,生成服务端认证消息后返回客户端;客户端在生成认证消息提交服务端进行验证时,服务端取出存储的当前时间戳消息T,判断是否过期,超过使用的时间窗口,如果没有过期,则校验通过,进行客户端认证消息的验证,验证通过后将存储的时间戳T清除,若过期,则停止验证,并将结果发送给客户端。
本发明还提供一种双向认证系统,用于执行上述双向认证方法,所述双向认证系统包括客户端和服务端,其中,客户端发起双向认证交易请求,将认证因子发送给服务端;并接收服务端生成的服务端认证消息和挑战值,利用客户端Z算法根据认证因子生成客户端验证消息,将客户端验证消息与服务端认证消息进行比对,当两者相同时,客户端认证通过;所述客户端利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给服务端;服务端接收客户端发送的认证因子,并利用服务端Z算法根据认证因子生成服务端认证消息,并生成挑战值,将所述服务端认证消息和所述挑战值返回客户端;服务端还接收客户端生成的客户端认证消息,并利用服务端Z算法根据挑战值和认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时服务端认证通过,并将认证结果发送给客户端。
需要说明的是,本发明之双向认证系统的具体实施方式与上述双向认证方法的具体实施方式大致相同,在此不再赘述。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种双向认证方法,其特征在于,包括:
由客户端发起双向认证交易请求,将认证因子发送给服务端;
所述服务端接收所述认证因子,并利用服务端Z算法根据所述认证因子生成服务端认证消息,并生成挑战值,并将所述服务端认证消息和所述挑战值发送给所述客户端;
所述客户端接收所述服务端认证消息,并利用客户端Z算法根据所述认证因子生成客户端验证消息,将所述客户端验证消息与所述服务端认证消息进行比对,当两者相同时客户端认证通过;
利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;
所述服务端接收所述客户端认证消息,并利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,将认证结果发送给所述客户端。
2.根据权利要求1所述的双向认证方法,其特征在于,所述服务端Z算法形态为密钥和算法形态;所述客户端Z算法形态为可执行文件的白盒态。
3.根据权利要求1所述的双向认证方法,其特征在于,所述认证因子包括用户信息、设备信息、业务信息和当前时间戳中的一种以上。
4.根据权利要求3所述的双向认证方法,其特征在于,利用所述服务端Z算法根据所述认证因子生成服务端认证消息时,使用以下算式1计算:
A=ZS(ZS(ZS(SM3(M))+P)+D) (算式1)
其中,A表示服务端认证消息,ZS表示服务端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接;
利用客户端Z算法根据所述认证因子生成客户端验证消息时,使用以下算式2计算:
A’=ZC(ZC(ZC(SM3(M))+P)+D) (算式2)
其中,A’表示客户端验证消息,ZC表示客户端Z算法,SM3表示国密标准HASH算法,M表示业务信息,P表示用户信息,D表示设备信息,+表示字符串拼接。
5.根据权利要求3所述的双向认证方法,其特征在于,利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息时,使用以下算式3计算:
B=ZC(ZC(ZC(ZC(X)+T)+D(X))) (算式3)
其中,B表示客户端认证消息,ZC表示客户端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值规则选取的设备信息;
利用服务端Z算法根据所述挑战值和所述认证因子生成服务端验证消息时,使用以下算式4计算:
B’=ZS(ZS(ZS(ZS(X)+T)+D(X))) (算式4)
其中,B’表示服务端验证消息,ZS表示服务端Z算法,X表示挑战值,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
6.根据权利要求3所述的双向认证方法,其特征在于,还包括:双向认证通过后,按照以下算式5、算式6,客户端与服务端各自生成会话密钥,
SKC=SM3(ZC(ZC(ZC(X+S)+T)+D(X))) (算式5)
SKS=SM3(ZS(ZS(ZS(X+S)+T)+D(X))) (算式6)
其中,SKC表示客户端会话密钥,SKS表示服务端会话密钥,ZC表示客户端Z算法,ZS表示服务端Z算法,SM3表示国密标准HASH算法,X表示挑战值,S表示客户端随机数,T表示当前时间戳,D(X)表示根据挑战值选取的设备信息。
7.根据权利要求1所述的双向认证方法,其特征在于,所述挑战值由随机数和设备信息标记位组成,所述设备信息标记位为在设定范围内随机选取的数值,分别对应不同的设备信息。
8.根据权利要求1所述的双向认证方法,其特征在于,将认证因子发送给服务端之前,对用户身份信息进行认证。
9.根据权利要求1所述的双向认证方法,其特征在于,所述认证因子包括当前时间戳,对所述当前时间戳进行以下校验:
所述服务端接收所述认证因子之后,判断所述当前时间戳是否在设定时差范围内,若所述当前时间戳在设定时差范围内,则校验通过;
所述服务端接收所述客户端认证消息之后,判断当前时间戳是否过期,若未过期,则校验通过。
10.一种双向认证系统,其特征在于,
包括客户端和服务端,
其中,客户端发起双向认证交易请求,将认证因子发送给所述服务端;并接收所述服务端生成的服务端认证消息和挑战值,利用客户端Z算法根据认证因子生成客户端验证消息,将所述客户端验证消息与服务端认证消息进行比对,当两者相同时,客户端认证通过;所述客户端利用客户端Z算法根据所述挑战值和所述认证因子生成客户端认证消息,并将所述客户端认证消息发送给所述服务端;
所述服务端接收所述客户端发送的认证因子,并利用服务端Z算法根据认证因子生成服务端认证消息,并生成挑战值,将所述服务端认证消息和所述挑战值返回所述客户端;所述服务端还接收客户端生成的客户端认证消息,并利用服务端Z算法根据挑战值和认证因子生成服务端验证消息,将所述服务端验证消息与所述客户端认证消息进行比对,当两者相同时,服务端认证通过,并将认证结果发送给所述客户端。
CN202010909775.6A 2020-09-02 2020-09-02 双向认证方法及系统 Active CN112242993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010909775.6A CN112242993B (zh) 2020-09-02 2020-09-02 双向认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010909775.6A CN112242993B (zh) 2020-09-02 2020-09-02 双向认证方法及系统

Publications (2)

Publication Number Publication Date
CN112242993A true CN112242993A (zh) 2021-01-19
CN112242993B CN112242993B (zh) 2022-10-21

Family

ID=74171183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010909775.6A Active CN112242993B (zh) 2020-09-02 2020-09-02 双向认证方法及系统

Country Status (1)

Country Link
CN (1) CN112242993B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113988871A (zh) * 2021-10-29 2022-01-28 平安银行股份有限公司 基于图像识别的双向认证方法、装置、设备及存储介质
CN114626860A (zh) * 2022-05-12 2022-06-14 武汉和悦数字科技有限公司 用于线上商品支付的身份动态识别方法及装置
CN115942310A (zh) * 2022-11-10 2023-04-07 中国电力科学研究院有限公司 一种基于z算法的蓝牙管理链路认证协商方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660605A (zh) * 2015-03-05 2015-05-27 北京安普诺信息技术有限公司 一种多因子身份验证方法及其系统
CN104735068A (zh) * 2015-03-24 2015-06-24 江苏物联网研究发展中心 基于国密的sip安全认证的方法
CN105610837A (zh) * 2015-12-31 2016-05-25 上海交通大学 用于scada系统主站与从站间身份认证的方法及系统
CN105827620A (zh) * 2016-04-25 2016-08-03 上海众人网络安全技术有限公司 一种数据传输系统及其方法
CN106506529A (zh) * 2016-12-06 2017-03-15 上海众人网络安全技术有限公司 一种双向认证方法及系统
CN108366069A (zh) * 2018-02-26 2018-08-03 北京赛博兴安科技有限公司 一种双向认证方法和系统
CN110430194A (zh) * 2019-08-06 2019-11-08 腾讯科技(深圳)有限公司 一种信息验证的方法、棋牌信息验证的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660605A (zh) * 2015-03-05 2015-05-27 北京安普诺信息技术有限公司 一种多因子身份验证方法及其系统
CN104735068A (zh) * 2015-03-24 2015-06-24 江苏物联网研究发展中心 基于国密的sip安全认证的方法
CN105610837A (zh) * 2015-12-31 2016-05-25 上海交通大学 用于scada系统主站与从站间身份认证的方法及系统
CN105827620A (zh) * 2016-04-25 2016-08-03 上海众人网络安全技术有限公司 一种数据传输系统及其方法
CN106506529A (zh) * 2016-12-06 2017-03-15 上海众人网络安全技术有限公司 一种双向认证方法及系统
CN108366069A (zh) * 2018-02-26 2018-08-03 北京赛博兴安科技有限公司 一种双向认证方法和系统
CN110430194A (zh) * 2019-08-06 2019-11-08 腾讯科技(深圳)有限公司 一种信息验证的方法、棋牌信息验证的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
顾永军等: "基于身份加密的匿名漫游无线认证协议", 《计算机工程》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113988871A (zh) * 2021-10-29 2022-01-28 平安银行股份有限公司 基于图像识别的双向认证方法、装置、设备及存储介质
CN114626860A (zh) * 2022-05-12 2022-06-14 武汉和悦数字科技有限公司 用于线上商品支付的身份动态识别方法及装置
CN115942310A (zh) * 2022-11-10 2023-04-07 中国电力科学研究院有限公司 一种基于z算法的蓝牙管理链路认证协商方法

Also Published As

Publication number Publication date
CN112242993B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
US8793497B2 (en) Puzzle-based authentication between a token and verifiers
CN108377190B (zh) 一种认证设备及其工作方法
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
CN112242993B (zh) 双向认证方法及系统
US8595501B2 (en) Network helper for authentication between a token and verifiers
CN112039918B (zh) 一种基于标识密码算法的物联网可信认证方法
US8380992B2 (en) Device and method for security key exchange and system pertaining to same
KR101706117B1 (ko) 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
CN107612889B (zh) 防止用户信息泄露的方法
TW201014314A (en) Techniques for secure channelization between UICC and a terminal
JP2007511167A (ja) 証明書の保護された動的プロビジョニング
MXPA03003710A (es) Metodos para cambiar a distancia una contrasena de comunicaciones.
CN111884811B (zh) 一种基于区块链的数据存证方法和数据存证平台
CN106789032B (zh) 服务器与移动设备间秘密共享的单一口令三方认证方法
CN111224784A (zh) 一种基于硬件可信根的角色分离的分布式认证授权方法
CN113055394A (zh) 一种适用于v2g网络的多服务双因子认证方法及系统
CN111065097B (zh) 移动互联网中基于共享密钥的通道保护方法及系统
CN112583807A (zh) 一种验证方法、装置、电子设备及存储介质
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
WO2021093811A1 (zh) 一种网络接入方法及相关设备
CN113014376B (zh) 一种用户与服务器之间安全认证的方法
CN114666114A (zh) 一种基于生物特征的移动云数据安全认证方法
CN115348098A (zh) 一种基于sm9密钥交换算法的身份认证方法
CN112367329B (zh) 通信连接认证方法、装置、计算机设备及存储介质
CN114386020A (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