集群系统的分布式安全认证方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及大数据应用平台的安全认证领域,尤其涉及一种集群系统的分布式安全认证方法、装置及系统。
【背景技术】
[0002]随着通信网络技术的发展,大数据成为IT界的又一技术革命。Hadoop作为当下最为流行的大数据集群实现平台,提供一种大数据的实现框架,使得巨大数据处理更为方便可行。在Hadoopl.0.0版本后,引入了 Kerberos认证机制,使得系统安全得以保证。
[0003]但是,目前,Kerberos的机制对客户端和服务端、IP地址等都不信任,认为除了KDC(Key Distribut1n Center)服务器以外一切都存在着危险,所以流程和算法都很复杂,客户端、服务端乃至KDC都要承担相当数量的逻辑运算,性能压力巨大。而且在现有的集群系统中,如Hadoop系统,对KDC有严重的依赖性,在启用了 KDC的情况下,一旦KDC出现故障,整个Hadoop系统将处于崩溃状态。
【发明内容】
[0004]本发明的主要目的在于提供一种集群系统的分布式安全认证方法、装置及系统,旨在提高集群系统的可靠性、稳定性以及吞吐量。
[0005]为了达到上述目的,本发明提出一种集群系统的分布式安全认证方法,包括:
[0006]当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
[0007]当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
[0008]优选地,该方法还包括:
[0009]当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
[0010]优选地,所述获取鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证的步骤包括:
[0011]判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据,若是,则
[0012]从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
[0013]将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
[0014]接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
[0015]将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
[0016]优选地,所述判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据的步骤之后还包括:
[0017]当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
[0018]优选地,所述获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权的步骤包括:
[0019]判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据,若是,则
[0020]从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
[0021]将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
[0022]接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
[0023]将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
[0024]优选地,所述判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据的步骤之后还包括:
[0025]当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
[0026]优选地,该方法还包括:
[0027]当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
[0028]本发明实施例还提出一种集群系统的分布式安全认证装置,包括:
[0029]监测模块,用于当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
[0030]接入认证模块,用于当监测到所述鉴权中心处于正常运行状态时,获取所述鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证。
[0031]优选地,所述接入认证模块,还用于当监测到所述鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。
[0032]优选地,所述接入认证模块包括:
[0033]判断单元,用于判断本地是否保存有鉴权中心为客户端生成的客户端鉴权数据;
[0034]获取单元,用于当本地保存有鉴权中心为客户端生成的客户端鉴权数据时,从本地选取一组客户端鉴权数据;每一组客户端鉴权数据包括:客户端鉴权随机信息和客户端鉴权认证信息;
[0035]发送单元,用于将选取的所述客户端鉴权数据中的客户端鉴权随机信息发送至客户端;
[0036]接收单元,用于接收所述客户端对所述客户端鉴权随机信息加密后生成的客户端鉴权验证信息;
[0037]比较鉴权单元,用于将所述客户端鉴权验证信息与本地保存的所述客户端鉴权认证信息进行比较,若两者一致,则获取鉴权中心为服务器生成的鉴权数据,对所述服务器进行鉴权。
[0038]优选地,所述获取单元,还用于当本地不存在鉴权中心为客户端生成的客户端鉴权数据时,向所述鉴权中心请求获取客户端鉴权数据,由所述鉴权中心生成若干组客户端鉴权数据。
[0039]优选地,所述判断单元,还用于判断本地是否保存有鉴权中心为服务器生成的服务器鉴权数据;
[0040]所述获取单元,还用于当本地保存有鉴权中心为服务器生成的服务器鉴权数据时,从本地选取一组服务器鉴权数据;每一组服务器鉴权数据包括:服务器鉴权随机信息和服务器鉴权认证信息;
[0041]所述发送单元,还用于将选取的所述服务器鉴权数据中的服务器鉴权随机信息发送至服务器;
[0042]所述接收单元,还用于接收所述服务器对所述服务器鉴权随机信息加密后生成的服务器鉴权验证信息;
[0043]所述比较鉴权单元,还用于将所述服务器鉴权验证信息与本地保存的所述服务器鉴权认证信息进行比较,若两者一致,则判定客户端接入鉴权认证通过,将所述客户端接入服务器。
[0044]优选地,所述获取单元,还用于当本地不存在鉴权中心为服务器生成的服务器鉴权数据时,向所述鉴权中心请求获取服务器鉴权数据,由所述鉴权中心生成若干组服务器鉴权数据。
[0045]优选地,该装置还包括:
[0046]检查模块,用于当客户端接入鉴权认证通过后,检查所述客户端的操作权限。
[0047]本发明实施例还提出一种集群系统,包括:服务器,以及分别与所述服务器通信连接的客户端和鉴权中心,其中:
[0048]所述服务器包括如上所述的装置;
[0049]所述客户端,用于向所述服务器发送接入请求信息,接收所述服务器发送的鉴权数据中的客户端鉴权随机信息,对该信息进行加密反馈给服务器,以及接收服务器发送的鉴权认证结果;
[0050]所述鉴权中心,用于为所述客户端和服务器生成鉴权数据。
[0051]本发明实施例提出的一种集群系统的分布式安全认证方法、装置及系统,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生,客户端及服务器的密钥由鉴权中心提供,使系统获得更高的安全性。本发明实施例方案相对于Kerberos认证机制简单、可靠,极大的提升了集群系统各个节点的运算性能和稳定性,提高了集群系统的吞吐量。克服了现有技术中存在的节点认证计算量大、逻辑复杂、交互繁复、对认证中心依赖性高的缺陷。
【附图说明】
[0052]图1是本发明集群系统的分布式安全认证方法一实施例的流程示意图;
[0053]图2是本发明集群系统的分布式安全认证方法另一实施例的流程示意图;
[0054]图3是本发明集群系统的分布式安全认证方法再一实施例的流程示意图;
[0055]图4是本发明集群系统的分布式安全认证方法的一种实例的流程示意图;
[0056]图5是本发明集群系统的分布式安全认证装置一实施例的结构示意图;
[0057]图6是本发明集群系统的分布式安全认证装置实施例中接入认证模块的结构示意图;
[0058]图7是本发明集群系统的分布式安全认证装置另一实施例的结构示意图;
[0059]图8是本发明集群系统较佳实施例的架构示意图。
[0060]为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
【具体实施方式】
[0061]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0062]本发明实施例的解决方案主要是:当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;当监测到鉴权中心处于正常运行状态时,获取鉴权中心为客户端及服务器生成的鉴权数据,对客户端进行接入鉴权认证;当监测到鉴权中心处于异常运行状态时,启用应急机制,控制客户端的接入操作。由此,通过监视鉴权中心的运行状态,保证能够在鉴权中心无法正常运行的情况下得以逃生。
[0063]如图1所示,本发明一实施例提出一种集群系统的分布式安全认证方法,包括:
[0064]步骤S101,当接收到客户端请求接入服务器的接入请求信息时,监测鉴权中心的运行状态;
[0065]本实施例方法涉及集群系统中客户端(Client)接入服务器(Server)的安全认证。在现有集群系统中建立鉴权中心(Authenticat1n Center, AC),该方案可以在服务器上执行,也可以在鉴权中心执行,还可以在集群系统中其它设备上执行。
[0066]其中,AC对Client屏蔽,只针对Server开放,AC与Serv