點(diǎn)發(fā)送的主節(jié)點(diǎn)公鑰MN_Pub后,生成隨機(jī)信息CA_Rand,并為主節(jié)點(diǎn)公鑰MN_Pub設(shè)定存活周期'Ck服務(wù)器使用數(shù)字簽名為主節(jié)點(diǎn)的當(dāng)前請(qǐng)求頒發(fā)代理證書(shū),并發(fā)送給主節(jié)點(diǎn); 步驟2-4:主節(jié)點(diǎn)收到包含有隨機(jī)信息CA_Rand的代理證書(shū)后,斷開(kāi)與CA服務(wù)器的SSL連接。
4.根據(jù)權(quán)利要求1或3所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述代理證書(shū)包括代理證書(shū)的存活周期、CA服務(wù)器的身份ID、隨機(jī)信息CA_Rand、主節(jié)點(diǎn)公鑰MN_Pub及MN_Pub的存活周期。
5.根據(jù)權(quán)利要求1所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟3包括以下步驟: 步驟3-1:主節(jié)點(diǎn)與從節(jié)點(diǎn)之間采用SSL協(xié)議建立安全連接; 步驟3-2:主節(jié)點(diǎn)創(chuàng)建用戶實(shí)例的用戶會(huì)話[Sess1n,有:U_Sess1n = MD5(Username+CA_Rand) 用戶實(shí)例的用戶會(huì)話[Sess1n與主節(jié)點(diǎn)公鑰MN_Pub具有相同的存活周期,均由CA服務(wù)器指定,并由代理證書(shū)簽字; 步驟3-3:根據(jù)用戶對(duì)從節(jié)點(diǎn)的訪問(wèn)權(quán)限,主節(jié)點(diǎn)為用戶實(shí)例創(chuàng)建從節(jié)點(diǎn)列表; 步驟3-4:利用主節(jié)點(diǎn)私鑰MN_Prv對(duì)隨機(jī)信息CA_Rand和用戶實(shí)例的用戶會(huì)話U_Sess1n分別進(jìn)行加密,得到主節(jié)點(diǎn)私鑰加密的隨機(jī)信息MN_Rand和主節(jié)點(diǎn)私鑰加密的用戶會(huì)話 MN_U_Sess1n,有:MN_Rand = PBA.encrypt (CA_Rand,MN_Prv)MN_U_Sess1n = PBA.encrypt (U_Sess1n, MN_Prv) 于是,得到包括代理證書(shū)、主節(jié)點(diǎn)私鑰加密的隨機(jī)信息MN_Rand和主節(jié)點(diǎn)私鑰加密的用戶會(huì)話MN_U_Sess1n的主節(jié)點(diǎn)身份信息。
6.根據(jù)權(quán)利要求1所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟4中,主節(jié)點(diǎn)與從節(jié)點(diǎn)之間進(jìn)行雙向身份認(rèn)證,包括以下步驟: 步驟4-1:第一次握手,從節(jié)點(diǎn)對(duì)主節(jié)點(diǎn)進(jìn)行身份認(rèn)證; 步驟4-2:第二次握手,主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)進(jìn)行身份認(rèn)證; 步驟4-3:第三次握手,主節(jié)點(diǎn)發(fā)送確認(rèn)信息給從節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟4-1包括以下步驟: 步驟4-1-1:主節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)身份信息到從節(jié)點(diǎn),從節(jié)點(diǎn)獲得封裝在代理證書(shū)中的CA服務(wù)器的身份ID,并檢查CA服務(wù)器的身份ID是否正確;如正確,進(jìn)入步驟4-1-2,否則,表明主節(jié)點(diǎn)未通過(guò)從節(jié)點(diǎn)的身份認(rèn)證; 步驟4-1-2:從節(jié)點(diǎn)從代理證書(shū)中獲得主節(jié)點(diǎn)公鑰MN_Pub,并利用主節(jié)點(diǎn)公鑰MN_Rand對(duì)主節(jié)點(diǎn)私鑰加密的隨機(jī)信息MN_Rand進(jìn)行解密,得到經(jīng)過(guò)主節(jié)點(diǎn)私鑰加密并通過(guò)主節(jié)點(diǎn)公鑰解密的隨機(jī)信息CA_RancT,有:CA_Rand' = PBA.decrypt(MN_Rand,MN_Pub) 經(jīng)過(guò)主節(jié)點(diǎn)私鑰加密并通過(guò)主節(jié)點(diǎn)公鑰解密的隨機(jī)信息CA_Rand'和封裝在代理證書(shū)中的隨機(jī)信息CA_Rand進(jìn)行比較,并檢查代理證書(shū)的存活周期和MN_Pub的存活周期;如果代理證書(shū)的存活周期和MN_Pub的存活周期檢查均通過(guò),表明主節(jié)點(diǎn)通過(guò)從節(jié)點(diǎn)的身份認(rèn)證,進(jìn)入步驟4-1-3,如果代理證書(shū)的存活周期和MN_Pub的存活周期檢查任一未通過(guò),表明主節(jié)點(diǎn)未通過(guò)從節(jié)點(diǎn)的身份認(rèn)證,從節(jié)點(diǎn)反饋拒絕消息給主節(jié)點(diǎn); 步驟4-1-3:從節(jié)點(diǎn)將發(fā)送表明主節(jié)點(diǎn)通過(guò)身份認(rèn)證的確認(rèn)消息給主節(jié)點(diǎn),然后利用主節(jié)點(diǎn)公鑰MN_Pub對(duì)主節(jié)點(diǎn)私鑰加密的用戶會(huì)話MN_U_SeSS1n進(jìn)行解密,獲取經(jīng)過(guò)主節(jié)點(diǎn)私鑰加密并通過(guò)主節(jié)點(diǎn)公鑰解密的用戶會(huì)話[Sess1n',有:U_Sess1n/ = PBA.decrypt(MN_U_Sess1n, MN_Pub) 經(jīng)過(guò)主節(jié)點(diǎn)私鑰加密并通過(guò)主節(jié)點(diǎn)公鑰解密的用戶會(huì)話[Sess1n'、主節(jié)點(diǎn)公鑰MN_Pub、代理證書(shū)、U_Sess1r^的存活周期、MN_Pub的存活周期和代理證書(shū)的存活周期均被存儲(chǔ)在從節(jié)點(diǎn)上,直到收到主節(jié)點(diǎn)發(fā)來(lái)的作業(yè)完成消息或左右終止消息,從節(jié)點(diǎn)才刪除上述信息。
8.根據(jù)權(quán)利要求6所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟4-2包括以下步驟: 步驟4-2-1:從節(jié)點(diǎn)隨機(jī)生成從節(jié)點(diǎn)密鑰對(duì){SN_Pub,SN_Prv},利用從節(jié)點(diǎn)私鑰SN_Prv對(duì)隨機(jī)信息CA_Rand和用戶實(shí)例的用戶會(huì)話[Sess1n分別進(jìn)行加密,得到從節(jié)點(diǎn)私鑰加密的隨機(jī)信息SN_Rand和從節(jié)點(diǎn)私鑰加密的用戶會(huì)話SN_U_SeSS1n,有:SN_Rand = PBA.encrypt (CA_Rand,SN_Prv)SN_U_Sess1n = PBA.encrypt (U_Sess1n, SN_Prv) 于是得到包括CA服務(wù)器的身份ID、從節(jié)點(diǎn)公鑰SN_Pub和SN_Pub的存活周期的從節(jié)點(diǎn)證書(shū),所述從節(jié)點(diǎn)證書(shū)由CA服務(wù)器頒發(fā); 步驟4-2-2:從節(jié)點(diǎn)采用對(duì)稱加密算法{SCA,SC_Key}實(shí)現(xiàn)主節(jié)點(diǎn)與從節(jié)點(diǎn)之間的數(shù)據(jù)加密傳輸,其中SCA為對(duì)稱加密算法,SCJfey為該對(duì)稱加密算法的密鑰; 從節(jié)點(diǎn)利用從節(jié)點(diǎn)私鑰SN_Prv對(duì)對(duì)稱加密算法{SCA,SC_Key}進(jìn)行加密得到從節(jié)點(diǎn)私鑰加密的對(duì)稱加密算法SCA_SN,并利用主節(jié)點(diǎn)公鑰MN_Pub對(duì)從節(jié)點(diǎn)私鑰加密的SCA_SN進(jìn)行加密得到主節(jié)點(diǎn)公鑰和從節(jié)點(diǎn)私鑰雙重加密的對(duì)稱加密算法SCA_Check,有:SCA_SN = PBA.encrypt ({SCA, SC_Key},SN_Prv)SCA_Check = PBA.encrypt (SCA_SN,MN_Pub) 步驟4-2-3:主節(jié)點(diǎn)收到從節(jié)點(diǎn)發(fā)來(lái)的從節(jié)點(diǎn)證書(shū)、從節(jié)點(diǎn)私鑰加密的隨機(jī)信息SN_Ran d、從節(jié)點(diǎn)私鑰加密的用戶會(huì)話SN_U_S e s s i ο η、主節(jié)點(diǎn)公鑰和從節(jié)點(diǎn)私鑰雙重加密的對(duì)稱加密算法SCA_Check后,主節(jié)點(diǎn)開(kāi)始驗(yàn)證從節(jié)點(diǎn)證書(shū)中的CA服務(wù)器的身份ID,并利用從節(jié)點(diǎn)證書(shū)中的從節(jié)點(diǎn)公鑰SN_Pub解密從節(jié)點(diǎn)私鑰加密的隨機(jī)信息SN_Rand,如果從節(jié)點(diǎn)私鑰加密的隨機(jī)信息SN_Rand的解密信息不同于封裝在代理證書(shū)中的隨機(jī)信息CA_Rand,表明從節(jié)點(diǎn)未通過(guò)主節(jié)點(diǎn)的身份認(rèn)證,主節(jié)點(diǎn)斷開(kāi)與該從節(jié)點(diǎn)之間的連接;否則,表明從節(jié)點(diǎn)通過(guò)主節(jié)點(diǎn)的身份認(rèn)證,進(jìn)入步驟4-2-4 ; 步驟4-2-4:主節(jié)點(diǎn)利用從節(jié)點(diǎn)公鑰SN_Pub對(duì)從節(jié)點(diǎn)私鑰加密的用戶會(huì)話SN_U_Sess1n進(jìn)行解密以獲取經(jīng)過(guò)從節(jié)點(diǎn)私鑰加密并通過(guò)從節(jié)點(diǎn)公鑰解密的用戶會(huì)話[Sess1n";然后對(duì)獲取的U_Sess1n"進(jìn)行驗(yàn)證,如果U_Sess1n"與用戶實(shí)例的用戶會(huì)話U_Sess1n不一致,主節(jié)點(diǎn)再次發(fā)送主節(jié)點(diǎn)私鑰加密的用戶會(huì)話MN_U_Sess1n到從節(jié)點(diǎn),并要求從節(jié)點(diǎn)確認(rèn)和重傳主節(jié)點(diǎn)私鑰加密的用戶會(huì)話MN_U_SeSS1n和從節(jié)點(diǎn)私鑰加密的用戶會(huì)話SN_U_Sess1n,重復(fù)上述操作,如果U_Sess1n"超過(guò)3次未通過(guò)驗(yàn)證,則主節(jié)點(diǎn)斷開(kāi)從節(jié)點(diǎn)的連接;如果U_Sess1n"通過(guò)驗(yàn)證,主節(jié)點(diǎn)采用主節(jié)點(diǎn)私鑰MN_Prv對(duì)主節(jié)點(diǎn)公鑰和從節(jié)點(diǎn)私鑰雙重加密的對(duì)稱加密算法SCA_Check解密得到SCA_Sf,再利用從節(jié)點(diǎn)公鑰SN_Pub對(duì)SCA_Sf進(jìn)行解密得到對(duì)稱加密算法{SCA,SC_Key},表示為:SCA_SN' = PBA.decrypt (SCA_Check, MN_Prv){SCA,SC_Key} = PBA.decrypt(SCA_SN' ,SN_Pub)
9.根據(jù)權(quán)利要求6所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟4-3中,在第三次握手中主節(jié)點(diǎn)發(fā)送確認(rèn)信息給從節(jié)點(diǎn),該確認(rèn)信息使用對(duì)稱加密算法{SCA,SC_Key}進(jìn)行加密,此時(shí)主節(jié)點(diǎn)與從節(jié)點(diǎn)之間完成了雙向身份認(rèn)證。
10.根據(jù)權(quán)利要求1所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟5中,主節(jié)點(diǎn)將用戶實(shí)例的用戶會(huì)話[Sess1n作為身份認(rèn)證信息以為從節(jié)點(diǎn)分配任務(wù),從節(jié)點(diǎn)將在執(zhí)行任務(wù)前,檢查[Sess1n的存活周期;如果用戶實(shí)例的用戶會(huì)話U_Sess1n過(guò)期,從節(jié)點(diǎn)要求主節(jié)點(diǎn)更新U_Sess1n的存活周期,主節(jié)點(diǎn)申請(qǐng)新的代理證書(shū)并直接發(fā)送給從節(jié)點(diǎn),在接收到新的代理證書(shū)后,從節(jié)點(diǎn)更新U_Sess1n的存活周期,并執(zhí)行任務(wù)。
11.根據(jù)權(quán)利要求1所述的基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,其特征在于:所述步驟6中,終止用戶提交的作業(yè)分為以下兩種情況: (1)當(dāng)從節(jié)點(diǎn)上的所有任務(wù)執(zhí)行完成時(shí),用戶提交相應(yīng)的活躍作業(yè)被終止; 主節(jié)點(diǎn)向用戶發(fā)送作業(yè)執(zhí)行結(jié)果,并同時(shí)向所有參與作業(yè)執(zhí)行的從節(jié)點(diǎn)發(fā)送作業(yè)完成消息,收到作業(yè)完成消息的從節(jié)點(diǎn)刪除用戶實(shí)例的用戶會(huì)話[Sess1n、代理證書(shū)和對(duì)稱加密算法{SCA,SC_Key}; (2)當(dāng)從節(jié)點(diǎn)上的所有任務(wù)發(fā)生造成任務(wù)不能再被執(zhí)行的錯(cuò)誤時(shí),用戶提交相應(yīng)的活躍作業(yè)被終止; 主節(jié)點(diǎn)向用戶發(fā)送有關(guān)錯(cuò)誤的信息,并同時(shí)向所有參與作業(yè)執(zhí)行的從節(jié)點(diǎn)發(fā)送作業(yè)終止消息,收到作業(yè)終止消息的從節(jié)點(diǎn)終止作業(yè)的當(dāng)前任務(wù),并斷開(kāi)與主節(jié)點(diǎn)的連接,同時(shí)主節(jié)點(diǎn)刪除用戶實(shí)例、用戶實(shí)例的用戶會(huì)話[Sess1n、代理證書(shū)和對(duì)稱加密算法{SCA,SC_Key},并斷開(kāi)與從節(jié)點(diǎn)的連接。
【專利摘要】本發(fā)明提供一種基于公鑰算法和SSL協(xié)議的多集群Hadoop系統(tǒng)安全優(yōu)化方法,包括以下步驟:用戶登錄主節(jié)點(diǎn)時(shí)對(duì)用戶進(jìn)行身份信息認(rèn)證;主節(jié)點(diǎn)向CA服務(wù)器申請(qǐng)并獲得代理證書(shū);主節(jié)點(diǎn)創(chuàng)建從節(jié)點(diǎn)列表,并確定主節(jié)點(diǎn)身份信息;主節(jié)點(diǎn)與從節(jié)點(diǎn)之間進(jìn)行雙向身份認(rèn)證;多集群Hadoop系統(tǒng)執(zhí)行用戶提交的作業(yè);終止用戶提交的作業(yè)。本發(fā)明能夠有效地實(shí)現(xiàn)跨越多個(gè)集群環(huán)境運(yùn)行的Hadoop系統(tǒng)的用戶身份認(rèn)證和網(wǎng)絡(luò)攻擊防護(hù),彌補(bǔ)了單集群Hadoop系統(tǒng)原有安全機(jī)制運(yùn)行于多個(gè)集群環(huán)境時(shí)的不足之處,與單集群Hadoop系統(tǒng)原有安全防護(hù)機(jī)制共同構(gòu)成了多集群Hadoop系統(tǒng)的完整安全防護(hù)。
【IPC分類】H04L9-32, H04L29-06, H04L9-30
【公開(kāi)號(hào)】CN104735087
【申請(qǐng)?zhí)枴緾N201510178852
【發(fā)明人】蔣誠(chéng)智, 余勇, 石聰聰, 范杰, 李尼格, 葉云, 郭騫, 俞庚申, 馮谷, 高鵬, 曹宛恬
【申請(qǐng)人】國(guó)家電網(wǎng)公司, 中國(guó)電力科學(xué)研究院, 國(guó)網(wǎng)智能電網(wǎng)研究院
【公開(kāi)日】2015年6月24日
【申請(qǐng)日】2015年4月16日