CN105282105A - 集群系统的分布式安全认证方法、装置及系统 - Google Patents
集群系统的分布式安全认证方法、装置及系统 Download PDFInfo
- Publication number
- CN105282105A CN105282105A CN201410314675.3A CN201410314675A CN105282105A CN 105282105 A CN105282105 A CN 105282105A CN 201410314675 A CN201410314675 A CN 201410314675A CN 105282105 A CN105282105 A CN 105282105A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- auc
- authentication
- information
- 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.)
- Withdrawn
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种集群系统的分布式安全认证方法、装置及系统,其方法包括:当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。本发明通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量;客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。
Description
技术领域
本发明涉及大数据应用平台的安全认证领域,尤其涉及一种集群系统的分布式安全认证方法、装置及系统。
背景技术
随着通信网络技术的发展,大数据成为IT界的又一技术革命。Hadoop作为当下最为流行的大数据集群实现平台,提供一种大数据的实现框架,使得巨大数据处理更为方便可行。在Hadoop1.0.0版本后,引入了Kerberos认证机制,使得系统安全得以保证。
但是,目前,Kerberos的机制对客户端和服务端、IP地址等都不信任,认为除了KDC(KeyDistributionCenter)服务器以外一切都存在着危险,所以流程和算法都很复杂,客户端、服务端乃至KDC都要承担相当数量的逻辑运算,性能压力巨大。而且在现有的集群系统中,如Hadoop系统,对KDC有严重的依赖性,在启用了KDC的情况下,一旦KDC出现故障,整个Hadoop系统将处于崩溃状态。
发明内容
本发明的主要目的在于提供一种集群系统的分布式安全认证方法、装置及系统,旨在提高集群系统的可靠性、稳定性以及吞吐量。
为了达到上述目的,本发明提出一种集群系统的分布式安全认证方法,包括:
当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
优选地,该方法还包括:
当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
优选地,所述获取鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证的步骤包括:
判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据,若是,则
从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
优选地,所述判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据的步骤之后还包括:
当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
优选地,所述获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权的步骤包括:
判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据,若是,则
从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
优选地,所述判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据的步骤之后还包括:
当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
优选地,该方法还包括:
当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
本发明实施例还提出一种集群系统的分布式安全认证装置,包括:
监测模块,用于当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
接入认证模块,用于当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
优选地,所述接入认证模块,还用于当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
优选地,所述接入认证模块包括:
判断单元,用于判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据;
获取单元,用于当本地保存有鉴权中心为客户端生成的客户端鉴权数据时,从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
发送单元,用于将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
接收单元,用于接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
比较鉴权单元,用于将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
优选地,所述获取单元,还用于当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
优选地,所述判断单元,还用于判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据;
所述获取单元,还用于当本地保存有鉴权中心为服务器生成的服务器鉴权数据时,从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
所述发送单元,还用于将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
所述接收单元,还用于接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
所述比较鉴权单元,还用于将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
优选地,所述获取单元,还用于当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
优选地,该装置还包括:
检查模块,用于当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
本发明实施例还提出一种集群系统,包括:服务器,以及分别与所述服务器通信连接的客户端和鉴权中心,其中:
所述服务器包括如上所述的装置;
所述客户端,用于向所述服务器发送接入请求信息,接收所述服务器发送的鉴权数据中的客户端鉴权随机信息,对该信息进行加密反馈给服务器,以及接收服务器发送的鉴权认证结果;
所述鉴权中心,用于为所述客户端和服务器生成鉴权数据。
本发明实施例提出的一种集群系统的分布式安全认证方法、装置及系统,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。克服了现有技术中存在的节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷。
附图说明
图1是本发明集群系统的分布式安全认证方法一实施例的流程示意图;
图2是本发明集群系统的分布式安全认证方法另一实施例的流程示意图;
图3是本发明集群系统的分布式安全认证方法再一实施例的流程示意图;
图4是本发明集群系统的分布式安全认证方法的一种实例的流程示意图;
图5是本发明集群系统的分布式安全认证装置一实施例的结构示意图;
图6是本发明集群系统的分布式安全认证装置实施例中接入认证模块的结构示意图;
图7是本发明集群系统的分布式安全认证装置另一实施例的结构示意图;
图8是本发明集群系统较佳实施例的架构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;当监测到鉴权中心处于正常运行状态时,获取鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证;当监测到鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。由此,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生。
如图1所示,本发明一实施例提出一种集群系统的分布式安全认证方法,包括:
步骤S101,当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
本实施例方法涉及集群系统中客户端(Client)接入服务器(Server)的安全认证。在现有集群系统中建立鉴权中心(AuthenticationCenter,AC),该方案可以在服务器上执行,也可以在鉴权中心执行,还可以在集群系统中其它设备上执行。
其中,AC对Client屏蔽,只针对Server开放,AC与Server保持物理连接,Server监视AC的运行状态,保证能够在AC无法正常运行的情况下得以逃生,Client与Server的密钥分别放在不同的AC上保证安全性(也可以合一存放),使系统获得更高的安全性。
由于现有的集群系统中存在节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷,本实施例方案通过监视鉴权中心的运行状态,可以保证在鉴权中心无法正常运行的情况下得以逃生,极大的提升集群系统各个节点的运算性能和稳定性,提高集群系统的吞吐量。
具体地,系统通过某种机制(心跳、握手等机制)实时监测鉴权中心的运行状态,或者鉴权中心向系统实时或定期上报自己的运行状态。然后系统根据鉴权中心的运行状态来控制客户端的接入访问。
当客户端请求接入服务器时,接收客户端发来的接入请求信息,该接入请求信息包括客户端ID。同时,系统判断当前鉴权中心的运行状态,当监测到鉴权中心处于正常运行状态时,开启接入认证流程,对客户端进行接入认证,当监测到鉴权中心处于异常运行状态时,关闭接入认证流程,可以采用应急机制控制客户端的接入,比如让部分(VIP)或全部用户接入,或者拒绝全部用户接入,等等。
步骤S102,当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
当系统监测到鉴权中心处于正常运行状态时,通过鉴权数据对客户端进行接入鉴权认证,具体过程如下:
首先,系统判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据,若本地保存有鉴权中心为客户端生成的客户端鉴权数据,则从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
然后,将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端,由客户端对客户端鉴权随机信息进行加密,生成客户端鉴权验证信息。
系统接收到客户端对客户端鉴权随机信息加密后生成的客户端鉴权验证信息后,将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,继续对服务器进行鉴权,同时将鉴权结果反馈给客户端。若经比较,客户端鉴权验证信息与本地保存的客户端鉴权认证信息不一致,则拒绝客户端的访问。
其中,对服务器进行鉴权是为了验证服务器的合法性。本实施例对服务器进行鉴权的过程如下:
首先,判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据,若本地保存有鉴权中心为服务器生成的服务器鉴权数据,则从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
然后,将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;由服务器对服务器鉴权随机信息进行加密,生成服务器鉴权验证信息。
当接收到服务器对所述服务器鉴权随机信息进行加密后生成的服务器鉴权验证信息后,将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将客户端接入服务器。同时将鉴权结果反馈给客户端。若经比较,服务器鉴权验证信息与本地保存的服务器鉴权认证信息不一致,则拒绝客户端的访问。
上述实施过程中,当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
其中,鉴权中心生成多组鉴权数据,可以减少系统向鉴权中心请求获取相关鉴权数据的次数,减少与鉴权中心的交互,提高系统性能和效率。
需要说明的是,客户端和服务器的鉴权数据可以放在同一鉴权中心,也可以分别放在不同的鉴权中心,使系统可以获得更高的安全性。
还需要说明的是,在其它实施例中,还可以默认服务器合法,而无需对服务器进行鉴权。
本实施例通过上述方案,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。
如图2所示,本发明另一实施例提出一种集群系统的分布式安全认证方法,在上述图1所示的实施例的基础上,在上述步骤S101之后,还包括:
步骤S103,当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
本实施例与上述图1所示的第一实施例的区别在于,本实施例还包括鉴权中心处于异常运行状态时的处理方案。
具体地,系统预先设置有鉴权中心处于异常运行状态时的应急机制。当系统监测到鉴权中心处于异常运行状态时,启用该应急机制,停止对客户端及服务器的鉴权认证流程,并按照设定的方案,放行/拒绝用户接入,这样可在鉴权中心处于异常运行状态的情况下,保证全部用户/部分用户(如VIP)的正常使用。
本实施例通过上述方案,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。克服了现有技术中存在的节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷。
如图3所示,本发明再一实施例提出一种集群系统的分布式安全认证方法,在上述图2所示的实施例的基础上,在上述步骤S102之后,还包括:
步骤S104,当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
本实施例与上述图2所示的第一实施例的区别在于,本实施例还包括客户端接入鉴权认证通过后的处理方案。
当客户端接入鉴权认证通过后,允许客户端接入访问,之后检查客户端的操作权限。
下面以服务器执行本实施例方法为例,对客户端接入鉴权认证过程进行详细阐述。
其中,客户端(Client)和服务器(Server)分别由不同的鉴权中心AC_C、AC_S提供鉴权数据,如图4所示,具体过程如下:
步骤1:Client接入Server,接入信息中携带自身的ClientID;
步骤2:Server检查自己是否保存有该Client的鉴权信息,如果有,则跳过步骤3和4,直接跳至步骤5,否则,Server为客户端向AC_C请求鉴权信息;
步骤3:AC_C为Client生成鉴权数据,以三个鉴权数组为例,每个数组中包含Rand_c(本实施例所称客户端鉴权随机信息)和Auth_c(本实施例所称客户端鉴权认证信息);
步骤4:AC_C将鉴权数据返回Server;
步骤5:Server使用其中一组数据,以将其中的Rand_c发送给Client,其他组保存;
步骤6:Server将某一组数据中的Rand_c发给Client;
步骤7:Client用自己的密钥key_c加密Rand_c,得到Auth_c;
步骤8:Client将Auth_c信息发给Server;
步骤9:Server将客户端的Auth_c与步骤5中使用的那组数据中的Auth_c做比较,相同的话将继续认证Server,否则将拒绝Client的访问,直接执行步骤15;
步骤10:Server检查自己是否保存有自己的的鉴权信息,有的话直接跳过步骤11和12,直接跳至步骤13,否则Server为自己向AC_S请求鉴权数据;
步骤11:AC_S为Server生成三组鉴权,每组数据包含Rand_s(本实施例所称服务器鉴权随机信息)和Auth_s(本实施例所称服务器鉴权认证信息);
步骤12:AC_S将鉴权数据发送给Server;
步骤13:Server使用其中一组数据,并用自己的key_s加密Rand_s,与该组数据中的Auth_s做比较,相同的话继续检查Client的操作权限,否则直接执行步骤15;
步骤14:检查Client的操作权限;
步骤15:Server将结果发送至Client。
相比现有技术,本实施例具有如下有益效果:
1、避免了复杂的运算和繁复的逻辑,提高了集群内节点的性能;
2、在认证过程中,一旦认证Client/Server失败,认证终止,不再继续其它任何流程,节省了交互,提高了认证效率;
3、AC_C/AC_S一次性返回若干组鉴权数据,Server不必每次都去请求鉴权,减少了Server和AC的交互;
4、对外屏蔽了比较敏感的鉴权中心AC,安全指数提高;
5、分布式部署AC,风险分担;
6、AC独立Client部署,Server监视其状态,在AC无法正常运行的情况下,保证系统逃生,提升了集群系统稳定性和安全性。
如图5所示,本发明一实施例提出一种集群系统的分布式安全认证装置,包括:监测模块201和接入认证模块202,其中:
监测模块201,用于当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
接入认证模块202,用于当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
本实施例方案涉及集群系统中客户端(Client)接入服务器(Server)的安全认证。在现有集群系统中建立鉴权中心(AuthenticationCenter,AC),该方案可以在服务器上执行,也可以在鉴权中心执行,还可以在集群系统中其它设备上执行。
其中,AC对Client屏蔽,只针对Server开放,AC与Server保持物理连接,Server监视AC的运行状态,保证能够在AC无法正常运行的情况下得以逃生,Client与Server的密钥分别放在不同的AC上保证安全性(也可以合一存放),使系统获得更高的安全性。
由于现有的集群系统中存在节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷,本实施例方案通过监视鉴权中心的运行状态,可以保证在鉴权中心无法正常运行的情况下得以逃生,极大的提升集群系统各个节点的运算性能和稳定性,提高集群系统的吞吐量。
具体地,系统通过某种机制(心跳、握手等机制)实时监测鉴权中心的运行状态,或者鉴权中心向系统实时或定期上报自己的运行状态。然后系统根据鉴权中心的运行状态来控制客户端的接入访问。
当客户端请求接入服务器时,接收客户端发来的接入请求信息,该接入请求信息包括客户端ID。同时,系统判断当前鉴权中心的运行状态,当监测到鉴权中心处于正常运行状态时,开启接入认证流程,对客户端进行接入认证,当监测到鉴权中心处于异常运行状态时,关闭接入认证流程,可以采用应急机制控制客户端的接入,比如让部分(VIP)或全部用户接入,或者拒绝全部用户接入,等等。
具体地,如图6所示,所述接入认证模块202包括:判断单元2021、获取单元2022、发送单元2023、接收单元2024及比较鉴权单元2025,其中:
判断单元2021,用于判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据;
获取单元2022,用于当本地保存有鉴权中心为客户端生成的客户端鉴权数据时,从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
发送单元2023,用于将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
接收单元2024,用于接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
比较鉴权单元2025,用于将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
进一步地,所述获取单元2022,还用于当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
所述判断单元2021,还用于判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据;
所述获取单元2022,还用于当本地保存有鉴权中心为服务器生成的服务器鉴权数据时,从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
所述发送单元2023,还用于将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
所述接收单元2024,还用于接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
所述比较鉴权单元2025,还用于将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
进一步地,所述获取单元2022,还用于当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
更为具体地,当系统监测到鉴权中心处于正常运行状态时,通过鉴权数据对客户端进行接入鉴权认证,具体过程如下:
首先,系统判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据,若本地保存有鉴权中心为客户端生成的客户端鉴权数据,则从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
然后,将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端,由客户端对客户端鉴权随机信息进行加密,生成客户端鉴权验证信息。
系统接收到客户端对客户端鉴权随机信息加密后生成的客户端鉴权验证信息后,将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,继续对服务器进行鉴权,同时将鉴权结果反馈给客户端。若经比较,客户端鉴权验证信息与本地保存的客户端鉴权认证信息不一致,则拒绝客户端的访问。
其中,对服务器进行鉴权是为了验证服务器的合法性。本实施例对服务器进行鉴权的过程如下:
首先,判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据,若本地保存有鉴权中心为服务器生成的服务器鉴权数据,则从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
然后,将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;由服务器对服务器鉴权随机信息进行加密,生成服务器鉴权验证信息。
当接收到服务器对所述服务器鉴权随机信息进行加密后生成的服务器鉴权验证信息后,将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将客户端接入服务器。同时将鉴权结果反馈给客户端。若经比较,服务器鉴权验证信息与本地保存的服务器鉴权认证信息不一致,则拒绝客户端的访问。
上述实施过程中,当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
其中,鉴权中心生成多组鉴权数据,可以减少系统向鉴权中心请求获取相关鉴权数据的次数,减少与鉴权中心的交互,提高系统性能和效率。
需要说明的是,客户端和服务器的鉴权数据可以放在同一鉴权中心,也可以分别放在不同的鉴权中心,使系统可以获得更高的安全性。
还需要说明的是,在其它实施例中,还可以默认服务器合法,而无需对服务器进行鉴权。
本实施例通过上述方案,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。
进一步地,所述接入认证模块202,还用于当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
具体地,系统预先设置有鉴权中心处于异常运行状态时的应急机制。当系统监测到鉴权中心处于异常运行状态时,启用该应急机制,停止对客户端及服务器的鉴权认证流程,并按照设定的方案,放行/拒绝用户接入,这样可在鉴权中心处于异常运行状态的情况下,保证全部用户/部分用户(如VIP)的正常使用。
本实施例通过上述方案,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。克服了现有技术中存在的节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷。
如图7所示,本发明另一实施例提出一种集群系统的分布式安全认证装置,在上述图5所示的实施例的基础上,还包括:
检查模块203,用于当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
本实施例与上述图5所示的第一实施例的区别在于,本实施例还包括客户端接入鉴权认证通过后的处理方案。
当客户端接入鉴权认证通过后,允许客户端接入访问,之后检查客户端的操作权限。
下面以服务器执行本实施例方法为例,对客户端接入鉴权认证过程进行详细阐述。
其中,客户端(Client)和服务器(Server)分别由不同的鉴权中心AC_C、AC_S提供鉴权数据,如图4所示,具体过程如下:
步骤1:Client接入Server,接入信息中携带自身的ClientID;
步骤2:Server检查自己是否保存有该Client的鉴权信息,如果有,则跳过步骤3和4,直接跳至步骤5,否则,Server为客户端向AC_C请求鉴权信息;
步骤3:AC_C为Client生成鉴权数据,以三个鉴权数组为例,每个数组中包含Rand_c(本实施例所称客户端鉴权随机信息)和Auth_c(本实施例所称客户端鉴权认证信息);
步骤4:AC_C将鉴权数据返回Server;
步骤5:Server使用其中一组数据,以将其中的Rand_c发送给Client,其他组保存;
步骤6:Server将某一组数据中的Rand_c发给Client;
步骤7:Client用自己的密钥key_c加密Rand_c,得到Auth_c;
步骤8:Client将Auth_c信息发给Server;
步骤9:Server将客户端的Auth_c与步骤5中使用的那组数据中的Auth_c做比较,相同的话将继续认证Server,否则将拒绝Client的访问,直接执行步骤15;
步骤10:Server检查自己是否保存有自己的的鉴权信息,有的话直接跳过步骤11和12,直接跳至步骤13,否则Server为自己向AC_S请求鉴权数据;
步骤11:AC_S为Server生成三组鉴权,每组数据包含Rand_s(本实施例所称服务器鉴权随机信息)和Auth_s(本实施例所称服务器鉴权认证信息);
步骤12:AC_S将鉴权数据发送给Server;
步骤13:Server使用其中一组数据,并用自己的key_s加密Rand_s,与该组数据中的Auth_s做比较,相同的话继续检查Client的操作权限,否则直接执行步骤15;
步骤14:检查Client的操作权限;
步骤15:Server将结果发送至Client。
相比现有技术,本实施例具有如下有益效果:
1、避免了复杂的运算和繁复的逻辑,提高了集群内节点的性能;
2、在认证过程中,一旦认证Client/Server失败,认证终止,不再继续其它任何流程,节省了交互,提高了认证效率;
3、AC_C/AC_S一次性返回若干组鉴权数据,Server不必每次都去请求鉴权,减少了Server和AC的交互;
4、对外屏蔽了比较敏感的鉴权中心AC,安全指数提高;
5、分布式部署AC,风险分担;
6、AC独立Client部署,Server监视其状态,在AC无法正常运行的情况下,保证系统逃生,提升了集群系统稳定性和安全性。
如图8所示,本发明较佳实施例提出一种集群系统,包括:服务器301,以及分别与所述服务器301通信连接的客户端302和鉴权中心303,其中:
所述服务器301可以包括如上所述的装置;
所述客户端302可以为PC终端,也可以为手机、平板电脑等移动终端,用于向所述服务器301发送接入请求信息,接收所述服务器301发送的鉴权数据中的客户端302鉴权随机信息,对该信息进行加密反馈给服务器301,以及接收服务器301发送的鉴权认证结果;
所述鉴权中心303,用于为所述客户端302和服务器301生成鉴权数据。
本实施例集群系统进行分布式安全认证的过程及原理,请参照上述各实施例,在此不再赘述。
本发明实施例集群系统的分布式安全认证方法、装置及系统,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。克服了现有技术中存在的节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (15)
1.一种集群系统的分布式安全认证方法,其特征在于,包括:
当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
2.根据权利要求1所述的方法,其特征在于,还包括:
当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
3.根据权利要求1所述的方法,其特征在于,所述获取鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证的步骤包括:
判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据,若是,则
从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
4.根据权利要求3所述的方法,其特征在于,所述判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据的步骤之后还包括:
当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
5.根据权利要求3所述的方法,其特征在于,所述获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权的步骤包括:
判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据,若是,则
从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
6.根据权利要求5所述的方法,其特征在于,所述判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据的步骤之后还包括:
当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
7.根据权利要求1-6中任一项所述的方法,其特征在于,还包括:
当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
8.一种集群系统的分布式安全认证装置,其特征在于,包括:
监测模块,用于当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
接入认证模块,用于当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
9.根据权利要求8所述的装置,其特征在于,
所述接入认证模块,还用于当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
10.根据权利要求8所述的装置,其特征在于,所述接入认证模块包括:
判断单元,用于判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据;
获取单元,用于当本地保存有鉴权中心为客户端生成的客户端鉴权数据时,从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
发送单元,用于将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
接收单元,用于接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
比较鉴权单元,用于将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
11.根据权利要求9所述的装置,其特征在于,
所述获取单元,还用于当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
12.根据权利要求9所述的装置,其特征在于,
所述判断单元,还用于判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据;
所述获取单元,还用于当本地保存有鉴权中心为服务器生成的服务器鉴权数据时,从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
所述发送单元,还用于将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
所述接收单元,还用于接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
所述比较鉴权单元,还用于将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
13.根据权利要求12所述的装置,其特征在于,
所述获取单元,还用于当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
14.根据权利要求8-13中任一项所述的装置,其特征在于,还包括:
检查模块,用于当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
15.一种集群系统,其特征在于,包括:服务器,以及分别与所述服务器通信连接的客户端和鉴权中心,其中:
所述服务器包括权利要求8-14中任一项所述的装置;
所述客户端,用于向所述服务器发送接入请求信息,接收所述服务器发送的鉴权数据中的客户端鉴权随机信息,对该信息进行加密反馈给服务器,以及接收服务器发送的鉴权认证结果;
所述鉴权中心,用于为所述客户端和服务器生成鉴权数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410314675.3A CN105282105A (zh) | 2014-07-03 | 2014-07-03 | 集群系统的分布式安全认证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410314675.3A CN105282105A (zh) | 2014-07-03 | 2014-07-03 | 集群系统的分布式安全认证方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105282105A true CN105282105A (zh) | 2016-01-27 |
Family
ID=55150444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410314675.3A Withdrawn CN105282105A (zh) | 2014-07-03 | 2014-07-03 | 集群系统的分布式安全认证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105282105A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112312400A (zh) * | 2020-10-15 | 2021-02-02 | 新华三大数据技术有限公司 | 一种接入控制方法、接入控制器及存储介质 |
CN112839331A (zh) * | 2019-11-22 | 2021-05-25 | 武汉神州数码云科网络技术有限公司 | 一种用于无线局域网Portal认证逃生的用户信息认证方法 |
CN115225293A (zh) * | 2021-04-16 | 2022-10-21 | 中国移动通信集团辽宁有限公司 | 鉴权方法、系统、装置、设备及计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217367A (zh) * | 2007-01-04 | 2008-07-09 | 中国移动通信集团公司 | 引入鉴权客户端实现业务鉴权的系统及方法 |
CN101674285A (zh) * | 2008-09-08 | 2010-03-17 | 中兴通讯股份有限公司 | 一种单点登录系统及其方法 |
CN102664885A (zh) * | 2012-04-18 | 2012-09-12 | 南京邮电大学 | 一种基于生物特征加密和同态算法的身份认证方法 |
CN202495964U (zh) * | 2011-12-08 | 2012-10-17 | 陈易 | 一种基于移动终端的身份认证系统 |
CN202759479U (zh) * | 2012-03-28 | 2013-02-27 | 上海地面通信息网络有限公司 | 基于VMWare的云计算管理装置 |
CN103369529A (zh) * | 2013-07-09 | 2013-10-23 | 福建星网锐捷网络有限公司 | 身份认证方法、访问点及访问控制器 |
EP2677718A1 (en) * | 2012-06-22 | 2013-12-25 | Idecsi | Secondary asynchronous background authorization (SABA) |
-
2014
- 2014-07-03 CN CN201410314675.3A patent/CN105282105A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217367A (zh) * | 2007-01-04 | 2008-07-09 | 中国移动通信集团公司 | 引入鉴权客户端实现业务鉴权的系统及方法 |
CN101674285A (zh) * | 2008-09-08 | 2010-03-17 | 中兴通讯股份有限公司 | 一种单点登录系统及其方法 |
CN202495964U (zh) * | 2011-12-08 | 2012-10-17 | 陈易 | 一种基于移动终端的身份认证系统 |
CN202759479U (zh) * | 2012-03-28 | 2013-02-27 | 上海地面通信息网络有限公司 | 基于VMWare的云计算管理装置 |
CN102664885A (zh) * | 2012-04-18 | 2012-09-12 | 南京邮电大学 | 一种基于生物特征加密和同态算法的身份认证方法 |
EP2677718A1 (en) * | 2012-06-22 | 2013-12-25 | Idecsi | Secondary asynchronous background authorization (SABA) |
CN103369529A (zh) * | 2013-07-09 | 2013-10-23 | 福建星网锐捷网络有限公司 | 身份认证方法、访问点及访问控制器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839331A (zh) * | 2019-11-22 | 2021-05-25 | 武汉神州数码云科网络技术有限公司 | 一种用于无线局域网Portal认证逃生的用户信息认证方法 |
CN112312400A (zh) * | 2020-10-15 | 2021-02-02 | 新华三大数据技术有限公司 | 一种接入控制方法、接入控制器及存储介质 |
CN112312400B (zh) * | 2020-10-15 | 2022-03-29 | 新华三大数据技术有限公司 | 一种接入控制方法、接入控制器及存储介质 |
CN115225293A (zh) * | 2021-04-16 | 2022-10-21 | 中国移动通信集团辽宁有限公司 | 鉴权方法、系统、装置、设备及计算机存储介质 |
CN115225293B (zh) * | 2021-04-16 | 2024-03-08 | 中国移动通信集团辽宁有限公司 | 鉴权方法、系统、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11509485B2 (en) | Identity authentication method and system, and computing device | |
US9172544B2 (en) | Systems and methods for authentication between networked devices | |
CN108512846B (zh) | 一种终端与服务器之间的双向认证方法和装置 | |
CN112422532B (zh) | 业务通信方法、系统、装置及电子设备 | |
CN107148019B (zh) | 一种用于连接无线接入点的方法与设备 | |
US9148412B2 (en) | Secure configuration of authentication servers | |
CN103581108A (zh) | 一种登录验证方法、客户端、服务器及系统 | |
US10581849B2 (en) | Data packet transmission method, data packet authentication method, and server thereof | |
CN104247329A (zh) | 请求云服务的装置的安全补救 | |
CN106034123A (zh) | 认证方法、应用系统服务器及客户端 | |
CN104601550A (zh) | 基于集群阵列的反向隔离文件传输系统及其方法 | |
CN106254329A (zh) | 用于保护计算机网络安全的方法 | |
CN106209847A (zh) | 电力数据传输方法及装置 | |
CN105430014A (zh) | 一种单点登录方法及其系统 | |
CN109962892A (zh) | 一种登录应用的认证方法及客户端、服务器 | |
CN106209844A (zh) | 电力安全通讯方法 | |
CN105282105A (zh) | 集群系统的分布式安全认证方法、装置及系统 | |
CN102255904B (zh) | 一种通信网络以及对终端的认证方法 | |
KR101599213B1 (ko) | 네트워크 보안 시스템에서 탐지규칙 제공 서비스 방법 및 시스템 | |
CN106161445A (zh) | 一种计算机信息安全控制方法及装置 | |
JP2016536678A (ja) | ネットワーク管理セキュリティ認証方法、装置、システム及びコンピュータ記憶媒体 | |
CN102932219A (zh) | 动态组网设备注册与注销的方法 | |
CN105447747A (zh) | 一种基于c/s架构的税务申报方法 | |
CN114139176A (zh) | 一种基于国密的工业互联网核心数据的保护方法及系统 | |
CN109495500A (zh) | 一种基于智能手机的双因子认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160127 |
|
WW01 | Invention patent application withdrawn after publication |