CN106330838B - 一种动态签名方法及应用该方法的客户端和服务器 - Google Patents

一种动态签名方法及应用该方法的客户端和服务器 Download PDF

Info

Publication number
CN106330838B
CN106330838B CN201510378307.XA CN201510378307A CN106330838B CN 106330838 B CN106330838 B CN 106330838B CN 201510378307 A CN201510378307 A CN 201510378307A CN 106330838 B CN106330838 B CN 106330838B
Authority
CN
China
Prior art keywords
response message
signature
client
request
key
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
CN201510378307.XA
Other languages
English (en)
Other versions
CN106330838A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510378307.XA priority Critical patent/CN106330838B/zh
Publication of CN106330838A publication Critical patent/CN106330838A/zh
Application granted granted Critical
Publication of CN106330838B publication Critical patent/CN106330838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/3247Cryptographic 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 digital signatures

Abstract

本申请公开了一种动态签名方法及应用该方法的客户端和服务器,该方法通过客户端向服务器端发送认证请求,服务器端接收到认证请求后,向客户端发送携带挑战值的认证请求应答消息,客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,最后服务器端接收认证响应消息,同样根据挑战值选择签名算法,校验响应消息的签名,如果校验通过,则认证通过,否则报错。本申请采用随机的签名算法,即使用户密钥泄露,由于攻击者不知道签名算法,也无法伪造响应消息,增强了安全性。

Description

一种动态签名方法及应用该方法的客户端和服务器
技术领域
本申请属于身份认证技术领域,尤其涉及在身份认证过程中的一种动态签名方法及应用该方法的客户端和服务器。
背景技术
重放攻击是指攻击者发送一个目的主机已接受过的数据包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击是计算机世界黑客常用的攻击方式之一,为了抵御重放攻击,现在的身份认证一般采用挑战应答方式。
挑战应答方式是在用户在客户端申请登录系统进行身份认证时,先发送请求,系统服务器端接收到请求后向客户端发送挑战值,客户端根据接收到的挑战值计算出应答值,并向系统服务器端发送响应消息,系统服务器端在收到响应消息后进行判断应答值是否正确,如果正确则认证通过,否则断开连接。而为了防止响应信息被截获并篡改或被攻击者伪造,通常还对响应消息进行签名。
然而现有技术都是采用固定算法进行签名,如果签名密钥泄漏,攻击者就能伪造响应消息,从而造成用户帐号的被盗用或认证失败。
发明内容
本申请的目的是提供一种动态签名方法及应用该方法的客户端和服务器,在签名密钥泄漏情况下,如果攻击者不知道签名算法,也无法伪造响应消息,提高安全性。
为了实现上述目的,本申请技术方案如下:
一种动态签名方法,应用于身份认证系统的客户端,所述身份认证系统还包括服务器端,所述动态签名方法包括:
向服务器端发送认证请求;
接收所述服务器端发送的认证请求应答消息,所述认证请求应答消息中携带有挑战值;
根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,以便服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法对认证响应消息进行校验。
本申请的一种实施方式,所述用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为约定的第二私钥,在服务器端保存有约定的第二公钥用于对签名的认证响应消息进行校验。即以约定的第二私钥和第二公钥作为选择的签名算法的密钥来进行签名。
本申请的另一种实施方式,所述用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为用户私钥,在服务器端保存有对应的用户公钥用于对签名的认证响应消息进行校验,所述动态签名方法还包括:
向服务器端发送开通请求,接收服务器端发送的携带挑战值的开通请求应答消息;
生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥;
根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。
即通过开通请求,建立客户端与服务器端针对用户的个人用户密钥对,每个用户有自己的密钥对,提高安全性。
进一步地,所述开通请求应答消息在服务器端以约定的第一私钥进行签名,所述动态签名方法在接收到开通请求应答消息后,还包括:
以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
同样,所述认证请求应答消息在服务器端以约定的第一私钥进行签名,所述动态签名方法在接收到认证请求应答消息后,还包括:
以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。通过对开通请求应答消息和认证请求应答消息进行签名发送,加强了服务器端与客户端之间信息交互的保密。
本申请中签名算法包括签名算法1-签名算法n,n为签名算法的数量,所述根据所述挑战值选择签名算法,包括:
求所述挑战值除以n得到的余数p,选择签名算法p+1作为选择的签名算法。本申请不限于选择签名算法的具体选择方法。
进一步地,本申请所述选择的签名算法为至少一种,通过选择的多个签名算法复用能够更加提高安全性。
本申请还提出了一种动态签名方法,应用于身份认证系统的服务器端,所述身份认证系统还包括客户端,所述动态签名方法包括:
接收客户端发送的认证请求,向客户端发送携带挑战值的认证请求应答消息;
接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法进行签名的认证响应消息,同样根据挑战值选择签名算法校验认证响应消息的签名,如果校验通过,则认证通过,否则报错。
同样,本申请的一种实施方式,所述根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为约定的第二公钥,对客户端使用选择的签名算法和约定的第二私钥签名的认证响应消息进行校验。
本申请的另一种实施方式,所述根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为用户公钥,所述客户端用选择的签名算法对生成的认证响应消息进行签名,使用的密钥为对应的用户私钥,所述动态签名方法还包括:
接收客户端发送的开通请求,向客户端发送携带挑战值的开通请求应答消息;
接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器端保存用户公钥。
进一步地,所述动态签名方法还包括:以约定的第一私钥对开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
同样地,所述动态签名方法在接收客户端发送的认证请求后,还包括:
以约定的第一私钥对携带挑战值的认证请求应答消息进行签名后发送,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
本申请还提示提出了基于上述方法对应的装置,分别为:
一种客户端,应用于身份认证系统,所述身份认证系统还包括服务器端,所述客户端包括:
请求模块,用于向服务器端发送认证请求,并接收所述服务器端发送的认证请求应答消息,所述认证请求应答消息中携带有挑战值;
签名模块,用于根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,以便服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法对认证响应消息进行校验。
相应地,一种服务器,应用于身份认证系统,所述身份认证系统还包括客户端,所述服务器包括:
应答模块,用于接收客户端发送的认证请求,向客户端发送携带挑战值的认证请求应答消息;
校验模块,用于接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法进行签名的认证响应消息,同样根据挑战值选择签名算法校验认证响应消息的签名,如果校验通过,则认证通过,否则报错。
本申请利用下发的挑战随机数选择签名算法,通过随机数动态选择签名算法,在签名密钥泄漏情况下,如果攻击者不知道签名算法,也无法伪造响应消息,由于在这种情况下,除了要获取签名密钥外,通常还需要反编译客户端程序,增加了攻击成本,提高安全性。
附图说明
图1为本申请动态签名方法流程图;
图2为本申请动态签名方法另一实施例流程图
图3为本申请客户端结构示意图;
图4为本申请服务器结构示意图。
具体实施方式
下面结合附图和实施例对本申请技术方案做进一步详细说明,以下实施例不构成对本申请的限定。
在基于互联网的应用中,一般来说都具有位于用户侧的客户端和位于服务商侧的服务器端。客户端一般为应用程序,安装在用户的移动终端、电脑或其他智能设备中,有些客户端直接是服务商提供的网页。客户端与服务器端之间开通业务、进行业务操作过程中的校验、以及注销业务等等都需要进行用户的身份认证。
本实施例动态签名方法如图1所示,包括如下步骤:
S1、客户端向服务器端发送认证请求。
S2、服务器端接收到认证请求后,向客户端发送携带挑战值的认证请求应答消息。
挑战值是在身份认证过程中通过随机算法生成的随机数,关于随机数的生成,现有技术中有伪随机算法和强随机算法,本实施例采用强随机算法,获得的随机数分布更加均匀。
S3、客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息。
在身份认证过程中,客户端在接收到认证请求应答消息后,需要进行响应,向服务器端返回认证响应消息。认证响应消息中包括应答值,该应答值是根据挑战值按照固定的算法计算得到的,以便服务器端根据同样的算法计算得到应答值进行比较验证。
本实施例与现有技术不同的地方在于,还根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对认证响应消息进行签名后在发送到服务器端。
其中根据接收的挑战值来选择签名算法,例如可选择的签名算法有4中,分别为签名算法1、签名算法2、签名算法3、签名算法4。
可以以挑战值求余的方式选择算法,如果挑战值除以4余数为0,则选择签名算法1,余数为1则选择签名算法2,依次类推。具体的签名算法有安全哈希算法RAS-SHA1、RSA-SHA256等,这里不再赘述。
需要注意的是,使用签名算法进行签名时所采用的密钥对通常采用客户端与服务器端约定的第二公私钥对,该第二公私钥对包括第二私钥和第二公钥,第二私钥保存在客户端,第二公钥保存在服务器端。在签名时使用选择的签名算法和第二私钥进行签名,而在后续的签名校验时,使用选择的签名算法和第二公钥进行校验。
然而约定的第二私钥和第二公钥因为是对所有该客户端的用户都是统一的,安全性不够。为此,本实施例还包括一个生成用户公私钥对,并发送用户公钥到服务器端的过程,通过开通响应消息携带用户公钥发送到服务器端。包括如下步骤:
F1、客户端向服务器端发送开通请求,接收服务器端发送的携带挑战值的开通请求应答消息;
F2、客户端生成用户公私钥对,包括用户私钥和用户公钥,在客户端保存用户私钥;
F3、客户端根据开通请求应答消息中的挑战值选择签名算法,采用选择的签名算法和第二私钥对生成的开通响应消息进行签名,开通响应消息包括用户公钥,并将开通响应消息发送到服务器端;
F4、服务器端接收开通响应消息并使用选择的签名算法和第二公钥对开通响应消息进行校验,在服务器端保存用户公钥。
从而在客户端上保存了用户私钥,在服务器端保存了用户公钥,该用户私钥和用户公钥对每个用户是唯一的,更加安全可靠。并在后续对认证响应消息进行签名时,采用用户私钥进行签名,并在服务器端采用用户公钥进行校验。
需要说明的是,本实施例以挑战值求余的方式选择算法,也可以直接以挑战值的个位数或十位数来进行选择,或根据挑战值除以4得到的值来进行选择,本申请不限于具体选择方式。
S4、服务器端接收认证响应消息,同样根据挑战值选择签名算法,校验响应消息的签名,如果校验通过,则认证通过,否则报错。
在服务器端对认证响应消息的校验过程中,包括如下两个校验步骤:
1)、使用选择的签名算法对认证响应消息进行校验。
在服务器端,同样对挑战值求余,选择对应的签名算法,采用第二公钥对认证响应消息进行校验。如果采用生成的用户公私钥对,则客户端使用选择的签名算法和用户私钥对认证响应消息进行签名,在服务器端则需要使用用户公钥对认证响应消息进行校验。
2)、使用与客户端相同的算法计算得到应答值与响应消息中的应答值进行比较验证。
关于挑战应答的校验,在现有技术中已经应用的比较成熟,这里不再赘述。
本实施例对认证响应消息进行的签名校验,由于是随机的签名算法,即使用户密钥泄露,由于攻击者不知道签名算法,也无法伪造响应消息。
综上所述,图1示出了本申请的一种实施例,在该实施例中,认证响应消息采用客户端与服务器端约定的第二公私钥对进行签名和校验,或提前通过步骤F1~F4预存了用户公私钥,客户端和服务器端采用用户公私钥对进行签名和校验。而图2示出了另一种实施例,在该实施例中,在客户端第一次发起认证的过程中,在步骤S2之后,直接生成用户公私钥对,并发送用户公钥到服务器端保存,即在步骤S2之后,包括如下步骤:
F5、客户端生成用户公私钥对,包括用户私钥和用户公钥,在客户端保存用户私钥;
F6、客户端采用选择的签名算法和第二私钥对生成的开通响应消息进行签名,开通响应消息包括用户公钥,并将开通响应消息发送到服务器端;
F7、服务器端接收开通响应消息并使用选择的签名算法和第二公钥对开通响应消息进行校验,在服务器端保存用户公钥。
可见本申请通过步骤F1~F4首先生成用户公私钥对,或者在第一次认证的过程中通过步骤F5~F7来生成用户公私钥对,采用用户公私钥对进行签名和校验;或者直接采用第二公私钥对来进行签名和校验。优选地,采用步骤F1~F4的步骤来操作,通过随机为每个用户产生用户公私钥对,每个用户拥有自己的用户公私钥对,更加安全;同时在用户开通应用的时候就来完成用户公私钥对的产生和发送过程,不需要如图2所示在第一次认证过程中进行额外的生成和发送过程,对于实现起来更加容易。
本实施例为了进一步地增加认证过程中的安全性,还对认证请求应答消息进行加密后发送,是为了进一步保障认证过程的安全性。
在客户端与服务器端约定有第一公钥和第一私钥,第一公钥保存在客户端,第一私钥保存在服务器端。服务器端在采用第一私钥对认证请求应答消息进行加密后发送到客户端,客户端用第一公钥解密进行验证,验证通过则进行下面的步骤,否则报错。这里用到的加密算法可以为对称算法、非对称算法、摘要算法等。
同理对于开通请求应答消息,也可以同样采用第一公钥和第一私钥进行加密和校验,这里不再赘述。
需要注意的是,在一般要求不高的情况下,也可以省略对认证请求应答消息的加解密验证过程。
通常在身份认证中,认证响应消息中还包括身份认证的具体信息,例如指纹、密码、用户ID等,在对认证响应消息进行签名校验和应答值校验后,还需要比较保存在服务器端的身份认证的具体信息,如果一致则认为是合法用户,这里不再赘述。
需要说明的是,本申请根据随机数选择签名算法,不限于选择一种签名算法来进行签名,也可以选择多种算法的组合进行签名操作,提高算法的变化。例如根据随机数的个位数和十位数,选择两个签名算法,先后进行两次签名来进一步增强签名的安全性。
本实施例还同时提出了基于上述方法对应的客户端和服务器,如图3所示,本实施例的客户端包括:
请求模块,用于向服务器端发送认证请求,并接收所述服务器端发送的认证请求应答消息,所述认证请求应答消息中携带有挑战值;
签名模块,用于根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,以便服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法对认证响应消息进行校验。
其中,签名模块在对认证响应消息进行签名,其中进行签名时可以使用约定第二密钥对,也可以使用生成的用户密钥对。
当签名时使用约定第二密钥对时,客户端签名模块使用约定的第二私钥对认证响应消息进行签名,在服务器端保存有约定的第二公钥用于对签名的认证响应消息进行校验。
当签名时使用生成的用户密钥对时,客户端签名模块使用用户私钥对认证响应消息进行签名,在服务器端保存有对应的用户公钥用于对签名的认证响应消息进行校验。
而在生成用户密钥对的过程中,请求模块还用于向服务器端发送开通请求,接收服务器端发送的携带挑战值的开通请求应答消息;签名模块还用于生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥,根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。
其中所述开通请求应答消息在服务器端以约定的第一私钥进行签名,请求模块在接收到开通请求应答消息后,还用于以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
同样地,所述认证请求应答消息在服务器端以约定的第一私钥进行签名,请求模块在接收到认证请求应答消息后,还用于以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
如图4所示,本实施例的服务器,包括:
应答模块,用于接收客户端发送的认证请求,向客户端发送携带挑战值的认证请求应答消息;
校验模块,用于接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法进行签名的认证响应消息,同样根据挑战值选择签名算法校验认证响应消息的签名,如果校验通过,则认证通过,否则报错。
其中,校验模块根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为约定的第二公钥,或用户公钥。
即当客户端使用选择的签名算法和约定的第二私钥签名认证响应消息时,校验模块使用约定的第二公钥进行校验;而在客户端使用选择的签名算法和用户私钥签名认证响应消息时,校验模块使用用户公钥进行校验。
在生成用户密钥对的过程中,应答模块还用于接收客户端发送的开通请求,向客户端发送携带挑战值的开通请求应答消息;校验模块还用于接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器保存用户公钥。
进一步地,应答模块还用于以约定的第一私钥对开通请求应答消息进行签名,以便客户端以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
进一步地,应答模块在接收客户端发送的认证请求后,还以约定的第一私钥对携带挑战值的认证请求应答消息进行签名后发送,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
以上实施例仅用以说明本申请的技术方案而非对其进行限制,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请所附的权利要求的保护范围。

Claims (20)

1.一种动态签名方法,应用于身份认证系统的客户端,所述身份认证系统还包括服务器端,其特征在于,所述动态签名方法包括:
向服务器端发送认证请求;
接收所述服务器端发送的认证请求应答消息,所述认证请求应答消息中携带有挑战值;
根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,以便服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法对认证响应消息进行校验。
2.根据权利要求1所述的动态签名方法,其特征在于,所述用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为约定的第二私钥,在服务器端保存有约定的第二公钥用于对签名的认证响应消息进行校验。
3.根据权利要求1所述的动态签名方法,其特征在于,所述用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为用户私钥,在服务器端保存有对应的用户公钥用于对签名的认证响应消息进行校验,所述动态签名方法还包括:
向服务器端发送开通请求,接收服务器端发送的携带挑战值的开通请求应答消息;
生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥;
根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。
4.根据权利要求3所述的动态签名方法,其特征在于,所述开通请求应答消息在服务器端以约定的第一私钥进行签名,所述动态签名方法在接收到开通请求应答消息后,还包括:
以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
5.根据权利要求2、3、4任一权利要求所述的动态签名方法,其特征在于,所述认证请求应答消息在服务器端以约定的第一私钥进行签名,所述动态签名方法在接收到认证请求应答消息后,还包括:
以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
6.一种动态签名方法,应用于身份认证系统的服务器端,所述身份认证系统还包括客户端,其特征在于,所述动态签名方法包括:
接收客户端发送的认证请求,向客户端发送携带挑战值的认证请求应答消息;
接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法进行签名的认证响应消息,同样根据挑战值选择签名算法校验认证响应消息的签名,如果校验通过,则认证通过,否则报错。
7.根据权利要求6所述的动态签名方法,其特征在于,所述根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为约定的第二公钥,对客户端使用选择的签名算法和约定的第二私钥签名的认证响应消息进行校验。
8.根据权利要求7所述的动态签名方法,其特征在于,所述根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为用户公钥,所述客户端用选择的签名算法对生成的认证响应消息进行签名,使用的密钥为对应的用户私钥,所述动态签名方法还包括:
接收客户端发送的开通请求,向客户端发送携带挑战值的开通请求应答消息;
接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器端保存用户公钥。
9.根据权利要求8所述的动态签名方法,其特征在于,所述动态签名方法还包括:
以约定的第一私钥对开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
10.根据权利要求7、8、9任一权利要求所述的动态签名方法,其特征在于,所述动态签名方法在接收客户端发送的认证请求后,还包括:
以约定的第一私钥对携带挑战值的认证请求应答消息进行签名后发送,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
11.一种客户端,应用于身份认证系统,所述身份认证系统还包括服务器端,其特征在于,所述客户端包括:
请求模块,用于向服务器端发送认证请求,并接收所述服务器端发送的认证请求应答消息,所述认证请求应答消息中携带有挑战值;
签名模块,用于根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法对生成的认证响应消息进行签名,向服务器端发送认证响应消息,以便服务器端在接收到所述认证响应消息后,同样根据所述挑战值选择签名算法对认证响应消息进行校验。
12.根据权利要求11所述的客户端,其特征在于,所述签名模块用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为约定的第二私钥,在服务器端保存有约定的第二公钥用于对签名的认证响应消息进行校验。
13.根据权利要求11所述的客户端,其特征在于,所述签名模块用选择的签名算法对生成的认证响应消息进行签名,其中进行签名时所使用的密钥为用户私钥,在服务器端保存有对应的用户公钥用于对签名的认证响应消息进行校验,所述请求模块还用于向服务器端发送开通请求,接收服务器端发送的携带挑战值的开通请求应答消息;所述签名模块还用于生成包括用户私钥和用户公钥的用户公私钥对,保存用户私钥,根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥对生成的开通响应消息进行签名后发送给服务器端,所述开通响应消息包括用户公钥,以便服务器端接收开通响应消息并使用约定第二公钥进行校验,在服务器端保存用户公钥。
14.根据权利要求13所述的客户端,其特征在于,所述开通请求应答消息在服务器端以约定的第一私钥进行签名,所述请求模块在接收到开通请求应答消息后,还用于以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
15.根据权利要求12、13、14任一权利要求所述的客户端,其特征在于,所述认证请求应答消息在服务器端以约定的第一私钥进行签名,所述请求模块在接收到认证请求应答消息后,还用于以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
16.一种服务器,应用于身份认证系统,所述身份认证系统还包括客户端,其特征在于,所述服务器包括:
应答模块,用于接收客户端发送的认证请求,向客户端发送携带挑战值的认证请求应答消息;
校验模块,用于接收客户端根据认证请求应答消息中的挑战值选择签名算法,并使用选择的签名算法进行签名的认证响应消息,同样根据挑战值选择签名算法校验认证响应消息的签名,如果校验通过,则认证通过,否则报错。
17.根据权利要求16所述的服务器,其特征在于,所述校验模块根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为约定的第二公钥,对客户端使用选择的签名算法和约定的第二私钥签名的认证响应消息进行校验。
18.根据权利要求16所述的服务器,其特征在于,所述校验模块根据挑战值选择签名算法校验认证响应消息的签名,其中校验所使用的密钥为用户公钥,所述客户端用选择的签名算法对生成的认证响应消息进行签名,使用的密钥为对应的用户私钥,所述应答模块还用于接收客户端发送的开通请求,向客户端发送携带挑战值的开通请求应答消息,所述校验模块还用于接收客户端根据开通请求应答消息中的挑战值选择签名算法,并使用选择的签名算法和约定的第二私钥签名的开通响应消息,所述开通响应消息包括用户公钥,同样根据挑战值选择签名算法,并使用第二公钥校验开通响应消息,在服务器保存用户公钥。
19.根据权利要求18所述的服务器,其特征在于,所述应答模块还用于以约定的第一私钥对开通请求应答消息进行签名,以便所述客户端以约定的第一公钥对接收的开通请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
20.根据权利要求17、18、19任一权利要求所述的服务器,其特征在于,所述应答模块在接收客户端发送的认证请求后,还以约定的第一私钥对携带挑战值的认证请求应答消息进行签名后发送,以便所述客户端以约定的第一公钥对接收的认证请求应答消息进行校验,如果校验通过才进行后续的响应,否则报错。
CN201510378307.XA 2015-07-01 2015-07-01 一种动态签名方法及应用该方法的客户端和服务器 Active CN106330838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510378307.XA CN106330838B (zh) 2015-07-01 2015-07-01 一种动态签名方法及应用该方法的客户端和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510378307.XA CN106330838B (zh) 2015-07-01 2015-07-01 一种动态签名方法及应用该方法的客户端和服务器

Publications (2)

Publication Number Publication Date
CN106330838A CN106330838A (zh) 2017-01-11
CN106330838B true CN106330838B (zh) 2019-11-05

Family

ID=57726454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510378307.XA Active CN106330838B (zh) 2015-07-01 2015-07-01 一种动态签名方法及应用该方法的客户端和服务器

Country Status (1)

Country Link
CN (1) CN106330838B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6910894B2 (ja) * 2017-09-01 2021-07-28 キヤノン株式会社 情報処理装置、制御方法、およびプログラム
CN108737438B (zh) * 2018-06-02 2022-02-11 桂林电子科技大学 防范暴库的身份认证方法
CN109104287A (zh) * 2018-07-27 2018-12-28 众安信息技术服务有限公司 在区块链中进行通信的方法和装置
CN110932858B (zh) * 2018-09-19 2023-05-02 阿里巴巴集团控股有限公司 认证方法和系统
CN109361681B (zh) * 2018-11-12 2021-10-15 北京天融信网络安全技术有限公司 国密证书认证方法、装置及设备
CN111988267B (zh) * 2019-05-24 2023-10-20 阿里巴巴集团控股有限公司 针对计算设备的认证方法及装置
EP3902012A4 (en) * 2020-02-29 2022-02-23 Huawei Technologies Co., Ltd. FAILURE DIAGNOSTIC METHOD AND APPARATUS, AND VEHICLE
CN111835523B (zh) * 2020-05-25 2023-05-30 北京齐尔布莱特科技有限公司 一种数据请求方法、系统及计算设备
CN111917557B (zh) * 2020-07-28 2023-05-26 中国平安财产保险股份有限公司 网络服务请求的安全验证方法、安全验证系统及存储介质
CN114069826A (zh) * 2021-10-30 2022-02-18 国网湖南省电力有限公司 一种备自投装置5g通讯安全校核方法、系统及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403742C (zh) * 2003-07-25 2008-07-16 华为技术有限公司 一种媒体网关与媒体网关控制器之间安全认证的方法
CN101577917A (zh) * 2009-06-16 2009-11-11 深圳市星龙基电子技术有限公司 一种安全的基于手机的动态密码验证方法
CN103326862B (zh) * 2013-06-20 2017-02-22 天地融科技股份有限公司 电子签名方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网页监控与恢复系统的设计与实现;赵君辉等;《北方交通大学学报》;20020215;正文第1.1节 *

Also Published As

Publication number Publication date
CN106330838A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106330838B (zh) 一种动态签名方法及应用该方法的客户端和服务器
US8209744B2 (en) Mobile device assisted secure computer network communication
US9118661B1 (en) Methods and apparatus for authenticating a user using multi-server one-time passcode verification
CN107295011B (zh) 网页的安全认证方法及装置
KR101486782B1 (ko) 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증
CN106330850A (zh) 一种基于生物特征的安全校验方法及客户端、服务器
CN106993201A (zh) 视频播放的权限校验方法及装置
CN107317791A (zh) 登录验证方法、登录请求方法和安全登录系统
CN103888938A (zh) 一种基于参数的动态生成密钥的pki私钥保护方法
CN106100848A (zh) 基于智能手机和用户口令的双因子身份认证系统及方法
CN111884811B (zh) 一种基于区块链的数据存证方法和数据存证平台
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
CN108418812A (zh) 一种基于可信执行环境的智能终端安全消息服务方法
Chen et al. Security analysis and improvement of user authentication framework for cloud computing
CN103560883A (zh) 一种基于用户权限的安卓应用程序间的安全性鉴定方法
CN110493162A (zh) 基于可穿戴设备的身份认证方法及系统
CN116112187B (zh) 一种远程证明方法、装置、设备及可读存储介质
CN105554008B (zh) 用户终端、认证服务器、中间服务器、系统和传送方法
CN109347887A (zh) 一种身份认证的方法及装置
CN108616350A (zh) 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
Amintoosi et al. TAMA: three-factor authentication for multi-server architecture
CN110866754A (zh) 一种基于动态口令的纯软件dpva身份认证方法
Peeters et al. n-auth: Mobile authentication done right
Nam et al. Security analysis of a nonce-based user authentication scheme using smart cards
CN114389903A (zh) 一种数字身份信息加密和认证方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right