一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法_2

文档序号:8415631阅读:来源:国知局
y}实现主节点与从节点之间的数据加密传输,其中SCA为对称加密算法,SCJfey为该对称加密算法的密钥;
[0052]从节点利用从节点私钥SN_Prv对对称加密算法{SCA,SC_Key}进行加密得到从节点私钥加密的对称加密算法SCA_SN,并利用主节点公钥MN_Pub对从节点私钥加密的SCA_SN进行加密得到主节点公钥和从节点私钥双重加密的对称加密算法SCA_Check,有:
[0053]SCA_SN = PBA.encrypt ({SCA, SC_Key},SN_Prv)
[0054]SCA_Check = PBA.encrypt (SCA_SN,MN_Pub)
[0055]步骤4-2-3:主节点收到从节点发来的从节点证书、从节点私钥加密的随机信息SN_Rand、从节点私钥加密的用户会话SN_U_SeSS1n、主节点公钥和从节点私钥双重加密的对称加密算法SCA_Check后,主节点开始验证从节点证书中的CA服务器的身份ID,并利用从节点证书中的从节点公钥SN_Pub解密从节点私钥加密的随机信息SN_Rand,如果从节点私钥加密的随机信息SN_Rand的解密信息不同于封装在代理证书中的随机信息CA_Rand,表明从节点未通过主节点的身份认证,主节点断开与该从节点之间的连接;否则,表明从节点通过主节点的身份认证,进入步骤4-2-4 ;
[0056]步骤4-2-4:主节点利用从节点公钥SN_Pub对从节点私钥加密的用户会话SN_[Sess1n进行解密以获取经过从节点私钥加密并通过从节点公钥解密的用户会话[Sess1n";然后对获取的U_Sess1n"进行验证,如果U_Sess1n"与用户实例的用户会话U_Sess1n不一致,主节点再次发送主节点私钥加密的用户会话MN_U_Sess1n到从节点,并要求从节点确认和重传主节点私钥加密的用户会话MN_U_SeSS1n和从节点私钥加密的用户会话SN_U_Sess1n,重复上述操作,如果U_Sess1n"超过3次未通过验证,则主节点断开从节点的连接;如果U_Sess1n"通过验证,主节点采用主节点私钥MN_Prv对主节点公钥和从节点私钥双重加密的对称加密算法SCA_Check解密得到SCA_Sf,再利用从节点公钥SN_Pub对SCA_Sf进行解密得到对称加密算法{SCA,SC_Key},表示为:
[0057]SCA_SN' = PBA.decrypt (SCA_Check, MN_Prv)
[0058]{SCA,SC_Key} = PBA.decrypt(SCA_SN',SN_Pub)
[0059]所述步骤4-3中,在第三次握手中主节点发送确认信息给从节点,该确认信息使用对称加密算法{SCA,SC_Key}进行加密,此时主节点与从节点之间完成了双向身份认证。
[0060]所述步骤5中,主节点将用户实例的用户会话[Sess1n作为身份认证信息以为从节点分配任务,从节点将在执行任务前,检查[Sess1n的存活周期;如果用户实例的用户会话U_Sess1n过期,从节点要求主节点更新U_Sess1n的存活周期,主节点申请新的代理证书并直接发送给从节点,在接收到新的代理证书后,从节点更新U_Sess1n的存活周期,并执行任务。
[0061]所述步骤6中,终止用户提交的作业分为以下两种情况:
[0062](I)当从节点上的所有任务执行完成时,用户提交相应的活跃作业被终止;
[0063]主节点向用户发送作业执行结果,并同时向所有参与作业执行的从节点发送作业完成消息,收到作业完成消息的从节点删除用户实例的用户会话[Sess1n、代理证书和对称加密算法{SCA,SC_Key};
[0064](2)当从节点上的所有任务发生造成任务不能再被执行的错误时,用户提交相应的活跃作业被终止;
[0065]主节点向用户发送有关错误的信息,并同时向所有参与作业执行的从节点发送作业终止消息,收到作业终止消息的从节点终止作业的当前任务,并断开与主节点的连接,同时主节点删除用户实例、用户实例的用户会SU_SeSS1n、代理证书和对称加密算法{SCA,SC_Key},并断开与从节点的连接。
[0066]与现有技术相比,本发明的有益效果在于:
[0067]本发明提供的基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法,在不影响单集群Hadoop系统原有安全机制的情况下,能够有效地实现跨越多个集群环境运行的Hadoop系统的用户身份认证和网络攻击防护,弥补了单集群Hadoop系统原有安全机制运行于多个集群环境时的不足之处,与单集群Hadoop系统原有安全防护机制共同构成了多集群Hadoop系统的完整安全防护系统。
【附图说明】
[0068]图1是现有技术中多集群Hadoop系统的体系结构示意图;
[0069]图2是本发明实施例中多集群Hadoop系统的安全优化方法示意图;
[0070]图3是本发明实施例中多集群Hadoop系统的安全优化方法流程图;
[0071]图4是本发明实施例中主节点与从节点之间进行双向身份认证示意图;
[0072]图5是本发明实施例中多集群Hadoop系统的安全优化方法实现图。
【具体实施方式】
[0073]下面结合附图对本发明作进一步详细说明。
[0074]本发明提出了一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法,以解决上述【背景技术】中的问题。下面是本发明所提出的安全优化方法涉及到的一些术语:
[0075](I)用户实例(user instance):用户实例是主节点(master node)为拥有活跃作业(active job)的用户而创建的一个对象,并在用户的活跃作业终止后由主节点删除。用户实例与相应用户的身份和作业信息以及从节点(slave node)的认证过程相关。任何两个不同用户的用户实例都是独立的,但是对于拥有多个活跃作业的同一用户而言,其所有活跃作业共享同一用户实例。如果某个用户登出,但是多集群Hadoop系统中仍有该用户的活跃作业,则相应用户实例不会被删除,此即为用户活跃作业的“离线执行”模式。
[0076](2)代理证书(proxy credential)和从节点证书(slave credential):代理证书和从节点证书是由同一认证机构(certificat1n authority,CA)颁发的两种证书。代理证书用于主节点(实际上是主节点维护的用户实例)到从节点的身份认证,每个用户实例对应一个代理证书。在一个用户实例被一个从节点身份认证后,两者之间将建立一个安全连接并且不再需要代理证书。因此,代理证书属于一次使用,而且只有很短的存活周期来保护身份认证过程免遭中间人(man-1n-the-middle,MITM)攻击和回放(replay)攻击。
[0077](3)用户会话(user sess1n):用户会话在用户实例身份认证完成后,充当用户实例的身份信息。因此,一个用户会话与相应的用户实例具有相同的存活周期。
[0078](4) CA服务器(CA Server):CA服务器是一个颁发代理证书和从节点证书的重要组件。由于多集群Hadoop系统的底层文件系统采用的是Globus安全基础设施(Globussecurity infrastructure,GSI)并且已经拥有一个CA服务器,因此本发明所提出的安全优化方法直接使用多集群Hadoop系统的底层文件系统的CA服务器作为CA服务器。
[0079]本发明所提出的安全优化方法采用数字签名经常使用的公钥加密算法。为了方便描述,使用PBA表示公钥加密算法,其加密过程和解密过程可以表示为:
[0080]加密过程:PBA.encrypt (m, k),其中m为被加密信息,k为私钥或公钥;
[0081]解密过程:PBA.decrypt (m, k),其中m为被解密信息,k为私钥或公钥。
[0082]图2展示了本发明所提出的安全优化方法的结构。该安全优化方法在不改变主节点/从节点架构的情况下,对单集群Hadoop系统原有的安全机制进行扩展,增加额外的认证证书、加密算法和安全连接协议来进行通信各方的身份认证、建立安全连接、传输加密数据和执行作业任务,以完善多集群Hadoop系统的安全防护机制。
[0083]如图3,本发明提供一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法,所述方法包括以下步骤:
[0084]步骤1:用户登录主节点时对用户进行身份信息认证;
[0085]步骤2:主节点向CA服务器申请并获得代理证书;
[0086]步骤3:主节点创建从节点列表,并确定主节点身份信息;
[0087]步骤4:主节点与从节点之间进行双向身份认证;
[0088]步骤5:多集群Hadoop系统执行用户提交的作业;
[0089]步骤6:终止用户提交的作业。
[0090]所述步骤I具体包括以下步骤:
[0091]步骤1-1:用户向多集群Hadoop系统提交作业时,输入用户身份信息{Username,Password}单点登录到主节点;
[0092]步骤1-2:多集群Hadoop系统收到用户身份信息{Username,Password}后,主节点搜索自身的用户身份信息库,检查该用户是否存在;如果用户名Username和口令Password正确,并且用户有权访问多集群Hadoop系统的资源,贝U表明用户通过主节点的身份信息认证,进入到步骤1-3 ;否则,表明用户未通过主节点的身份信息认证,主节点将向用户发送错误信息作为反馈;
[0093]步骤1-3:用户通过主节点的身份认证后,提交作业到多集群Hadoop系统,主节点接收用户提交作业,进行初始化并为用户创建用户实例;然后通知CA服务器为该用户实例颁发代理证书。如果当用户通过身份认证登录到主节点时,用户实例已经存在,这意味着用户实例处于离线执行模式。此时,主节点只为用户显示活跃作业的当前状态,而不执行进一步的操作。
[0094]所述步骤2具体包括以下步骤:
[0095]步骤2-1:利用SSL协议完成主节点和CA服务器双向身份认证,建立经过加密的安全连接。由于多集群Hadoop系统运行于通过公众网互联的大规模分布式环境,并采用普通文本来传输身份认证等敏感信息,因此需要所有连接都是安全的。SSL(Secure Socke
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1