CN112600831B - 一种网络客户端身份认证系统和方法 - Google Patents
一种网络客户端身份认证系统和方法 Download PDFInfo
- Publication number
- CN112600831B CN112600831B CN202011445735.7A CN202011445735A CN112600831B CN 112600831 B CN112600831 B CN 112600831B CN 202011445735 A CN202011445735 A CN 202011445735A CN 112600831 B CN112600831 B CN 112600831B
- Authority
- CN
- China
- Prior art keywords
- current
- electronic signature
- identity token
- client
- token
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
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)
- Storage Device Security (AREA)
Abstract
本申请涉及一种网络客户端身份认证系统和方法,属于通信技术领域,该系统包括:认证服务器接收到客户端发送的认证凭据后,若对认证凭据验证通过、且确定出认证凭据是第一次使用,则向客户端发送当前身份令牌、预设算法信息和令牌迭代周期;客户端在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名,当前电子签名与当前时间和认证凭据第一次被使用的时间有关;将当前电子签名和过期的身份令牌发送至认证服务器;认证服务器在当前电子签名和过期的身份令牌均正确时更新当前身份令牌;将更新后的当前身份令牌发送至客户端;可以解决身份认证过程安全性不高的问题;提高身份认证的安全性。
Description
技术领域
本申请涉及一种网络客户端身份认证系统和方法,属于通信技术领域。
背景技术
开放授权(Open Authorization,OAuth)是一个开放标准,允许用户使用第三方应用访问某一网站上的资源,而无需将用户名和密码提供给第三方应用。
OAuth的认证过程包括:客户端向认证服务器发送认证凭据,认证服务器对该认证凭据认证通过后向客户端身份令牌;相应地,客户端接收到该身份令牌后,将该身份令牌存储于硬盘或网络位置中,并使用该身份令牌访问其他服务器。
然而处于非信任区中的客户端中存储的认证凭据可能被恶意程序读取,此时,恶意程序通过此认证凭据连接认证服务器获取身份令牌可以达成攻击的目的,这就会导致身份认证过程不安全的问题。
另外身份令牌通常有一定的使用有效期和更新机制,此时对于超出使用有效期的身份令牌,客户端可以在更新有效期内使用原身份令牌向认证服务器获取新身份令牌,每次更新后的身份令牌与更新前的身份令牌不同。但是客户端可能在一段时间内出现网络故障,此时若身份令牌的更新有效期较短,可能导致在客户端的网络故障时长内无法更新身份令牌,客户端需要重新通过认证凭据来获取身份令牌;若身份令牌的更新有效期较长,可能导致身份令牌被破解,从而导致被攻击者执行更新并持续利用,导致身份认证过程不安全的问题。
发明内容
本申请提供了一种网络客户端身份认证系统和方法,可以解决现有的身份认证过程的安全性不高的问题。本申请提供如下技术方案:
第一方面,提供了一种网络客户端身份认证系统,所述系统包括:
客户端,用于向认证服务器发送认证凭据;
所述认证服务器,用于接收所述认证凭据;对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;在对所述认证凭据验证通过、且确定出所述认证凭据是第一次使用时,向所述客户端发送当前身份令牌、预设算法信息和令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期;所述预设算法信息用于指示生成电子签名的预设算法;所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关;且所述预设算法具有快速验证和容错性;
所述客户端还用于接收所述当前身份令牌、所述预设算法信息和所述令牌迭代周期;基于所述当前身份令牌从所述其它服务器获取对应的访问权限,在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器;
所述认证服务器还用于验证所述当前电子签名和所述过期的身份令牌是否正确;在所述当前电子签名和所述过期的身份令牌均正确时,更新所述当前身份令牌,将更新后的所述当前身份令牌发送至所述客户端;
所述客户端还用于接收更新后的所述当前身份令牌,再次执行所述基于所述当前身份令牌从所述其它服务器获取对应的访问权限;在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器的步骤。
可选地,所述认证服务器验证所述当前电子签名是否正确,包括:
所述认证服务器使用所述预设算法生成当前的模拟电子签名;
在所述当前电子签名与所述模拟电子签名一致时,所述认证服务器确定所述当前电子签名正确;
在所述当前电子签名与所述模拟电子签名不一致时,所述认证服务器确定所述当前电子签名错误。
可选地,所述预设算法为杂凑算法;所述客户端使用所述预设算法信息指示的预设算法生成当前电子签名,包括:
在第1次生成所述当前电子签名时,所述客户端使用所述杂凑算法对所述客户端第一次获取到的当前身份令牌进行签名,得到所述当前电子签名,存储所述当前电子签名;
在第n次生成所述当前电子签名时,所述客户端使用所述杂凑算法对第n-1次生成的当前电子签名进行签名,得到所述当前电子签名,存储所述当前电子签名,所述n为大于1的整数。
可选地,所述客户端基于所述当前身份令牌从所述其它服务器获取对应的访问权限,包括:
所述客户端,用于向所述其它服务器发送访问请求,所述访问请求携带有所述当前身份令牌和访问操作,以使所述其它服务器接收到所述访问请求后,将所述当前身份令牌和所述访问操作发送至所述认证服务器;
所述认证服务器,还用于接收所述其它服务器发送的所述当前身份令牌和所述访问操作,对所述当前身份令牌和所述访问操作进行验证;在对所述当前身份令牌和所述访问操作验证通过后,向所述其它服务器发送验证通过指示,以使所述其它服务器接收到所述验证通过指示后,将所述访问操作指示的资源发送至所述客户端。
可选地,所述认证服务器,还用于:
在接收到所述认证凭据之后,若确定出所述认证凭据不是第一次使用或者对所述认证凭据验证不通过,则对所述客户端的身份认证不通过,不向所述客户端发送所述当前身份令牌。
第二方面,提供了一种网络客户端身份认证方法,用于认证服务器中,所述方法包括:
接收客户端发送的认证凭据;
对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;
在对所述认证凭据验证通过且确定出所述认证凭据是第一次使用时,向所述客户端发送当前身份令牌、预设算法信息和令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期,所述预设算法信息用于指示生成电子签名的预设算法;所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关,且所述预设算法具有快速验证和容错性;
接收所述客户端在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时发送的当前电子签名和过期的身份令牌;所述当前电子签名是使用所述预设算法信息指示的预设算法生成的;
验证所述当前电子签名和所述过期的身份令牌是否正确;在所述当前电子签名和所述过期的身份令牌均正确时,更新所述当前身份令牌;将更新后的所述当前身份令牌发送至所述客户端。
可选地,所述方法还包括:
在接收到所述认证凭据之后,若确定出所述认证凭据不是第一次使用或者对所述认证凭据验证不通过,则对所述客户端的身份认证不通过,不向所述客户端发送所述当前身份令牌。
第三方面,提供了一种网络客户端身份认证方法,用于客户端中,所述方法包括:
向认证服务器发送认证凭据,以使所述认证服务器对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;在对所述认证凭据验证通过且确定出所述认证凭据是第一次使用时,所述认证服务器向所述客户端发送当前身份令牌、预设算法信息和令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期,所述预设算法信息用于指示生成电子签名的预设算法,所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关;且所述预设算法具有快速验证和容错性;
接收所述认证服务器发送的所述当前身份令牌、所述预设算法信息和所述令牌迭代周期;
基于所述当前身份令牌从所述其它服务器获取对应的访问权限;
在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名;
将所述当前电子签名和过期的身份令牌发送至所述认证服务器,以使所述认证服务器验证所述当前电子签名和所述过期的身份令牌是否正确;在所述当前电子签名和所述过期的身份令牌均正确时,所述认证服务器更新所述当前身份令牌,将更新后的所述当前身份令牌发送至所述客户端;
接收所述认证服务器发送的更新后的所述当前身份令牌,再次执行所述基于所述当前身份令牌从所述其它服务器获取对应的访问权限;在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器的步骤。
可选地,所述预设算法为杂凑算法,所述使用所述预设算法信息指示的预设算法生成当前电子签名,包括:
在第1次生成所述当前电子签名时,使用所述杂凑算法对所述客户端第一次获取到的当前身份令牌进行签名,得到所述当前电子签名,存储所述当前电子签名;
在第n次生成所述当前电子签名时,使用所述杂凑算法对第n-1次生成的当前电子签名进行签名,得到所述当前电子签名,存储所述当前电子签名,所述n为大于1的整数。
本申请的有益效果在于:通过认证服务器接收到客户端发送的认证凭据后;对认证凭据进行验证,并确定认证凭据是否为第一次使用;在对认证凭据验证通过、且确定出认证凭据是第一次使用时,向客户端发送当前身份令牌、预设算法信息和令牌迭代周期;可以解决由于每次身份令牌的获取过程都依赖认证凭据,导致在该认证凭据被窃取时,身份认证过程的安全性不高的问题;可以提高身份认证过程的安全性。
另外,通过客户端在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名,将当前电子签名和过期的身份令牌发送至认证服务器,认证服务器验证当前电子签名和过期的身份令牌是否正确,在当前电子签名和过期的身份令牌均正确时更新当前身份令牌,将更新后的当前身份令牌发送至客户端便可以解决由于身份令牌的更新时长较长,导致身份令牌被破解,身份认证过程的安全性不高的问题;也可以通过延长身份令牌的更新时长,提高身份认证过程的安全性。
即使身份令牌的更新时长较短,客户端在网络故障时长内未更新身份令牌,在网络故障恢复后客户端也可以使用过期的身份令牌和当前电子签名来获取身份令牌,而无需使用认证凭据获取即可提高身份认证过程的安全性。
另外,身份认证过程的改动只影响客户端和认证服务器,使用OAuth2等方式进行认证的其他业务服务器均无需任何修改,可以降低身份认证过程的修改难度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的网络客户端身份认证系统的结构示意图;
图2是本申请一个实施例提供的网络客户端身份认证方法的流程图;
图3是本申请另一个实施例提供的网络客户端身份认证方法的流程图;
图4是本申请另一个实施例提供的网络客户端身份认证方法的流程图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,对本申请涉及的若干名词进行介绍;
可信任区:拥有完善的监控安防系统,处于该区域内的计算机设备无法从物理层面被窃取网络数据和硬盘数据。
非信任区:与可信任区相反,处于该区域内的计算机设备可以从物理层面被窃取网络数据和硬盘数据,也可能遭受冒用身份等中间人攻击手段。
认证凭据:用于确认身份的信息,如:账号/密码,x509证书等。
身份令牌:一段用于指示具有某种或某些权限的电子签名,该电子签名有固定格式或者没有固定格式。
安全传输层协议(Transport Layer Security,TLS):一种用于保证在两个通信应用程序之间数据传递的保密性和完整性的协议。
杂凑(Hashing)算法:是把任意长的输入消息串变化成固定长的输出串的一种函数。杂凑算法包括但不限于:国密SM3算法、MD5等,本申请不对杂凑算法的类型作限定。
图1是本申请一个实施例提供的网络客户端身份认证系统的结构示意图,如图1所示,该系统至少包括:客户端110和认证服务器120。
客户端110与认证服务器120通信相连。
客户端110可以为安全的客户端110或者为恶意的客户端110,客户端110用于通过从认证服务器120中获取的身份令牌访问其它服务器。通过本申请的身份认证过程,对于安全的客户端110,认证服务器120会对该客户端110的认证通过;对于恶意的客户端110,认证服务器会对该客户端110的认证不通过。
本实施例中,客户端110在需要访问其它服务器时,用于向认证服务器120发送认证凭据。可选地,客户端110将认证凭据携带在认证请求中,将该认证请求发送至认证服务器120。
认证服务器120可以为单独的服务器主机;或者,为多台服务器主机构成的服务器集群。认证服务器120用于对客户端110的身份进行验证,并在对该客户端110的身份验证通过后,向该客户端110分发身份令牌,该身份令牌用于指示客户端110对其它服务器的访问权限。
本实施例中,认证服务器120,用于接收客户端110发送的认证凭据;对认证凭据进行验证,并确定认证凭据是否为第一次使用;在对认证凭据验证通过、且确定出认证凭据是第一次使用时,向客户端110发送当前身份令牌、预设算法信息和令牌迭代周期。
其中,当前身份令牌用于供客户端110从其它服务器获取对应的访问权限。令牌迭代周期用于指示当前身份令牌的有效期。预设算法信息用于指示生成电子签名的预设算法。预设算法和令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关;且预设算法具有快速验证和容错性。
其中,快速验证是指允许认证服务器120快速验证电子签名的正确性的性质;容错性是指即允许客户端110时间和认证服务器120时间之间有一定的偏差的性质。
认证服务器120,还用于:在接收到认证凭据之后,若确定出认证凭据不是第一次使用或者对认证凭据验证不通过,则对客户端110的身份认证不通过,不向客户端110发送当前身份令牌。
由于认证凭据仅在第一次使用时,认证服务器120才有可能对客户端110的身份认证通过,而在恶意客户端后续使用认证凭据进行身份认证时,由于此时已经不是第一次使用认证凭据,因此认证服务器120不会对该恶意客户端的身份认证通过,此时身份认证过程不再依赖认证凭据;可以解决由于每次身份令牌的获取过程都依赖认证凭据,导致在该认证凭据被窃取时,身份认证过程的安全性不高的问题;可以提高身份认证过程的安全性。
相应地,客户端110还用于接收当前身份令牌、预设算法信息和令牌迭代周期,基于当前身份令牌从其它服务器获取对应的访问权限;在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名,将当前电子签名和过期的身份令牌发送至认证服务器120。
认证服务器120,还用于验证当前电子签名和过期的身份令牌是否正确;在当前电子签名和过期的身份令牌均正确时,更新当前身份令牌,将更新后的当前身份令牌发送至客户端110;
客户端110,还用于接收更新后的当前身份令牌,再次执行基于当前身份令牌从其它服务器获取对应的访问权限;在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名,将当前电子签名和过期的身份令牌发送至认证服务器120的步骤。
需要补充说明的是,图1中仅以客户端110的数量为一个为例进行说明,在实际实现时,客户端的数量可以为多个。
由于后续的身份令牌的更新过程不仅需要对过期的身份令牌进行验证,还需要对当前电子签名进行验证,即使恶意客户端破解掉当前身份令牌,但由于恶意客户端未携带当前电子签名,因此无法从认证服务器120获取到更新后的身份令牌,进而后续无法使用更新后的身份令牌访问其它服务器;可以解决由于身份令牌的更新时长较长,导致身份令牌被破解,身份认证过程的安全性不高的问题;可以延长身份令牌的更新时长,且可以提高身份认证过程的安全性。
另外,即使身份令牌的更新时长较短,客户端在网络故障时长内未更新身份令牌,在网络故障恢复后,客户端也可以使用过期的身份令牌和当前电子签名来获取身份令牌,而无需使用认证凭据获取;可以解决由于身份令牌的更新时长较短,导致客户端再次使用认证凭据获取身份令牌时存在安全隐患的问题,可以提高身份认证过程的安全性。
可选地,预设算法为杂凑算法,客户端110使用预设算法信息指示的预设算法生成当前电子签名,包括:在第1次生成当前电子签名时,客户端110使用杂凑算法对客户端110第一次获取到的当前身份令牌进行签名,得到当前电子签名并且存储当前电子签名;在第n次生成当前电子签名时,客户端110使用杂凑算法对第n-1次生成的当前电子签名进行签名,得到当前电子签名,存储当前电子签名;n为大于1的整数。
在其它实施例中,在第1次生成当前电子签名时,客户端110也可以对其它电子签名进行签名,本实施例不对第一次签名时使用的电子签名作限定。
相应地,认证服务器120验证当前电子签名是否正确,包括:认证服务器120使用预设算法生成当前的模拟电子签名;在当前电子签名与模拟电子签名一致时,认证服务器120确定当前电子签名正确;在当前电子签名与模拟电子签名不一致时,认证服务器120确定当前电子签名错误。
需要补充说明的是,认证服务器120生成模拟电子签名的方式与客户端110生成当前电子签名的方式相同,认证服务器120生成模拟电子签名,包括:
在第1次生成模拟电子签名时,认证服务器120使用杂凑算法对认证服务器120第一次分配的当前身份令牌进行签名,得到模拟电子签名并存储模拟电子签名;在第n次生成模拟电子签名时,认证服务器120使用杂凑算法对第n-1次生成的模拟电子签名进行签名,得到模拟电子签名并存储模拟电子签名。
客户端110基于当前身份令牌从其它服务器获取对应的访问权限,包括:客户端110用于向其它服务器发送访问请求,访问请求携带有当前身份令牌和访问操作,使其它服务器接收到访问请求后,将当前身份令牌和访问操作发送至认证服务器120;认证服务器120还用于接收其它服务器发送的当前身份令牌和访问操作以及对当前身份令牌和访问操作进行验证;在对当前身份令牌和访问操作验证通过后,向其它服务器发送验证通过指示,以使其它服务器接收到验证通过指示后,将访问操作指示的资源发送至客户端110。
综上所述,本实施例提供的网络客户端身份认证系统,身份认证过程不再依赖认证凭据;可以解决由于每次身份令牌的获取过程都依赖认证凭据,导致在该认证凭据被窃取时,身份认证过程的安全性不高的问题;即便身份令牌的更新时长较短,客户端在网络故障时长内未更新身份令牌,在网络故障恢复后,客户端也可以使用过期的身份令牌和当前电子签名来获取身份令牌,而无需使用认证凭据获取,可以提高身份认证过程的安全性。
由于后续的身份令牌的更新过程不仅需要对过期的身份令牌进行验证,还需要对当前电子签名进行验证,因此即便恶意客户端破解掉当前身份令牌,但由于恶意客户端未携带当前电子签名,所以无法从认证服务器获取到更新后的身份令牌,进而后续无法使用更新后的身份令牌访问其它服务器;可以解决由于身份令牌的更新时长较长导致身份令牌被破解,身份认证过程的安全性不高的问题,同样可以延长身份令牌的更新时长,提高身份认证过程的安全性。
另外,身份认证过程的改动只影响客户端和认证服务器,使用OAuth2等方式进行认证的其他业务服务器均无需任何修改,可以降低身份认证过程的修改难度。
图2是本申请一个实施例提供的网络客户端身份认证方法的流程图,本实施例以该方法应用于图1所示的网络客户端身份认证系统中为例进行说明。该方法至少包括以下几个步骤:
步骤201,客户端向认证服务器发送认证凭据。
步骤202,认证服务器接收认证凭据,对认证凭据进行验证,并确定认证凭据是否为第一次使用。
步骤203,认证服务器在对认证凭据验证通过、且确定出认证凭据是第一次使用时,向客户端发送当前身份令牌、预设算法信息和令牌迭代周期。
当前身份令牌用于供客户端从其它服务器获取对应的访问权限,令牌迭代周期用于指示当前身份令牌的有效期;预设算法信息用于指示生成电子签名的预设算法。其中,预设算法和令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关;且预设算法具有快速验证和容错性。
在接收到认证凭据之后,若确定出认证凭据不是第一次使用或者对认证凭据验证不通过,则认证服务器对客户端的身份认证不通过,不向客户端发送当前身份令牌。
比如:参考图2,恶意客户端盗取到认证凭据之后,向认证服务器发送认证凭据;认证服务器对认证凭据验证通过,但是确定出该认证凭据不是第一次使用,因此,对该恶意客户端的身份认证不通过,向该恶意客户端发送认证失败通知。
步骤204,客户端接收当前身份令牌、预设算法信息和令牌迭代周期;基于当前身份令牌从其它服务器获取对应的访问权限。
参考图3,客户端基于当前身份令牌从其它服务器获取对应的访问权限,至少包括步骤31-35:
步骤31,客户端向其它服务器发送访问请求,访问请求携带有当前身份令牌和访问操作。
步骤32,其它服务器接收访问请求,将当前身份令牌和访问操作发送至认证服务器。
步骤33,认证服务器接收其它服务器发送的当前身份令牌和访问操作;对当前身份令牌和访问操作进行验证。
对当前身份令牌进行验证包括:验证当前身份令牌是否正确、以及验证当前身份令牌是否在有效期内;在当前身份令牌正确、且在有效期内时,确定对当前身份令牌验证通过;在当前身份令牌错误、或者当前身份令牌未在有效期内时,确定对当前身份令牌验证不通过。
对访问操作进行验证包括:验证当前身份令牌对应的访问权限是否允许执行该访问操作;在访问权限允许执行该访问操作时,确定对访问操作验证通过;在访问权限禁止执行该访问操作时,确定对访问操作验证不通过。
需要补充说明的是,认证服务器中存储有当前身份令牌、该当前身份令牌的有效期和该当前身份令牌对应的访问权限。
步骤34,认证服务器在对当前身份令牌和访问操作验证通过后,向其它服务器发送验证通过指示。
步骤35,其它服务器接收到验证通过指示后,将访问操作指示的资源发送至客户端。
步骤205,在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,客户端使用预设算法信息指示的预设算法生成当前电子签名。
比如:令牌迭代周期为半小时,则当前身份令牌每隔半小时更新一次,相应地,当前身份令牌的有效期为半小时。
可选地,客户端中设置有定时器,在接收到认证服务器发送的当前身份令牌后,客户端启动该定时器,该定时器的定时时长为令牌迭代周期;在当前时长达到定时时长时,客户端使用预设算法信息指示的预设算法生成当前电子签名。
在一个示例中,预设算法为杂凑算法;客户端使用预设算法信息指示的预设算法生成当前电子签名,包括:在第1次生成当前电子签名时,客户端使用杂凑算法对客户端第一次获取到的当前身份令牌进行签名,得到当前电子签名;存储当前电子签名;在第n次生成当前电子签名时,客户端使用杂凑算法对第n-1次生成的当前电子签名进行签名,得到当前电子签名并存储当前电子签名;n为大于1的整数。
步骤206,客户端将当前电子签名和过期的身份令牌发送至认证服务器。
步骤207,认证服务器接收当前电子签名和过期的身份令牌,验证当前电子签名和过期的身份令牌是否正确。
认证服务器验证当前电子签名是否正确包括:使用预设算法生成当前的模拟电子签名;在当前电子签名与模拟电子签名一致时,确定当前电子签名正确;在当前电子签名与模拟电子签名不一致时,确定当前电子签名错误。
其中,认证服务器生成模拟电子签名的方式与客户端生成当前电子签名的方式相同。
步骤208,认证服务器在当前电子签名和过期的身份令牌均正确时,更新当前身份令牌;将更新后的当前身份令牌发送至客户端。
更新后的当前身份令牌与过期的身份令牌不同。
步骤209,客户端接收更新后的当前身份令牌,再次执行基于当前身份令牌从其它服务器获取对应的访问权限;在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名,将当前电子签名和过期的身份令牌发送至认证服务器的步骤。
为了更清楚地理解本申请中客户端的身份认证逻辑,参考图4,下面对客户端的执行过程进行详细说明,客户端的身份认证过程至少包括步骤41-47:
步骤41,向认证服务器发送一次性的认证凭据,以获取认证服务器发送的当前身份令牌、预设算法信息和令牌迭代周期,分别执行步骤42和44;
步骤42,客户端检测当前身份令牌是否过期;若是,则执行步骤46;若否,则执行步骤43;
步骤43,使用当前身份令牌访问其它服务器,执行步骤42;
步骤44,使用杂凑算法信息对当前身份令牌生成当前电子签名,记为变量t;
步骤45,在当前定时时长达到令牌迭代周期时,使用杂凑算法对上次存储的变量t生成当前电子签名,覆盖上次存储的变量t,再次执行本步骤;
步骤46,将过期的身份令牌和当前存储的变量t发送至认证服务器认证;
步骤47,接收认证服务器对过期的身份令牌和变量t验证通过后发送的更新后的当前身份令牌,执行步骤42。
综上所述,本实施例提供的网络客户端身份认证方法,通过认证服务器接收到客户端发送的认证凭据后;对认证凭据进行验证,并确定认证凭据是否为第一次使用;在对认证凭据验证通过、且确定出认证凭据是第一次使用时,向客户端发送当前身份令牌、预设算法信息和令牌迭代周期;可以解决由于每次身份令牌的获取过程都依赖认证凭据,导致在该认证凭据被窃取时,身份认证过程的安全性不高的问题,可以提高身份认证过程的安全性。
通过客户端在当前身份令牌的使用时长达到令牌迭代周期指示的有效期时,使用预设算法信息指示的预设算法生成当前电子签名;将当前电子签名和过期的身份令牌发送至认证服务器,认证服务器验证当前电子签名和过期的身份令牌是否正确:在当前电子签名和过期的身份令牌均正确时,更新当前身份令牌,将更新后的当前身份令牌发送至客户端可以解决由于身份令牌的更新时长较长,导致身份令牌被破解,身份认证过程的安全性不高的问题,也可以延长身份令牌的更新时长提高身份认证过程的安全性。
如身份令牌的更新时长较短,客户端在网络故障时长内未更新身份令牌,在网络故障恢复后,客户端也可以使用过期的身份令牌和当前电子签名来获取身份令牌,而无需使用认证凭据获取;可以提高身份认证过程的安全性。
身份认证过程的改动只影响客户端和认证服务器,使用OAuth2等方式进行认证的其他业务服务器均无需任何修改,可以降低身份认证过程的修改难度。
可选地,步骤201、204-206和209可单独实现为客户端侧的方法实施例;步骤202、203、207和208可单独实现为认证服务器侧的方法实施例。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的网络客户端身份认证方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的网络客户端身份认证方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种网络客户端身份认证系统,其特征在于,所述系统包括:
客户端:用于向认证服务器发送认证凭据;
所述认证服务器:用于接收所述认证凭据,对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;在对所述认证凭据验证通过、且确定出所述认证凭据是第一次使用时,向所述客户端发送当前身份令牌、预设算法信息和令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期,所述预设算法信息用于指示生成电子签名的预设算法,所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关,且所述预设算法具有快速验证和容错性;
所述客户端:用于接收所述当前身份令牌、所述预设算法信息和所述令牌迭代周期;基于所述当前身份令牌从所述其它服务器获取对应的访问权限,在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器;
所述认证服务器:用于验证所述当前电子签名和所述过期的身份令牌是否正确;在所述当前电子签名和所述过期的身份令牌均正确时,更新所述当前身份令牌,将更新后的所述当前身份令牌发送至所述客户端;
所述客户端:用于接收更新后的所述当前身份令牌,再次执行所述基于所述当前身份令牌从所述其它服务器获取对应的访问权限;在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器的步骤;
所述预设算法为杂凑算法,所述客户端使用所述预设算法信息指示的预设算法生成当前电子签名,包括:
在第1次生成所述当前电子签名时,所述客户端使用所述杂凑算法对所述客户端第一次获取到的当前身份令牌进行签名,得到所述当前电子签名,存储所述当前电子签名;
在第n次生成所述当前电子签名时,所述客户端使用所述杂凑算法对第n-1次生成的当前电子签名进行签名,得到所述当前电子签名,存储所述当前电子签名,所述n为大于1的整数。
2.根据权利要求1所述的系统,其特征在于所述认证服务器验证所述当前电子签名是否正确,包括:
所述认证服务器使用所述预设算法生成当前的模拟电子签名;
在所述当前电子签名与所述模拟电子签名一致时,所述认证服务器确定所述当前电子签名正确;
在所述当前电子签名与所述模拟电子签名不一致时,所述认证服务器确定所述当前电子签名错误。
3.根据权利要求1所述的系统,其特征在于所述客户端基于所述当前身份令牌从所述其它服务器获取对应的访问权限,包括:
所述客户端用于向所述其它服务器发送访问请求,所述访问请求携带有所述当前身份令牌和访问操作,以使所述其它服务器接收到所述访问请求后,将所述当前身份令牌和所述访问操作发送至所述认证服务器;
所述认证服务器用于接收所述其它服务器发送的所述当前身份令牌和所述访问操作,以及对所述当前身份令牌和所述访问操作进行验证;在对所述当前身份令牌和所述访问操作验证通过后,向所述其它服务器发送验证通过指示,使所述其它服务器接收到所述验证通过指示后将所述访问操作指示的资源发送至所述客户端。
4.根据权利要求1所述的系统,其特征在于所述认证服务器,还用于:
在接收到所述认证凭据之后,若确定出所述认证凭据不是第一次使用或者对所述认证凭据验证不通过,则对所述客户端的身份认证不通过,不向所述客户端发送所述当前身份令牌。
5.一种网络客户端身份认证方法;其特征在于用于认证服务器中,所述方法包括:
接收客户端发送的认证凭据;
对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;
在对所述认证凭据验证通过且确定出所述认证凭据是第一次使用时,向所述客户端发送当前身份令牌预设算法信息和令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期;所述预设算法信息用于指示生成电子签名的预设算法,所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关;且所述预设算法具有快速验证和容错性;
接收所述客户端在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时发送的当前电子签名和过期的身份令牌,所述当前电子签名是使用所述预设算法信息指示的预设算法生成的;所述预设算法为杂凑算法,所述客户端使用所述预设算法信息指示的预设算法生成当前电子签名,包括:在第1次生成所述当前电子签名时,所述客户端使用所述杂凑算法对所述客户端第一次获取到的当前身份令牌进行签名,得到所述当前电子签名,存储所述当前电子签名;在第n次生成所述当前电子签名时,所述客户端使用所述杂凑算法对第n-1次生成的当前电子签名进行签名,得到所述当前电子签名,存储所述当前电子签名,所述n为大于1的整数;
验证所述当前电子签名和所述过期的身份令牌是否正确:在所述当前电子签名和所述过期的身份令牌均正确时,更新所述当前身份令牌,将更新后的所述当前身份令牌发送至所述客户端。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到所述认证凭据之后,若确定出所述认证凭据不是第一次使用或者对所述认证凭据验证不通过,则对所述客户端的身份认证不通过,不向所述客户端发送所述当前身份令牌。
7.一种网络客户端身份认证方法,其特征在于用于客户端中,所述方法包括:
向认证服务器发送认证凭据,以使所述认证服务器对所述认证凭据进行验证,并确定所述认证凭据是否为第一次使用;在对所述认证凭据验证通过且确定出所述认证凭据是第一次使用时,所述认证服务器向所述客户端发送当前身份令牌、预设算法信息、令牌迭代周期;所述当前身份令牌用于供所述客户端从其它服务器获取对应的访问权限,所述令牌迭代周期用于指示所述当前身份令牌的有效期,所述预设算法信息用于指示生成电子签名的预设算法;所述预设算法和所述令牌迭代周期结合生成的电子签名与当前时间和认证凭据第一次被使用的时间有关,且所述预设算法具有快速验证和容错性;
接收所述认证服务器发送的所述当前身份令牌、所述预设算法信息、所述令牌迭代周期;
基于所述当前身份令牌从所述其它服务器获取对应的访问权限;
在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名;
将所述当前电子签名和过期的身份令牌发送至所述认证服务器,以使所述认证服务器验证所述当前电子签名和所述过期的身份令牌是否正确;在所述当前电子签名和所述过期的身份令牌均正确时,所述认证服务器更新所述当前身份令牌,将更新后的所述当前身份令牌发送至所述客户端;
接收所述认证服务器发送的更新后的所述当前身份令牌,再次执行所述基于所述当前身份令牌从所述其它服务器获取对应的访问权限;在所述当前身份令牌的使用时长达到所述令牌迭代周期指示的有效期时,使用所述预设算法信息指示的预设算法生成当前电子签名,将所述当前电子签名和过期的身份令牌发送至所述认证服务器的步骤;
所述预设算法为杂凑算法,所述使用所述预设算法信息指示的预设算法生成当前电子签名,包括:
在第1次生成所述当前电子签名时,使用所述杂凑算法对所述客户端第一次获取到的当前身份令牌进行签名,得到所述当前电子签名,存储所述当前电子签名;
在第n次生成所述当前电子签名时,使用所述杂凑算法对第n-1次生成的当前电子签名进行签名,得到所述当前电子签名,存储所述当前电子签名,所述n为大于1的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011445735.7A CN112600831B (zh) | 2020-12-11 | 2020-12-11 | 一种网络客户端身份认证系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011445735.7A CN112600831B (zh) | 2020-12-11 | 2020-12-11 | 一种网络客户端身份认证系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112600831A CN112600831A (zh) | 2021-04-02 |
CN112600831B true CN112600831B (zh) | 2022-09-23 |
Family
ID=75192298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011445735.7A Active CN112600831B (zh) | 2020-12-11 | 2020-12-11 | 一种网络客户端身份认证系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600831B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629721A (zh) * | 2022-04-18 | 2022-06-14 | 欧普照明股份有限公司 | 网络服务权限的获取方法及授权码的发送方法 |
CN114900344A (zh) * | 2022-04-26 | 2022-08-12 | 四川智能建造科技股份有限公司 | 一种身份认证方法、系统、终端及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365483B (zh) * | 2018-04-11 | 2022-06-14 | 中国移动通信集团广东有限公司 | 云平台认证方法、客户端、中间件及系统 |
CN110691087B (zh) * | 2019-09-29 | 2022-03-01 | 北京搜狐新媒体信息技术有限公司 | 一种访问控制方法、装置、服务器及存储介质 |
CN111212095B (zh) * | 2020-04-20 | 2020-07-21 | 国网电子商务有限公司 | 一种身份信息的认证方法、服务器、客户端及系统 |
-
2020
- 2020-12-11 CN CN202011445735.7A patent/CN112600831B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112600831A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088889B (zh) | 一种ssl加解密方法、系统及计算机可读存储介质 | |
US7793340B2 (en) | Cryptographic binding of authentication schemes | |
CN106612180B (zh) | 实现会话标识同步的方法及装置 | |
US9634841B2 (en) | Computer implemented method and a computer system to prevent security problems in the use of digital certificates in code signing and a computer program product thereof | |
US20240073003A1 (en) | Method of data transfer, a method of controlling use of data and cryptographic device | |
US11196722B2 (en) | Method for mutual symmetric authentication between a first application and a second application | |
CN102201915B (zh) | 一种基于单点登录的终端认证方法和装置 | |
US10333930B2 (en) | System and method for transparent multi-factor authentication and security posture checking | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
US20150143545A1 (en) | Function for the Challenge Derivation for Protecting Components in a Challenge-Response Authentication Protocol | |
CN108696356B (zh) | 一种基于区块链的数字证书删除方法、装置及系统 | |
CN109831311B (zh) | 一种服务器验证方法、系统、用户终端及可读存储介质 | |
CN105872848B (zh) | 一种适用于非对称资源环境的可信双向认证方法 | |
CN112600831B (zh) | 一种网络客户端身份认证系统和方法 | |
CN115277168A (zh) | 一种访问服务器的方法以及装置、系统 | |
Larsen et al. | Direct anonymous attestation on the road: Efficient and privacy-preserving revocation in c-its | |
CN111314269B (zh) | 一种地址自动分配协议安全认证方法及设备 | |
US11296878B2 (en) | Private key updating | |
CN110830507B (zh) | 资源访问方法、装置、电子设备及系统 | |
CN112261103A (zh) | 一种节点接入方法及相关设备 | |
CN112738005A (zh) | 访问处理方法、装置、系统、第一认证服务器及存储介质 | |
JP6364957B2 (ja) | 情報処理システム、情報処理方法、及びプログラム | |
KR102162108B1 (ko) | Nfv 환경을 위한 lw_pki 시스템 및 그 시스템을 이용한 통신방법. | |
MM | METHOD TO PROVIDE SECURE AND RELIABLE MFA AND SSO USING HYPER LEDGER | |
US20220173910A1 (en) | Remote commands |
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 |