專利名稱:一種面向移動代理網(wǎng)管的安全保護方法
技術(shù)領(lǐng)域:
本發(fā)明是一種分布式計算技術(shù)應(yīng)用于開放網(wǎng)絡(luò)環(huán)境的安全解決方案。主要用于解決基于移動代理的網(wǎng)絡(luò)管理的安全問題,屬于計算機網(wǎng)絡(luò)、分布式計算和信息安全的交叉技術(shù)領(lǐng)域。
背景技術(shù):
當前的網(wǎng)絡(luò)管理方案,大部分的網(wǎng)絡(luò)管理計算都由網(wǎng)絡(luò)管理站來完成。采用這種方式進行網(wǎng)絡(luò)管理時,管理站和被管理節(jié)點之間大量的信息交換造成網(wǎng)絡(luò)帶寬的極大浪費,而且這種方案也不能動態(tài)地擴展服務(wù)器方的能力。采用移動代理這種分布式計算技術(shù)可以緩解以上的不足。移動代理是一個軟件實體,擁有一定的智能和判斷能力,它可以在異構(gòu)的網(wǎng)絡(luò)上按照一定的規(guī)程遷移,尋找合適的資源,本地化處理或使用這些資源,代表用戶完成特定的網(wǎng)管任務(wù)。
移動代理網(wǎng)管方案由具有移動代理執(zhí)行環(huán)境的網(wǎng)絡(luò)管理站、被管理節(jié)點和執(zhí)行網(wǎng)管任務(wù)的移動代理三個部分組成。網(wǎng)絡(luò)管理站根據(jù)管理任務(wù)生成并派遣移動代理,處理它所返回的結(jié)果。移動代理在各個被管理節(jié)點遷移并收集處理信息,進行網(wǎng)管操作。被管理節(jié)點上存在移動代理執(zhí)行環(huán)境,執(zhí)行環(huán)境接受移動代理并且協(xié)助其對本地資源的訪問。在移動代理網(wǎng)管方案中,網(wǎng)絡(luò)管理站派遣相應(yīng)的移動代理到各個被管理節(jié)點執(zhí)行管理任務(wù);這些移動代理在每一個被管理節(jié)點完成管理任務(wù)后攜帶相關(guān)的信息返回管理站,或者依次遷移到多個被管理節(jié)點分別完成相應(yīng)的管理任務(wù)后返回管理站,或者遍歷所有的被管理節(jié)點再返回管理站。
移動代理網(wǎng)管方案具有網(wǎng)絡(luò)負載小、應(yīng)變能力強、處理實時性高等優(yōu)點。但移動代理技術(shù)本身的安全性以及在網(wǎng)絡(luò)管理應(yīng)用中出現(xiàn)的安全隱患阻礙了這種網(wǎng)管方案的實際應(yīng)用和發(fā)展。
網(wǎng)絡(luò)管理中移動代理面臨的安全威脅分析在網(wǎng)管過程中,不斷遷移的移動代理可能存在的安全威脅主要有(1)被動攻擊惡意攻擊節(jié)點并不干預(yù)傳輸中的移動代理,而是①截獲(竊聽)其代碼和數(shù)據(jù),②進行流量分析(如分析移動代理傳輸頻度和長度),從而獲取所需的敏感信息。
(2)主動攻擊①中斷破壞被管理網(wǎng)絡(luò)的資源或者使其變得不可用。②篡改與重發(fā)移動代理到達目的地之前被惡意節(jié)點截獲,該節(jié)點就可能修改移動代理的代碼或數(shù)據(jù),然后再發(fā)送給目的地節(jié)點,從而可能導(dǎo)致對網(wǎng)絡(luò)配置和管理參數(shù)的非法改變。另外,該惡意節(jié)點也可能只在適當?shù)臅r候重發(fā)該移動代理(如含有重啟某個設(shè)備的操作等),則也可能給網(wǎng)絡(luò)管理和被管理網(wǎng)絡(luò)造成破壞。③假冒惡意節(jié)點偽裝成合法節(jié)點,利用假冒的移動代理進行非授權(quán)的網(wǎng)管活動。
被管理節(jié)點面臨的安全威脅分析在網(wǎng)管過程中,被管理節(jié)點允許執(zhí)行不同網(wǎng)管任務(wù)的移動代理在其上運行,這使其面臨各種惡意移動代理(例如,被篡改、偽裝和重發(fā)的移動代理)帶來的可能攻擊。惡意的移動代理可以攜帶非法代碼破壞被管理節(jié)點提供的服務(wù)、破壞被管理節(jié)點的運行,甚至可以完全終止該節(jié)點。它還可以通過消耗大量被管理節(jié)點的資源(如硬盤空間、內(nèi)存、網(wǎng)絡(luò)端口等)來發(fā)動拒絕服務(wù)的攻擊以使其無法完成正常業(yè)務(wù)。一個已經(jīng)訪問被管理節(jié)點的移動代理如果對它的服務(wù)沒有經(jīng)過授權(quán),就會傷害到其它移動代理和被管理節(jié)點本身。所以被管理節(jié)點必須保證每個移動代理不會讀寫到它授權(quán)以外的數(shù)據(jù),而對于合法的移動代理,被管理節(jié)點也應(yīng)給予足夠的資源訪問權(quán)限。
網(wǎng)絡(luò)管理站面臨的安全威脅分析網(wǎng)絡(luò)管理站是執(zhí)行網(wǎng)管任務(wù)的移動代理的創(chuàng)建者和最初傳輸者,它還需要接受完成任務(wù)后返回的移動代理,提取信息,檢查管理任務(wù)的執(zhí)行情況,監(jiān)控和維護整個被管理網(wǎng)絡(luò)的運行狀況。在網(wǎng)管過程中,管理站面臨的安全問題是①返回的移動代理含有的惡意的代碼,②移動代理所帶回的數(shù)據(jù)被篡改或偽造。當然,管理站的安全保護在很大程度上必須依賴于移動代理在傳輸過程中和被管理節(jié)點上的安全保護問題的解決。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種面向移動代理網(wǎng)管的安全保護方法,解決基于移動代理網(wǎng)管所出現(xiàn)的安全問題,構(gòu)建一個安全體系結(jié)構(gòu),利用智能卡技術(shù)和加密技術(shù)對網(wǎng)絡(luò)管理站、被管理節(jié)點、移動代理以及網(wǎng)絡(luò)管理過程實施硬件和軟件的安全保護。
技術(shù)方案本發(fā)明的方法是一種改進性和綜合性的方法,通過對基于檢測的、基于硬件的、主動的安全保護措施的改進和綜合而提出,在硬件上采用Java卡(一種能運行Java程序的智能卡,它遵從所有的智能卡標準)作為移動代理可信賴的執(zhí)行環(huán)境,在軟件層次上采用加密技術(shù)保障移動代理和網(wǎng)管信息的機密性和可靠性。
一、體系結(jié)構(gòu)在移動代理網(wǎng)管方案中,移動代理在遷移到各個被管理節(jié)點完成管理任務(wù),其所執(zhí)行的代碼和數(shù)據(jù)(這里,數(shù)據(jù)特指除執(zhí)行代碼以外的信息)可能是相同的(我們稱其為公共代碼和數(shù)據(jù));也可能是不同的(我們稱其為私有代碼和數(shù)據(jù))。其中,公共數(shù)據(jù)也包含移動代理的所要訪問節(jié)點目錄、路由信息和有關(guān)安全的數(shù)據(jù)等。
移動代理網(wǎng)管安全體系結(jié)構(gòu)有兩個部分組成,一個部分在網(wǎng)絡(luò)管理站,另一部分是在被管理節(jié)點。
1.網(wǎng)絡(luò)管理站安全組成網(wǎng)絡(luò)管理站是實施網(wǎng)絡(luò)管理安全保護的中心,負責協(xié)調(diào)整個管理的安全運行;根據(jù)不同的網(wǎng)管任務(wù),產(chǎn)生相應(yīng)的移動代理并派遣到被管理節(jié)點在本地執(zhí)行具體的管理任務(wù)。網(wǎng)絡(luò)管理站安全組成主要包括四個部分。
(1)Java卡管理器Java卡管理器為各個節(jié)點的Java卡加載各項必要的功能和數(shù)據(jù),并提供相應(yīng)的Java卡證書。Java卡證書里包含下列信息Java卡的制造商、Java卡的類型、Java卡提供的安全策略以及有關(guān)密鑰等。當一個Java卡分配給被管理節(jié)點,它的Java卡證書要提供給目錄管理器。
(2)目錄管理器目錄管理器提供一種目錄服務(wù)。網(wǎng)絡(luò)管理站和各個被管理節(jié)點需要在目錄管理器處登記下列參考信息所在節(jié)點的標識符(例如機器名或其他唯一的標識符)及物理網(wǎng)絡(luò)地址、提供何種安全策略。Java卡管理器為目錄管理器提供各個節(jié)點的Java卡證書。這些信息用于為網(wǎng)絡(luò)管理站定位被管理節(jié)點、對移動代理進行加密服務(wù)。
(3)移動代理執(zhí)行環(huán)境(Mobile Agent Execution Environment,以后簡稱MAEE)在網(wǎng)管過程中,移動代理通過和各個被管理節(jié)點交互,完成管理任務(wù),返回管理結(jié)果。MAEE對移動代理提供各種功能支持,在安全管理方面,它一方面利用Java卡為移動代理進行有效性管理和加密,另一方面,解密返回管理站的移動代理,提取管理結(jié)果信息,主要包括四個部分移動代理接收接口、管理信息處理模塊、密碼控制模塊、移動代理發(fā)送接口。
所述的移動代理接收接口負責將移動代理輸入到網(wǎng)絡(luò)管理站的Java卡。
所述的管理信息處理模塊統(tǒng)計、過濾和綜合網(wǎng)絡(luò)管理站的Java卡所提取的管理結(jié)果信息。
所述的密碼控制模塊與目錄管理器交互,為Java卡提供必要的密碼(管理站中,移動代理加密和解密所涉及的密碼很多,考慮到Java卡的存儲容量限制和管理站的安全可靠性,這些密碼都由目錄管理器通過移動代理執(zhí)行環(huán)境提供給管理站的Java卡;而在被管理節(jié)點,加密和解密的密碼保存在該節(jié)點的Java卡中)。
所述的移動代理發(fā)送接口負責發(fā)送從網(wǎng)絡(luò)管理站的Java卡中所獲取的經(jīng)過加密處理過的移動代理。
(4)Java卡在網(wǎng)絡(luò)管理站中,Java卡通過明確的接口與移動代理執(zhí)行環(huán)境進行交互,一方面,它對即將執(zhí)行網(wǎng)管任務(wù)的移動代理進行有效性管理(加上唯一標識符、有效時間戳)和各項加密處理以及設(shè)置代理的傳輸路徑;另一方面,Java卡還對返回管理站的移動代理進行解密,然后檢查其有效性(通過唯一標識符檢查是否重發(fā),通過有效時間戳檢查其是否過期),最后Java卡為網(wǎng)絡(luò)管理站提取管理結(jié)果信息。
Java卡提供一個平臺,加密、解密、有效性管理和提取信息的活動都能在其中安全地運行。Java卡ROM中最底層代碼是訪問存儲器(包括RAM、ROM和EEPROM)和I/O的設(shè)備驅(qū)動程序,根據(jù)需要,也可能包括訪問加密處理器的驅(qū)動程序。在這之上的Java卡虛擬機負責控制上層應(yīng)用程序?qū)ava卡硬件驅(qū)動程序的訪問。Java卡虛擬機之上就是實現(xiàn)了各種應(yīng)用程序接口(基本的Java卡應(yīng)用程序接口和網(wǎng)絡(luò)管理專用的應(yīng)用程序接口)的Java中間字節(jié)碼。最后,實現(xiàn)了Java卡專用功能的應(yīng)用程序位于最上層。在本發(fā)明方法中,這些應(yīng)用程序包括解密器、有效性管理模塊、信息提取模塊、加密和傳輸處理模塊。
所述的解密器用常規(guī)解密算法解密移動代理的公共數(shù)據(jù)、用公開密鑰密碼體制的解密算法對所有節(jié)點的私有數(shù)據(jù)進行解密。
所述的有效性管理模塊為移動代理和每一個私有代碼分別分配一個唯一標識符、在移動代理的公共數(shù)據(jù)中放入時間戳,或者檢查移動代理中的唯一標識符保證信息沒有重復(fù)、檢查時間戳保證信息沒有過期。
所述的信息提取模塊從通過有效性管理驗證合法的移動代理中提取公共數(shù)據(jù)和每一個被管理節(jié)點的私有數(shù)據(jù)。
所述的加密和傳輸處理模塊用常規(guī)加密算法加密移動代理的公共代碼和數(shù)據(jù),用公開密鑰密碼體制的加密算法對各個節(jié)點的私有代碼和數(shù)據(jù)進行加密,設(shè)置移動代理在執(zhí)行網(wǎng)絡(luò)管理任務(wù)時所要經(jīng)過的傳輸路徑。
2.被管理節(jié)點安全組成(1)MAEE在被管理節(jié)點中,MAEE為執(zhí)行網(wǎng)管任務(wù)的移動代理提供落腳點,但它不需要處理管理結(jié)果信息,也不需要密碼控制模塊(被管理節(jié)點涉及的密碼都封裝在該節(jié)點的Java卡中)。在安全管理方面,它包含三個部分移動代理接收接口、移動代理發(fā)送接口、本地資源控制模塊。
所述移動代理接收接口負責將移動代理輸入到本地被管理節(jié)點的Java卡。
所述的移動代理發(fā)送接口負責發(fā)送本地被管理節(jié)點的Java卡所提交的移動代理。
所述的本地資源控制模塊控制Java卡對本地被管理節(jié)點資源的訪問、對被管理對象的讀寫,協(xié)助Java卡完成管理任務(wù),保護本地被管理節(jié)點的資源。
(2)Java卡在被管理節(jié)點中,Java卡所實現(xiàn)的功能不同于管理站的Java卡,它主要實施本地的網(wǎng)絡(luò)管理。被管理節(jié)點的Java卡應(yīng)用程序包括解密器、有效性驗證模塊、功能提取模塊、任務(wù)執(zhí)行器、加密和傳輸處理模塊。
所述的解密器用常規(guī)解密算法解密移動代理的公共代碼和數(shù)據(jù)、用公開密鑰密碼體制的解密算法對本地被管理節(jié)點的私有代碼和數(shù)據(jù)進行解密。
所述的有效性驗證模塊通過檢查移動代理和在本地節(jié)點中私有代碼的唯一標識符驗證其是否合法,通過檢查時間戳驗證查其是否過期。如果驗證通過,記錄該代理的唯一標識符和本地被管理節(jié)點執(zhí)行代碼和數(shù)據(jù)的唯一標識符并將該代理提交給功能提取模塊處理,否則向MAEE報告錯誤信息。
所述的功能提取模塊從驗證通過的移動代理中,提取在本地被管理節(jié)點執(zhí)行的代碼和數(shù)據(jù)。
所述的任務(wù)執(zhí)行器在MAEE的協(xié)助下,執(zhí)行網(wǎng)管任務(wù)。
所述的加密和傳輸處理模塊卸解廢棄的代碼和數(shù)據(jù)(只在本節(jié)點執(zhí)行的代碼,一些不再使用的公共代碼和數(shù)據(jù)),重新組合移動代理,對變化部分和執(zhí)行結(jié)果重新加密,并為MAEE傳輸該代理提供信息。
二、安全機制1.硬件保護機制本發(fā)明方法采用硬件保護機制,給移動代理額外配備一個硬件,該硬件不受節(jié)點和移動代理執(zhí)行環(huán)境的控制,但可以執(zhí)行移動代理,通過消息與不可信賴環(huán)境交互完成管理任務(wù)。這種機制為移動代理提供一個安全的運行環(huán)境,并保護了節(jié)點的資源。
本發(fā)明方法采用的硬件是Java卡,它在智能卡ROM中實現(xiàn)了一個Java虛擬機,該虛擬機將執(zhí)行一個Java字節(jié)碼的子集,提供外部可以訪問的功能,負責控制對智能卡資源的訪問(如內(nèi)存和I/O)。
Java卡完成的功能有(1)加密和解密移動代理,(2)驗證移動代理的合法身份、唯一性和時間有效性,(3)執(zhí)行網(wǎng)管任務(wù),(4)提取管理結(jié)果信息(在網(wǎng)絡(luò)管理站中)。
不論在網(wǎng)絡(luò)管理站中,還是在被管理節(jié)點中,Java卡不受本地節(jié)點控制,通過與MAEE的交互完成網(wǎng)管任務(wù);被管理節(jié)點不能更改移動代理的代碼和數(shù)據(jù),移動代理也只能根據(jù)自己的權(quán)限,獲取節(jié)點的資源,進行合法的網(wǎng)絡(luò)管理。
2.加密和數(shù)字簽名機制本發(fā)明方法采用常規(guī)密鑰密碼體制的加密解密算法和公開密鑰密碼體制的加密解密算法對移動代理不同代碼和數(shù)據(jù)部分進行加密,并實現(xiàn)數(shù)字簽名。
(1)公共代碼和數(shù)據(jù)要被所有的被管理節(jié)點執(zhí)行,只用常規(guī)密鑰密碼體制的加密解密算法進行加密和解密;(2)私有數(shù)據(jù)和代碼屬于各個被管理節(jié)點,采用公開密鑰密碼體制的加密解密算法對其進行加密和解密,被管理節(jié)點的私有代碼和數(shù)據(jù)用加密密鑰加密后,只能由所屬的合法的被管理節(jié)點(或網(wǎng)絡(luò)管理站,當管理站需要提取被管理節(jié)點的私有的管理結(jié)果信息)用解密密鑰進行解密。在被管理節(jié)點,私有代碼和數(shù)據(jù)以及一些公共代碼和數(shù)據(jù)不再被使用時,從移動代理卸解掉,而產(chǎn)生的私有數(shù)據(jù)用該節(jié)點的加密密鑰進行加密;(3)新產(chǎn)生的公共管理結(jié)果數(shù)據(jù)以及剩下的公共代碼和數(shù)碼組合后用常規(guī)加密解密算法的密鑰重新加密。
常規(guī)加密解密算法的密鑰和公開密鑰密碼體制的加密解密算法涉及的兩個密鑰都得到了保護。這些密鑰都是由網(wǎng)絡(luò)管理站及其Java卡管理器自動生成和加載(存入Java卡證書或保存到Java卡),而不是人為分配的;另外,這些密鑰只能由功能模塊讀取,被管理節(jié)點Java卡中保存的密鑰只能由Java卡專用功能模塊(解密器、加密和傳輸處理模塊)訪問。
本發(fā)明方法還實現(xiàn)移動代理信息的數(shù)字簽名機制。移動代理的公共代碼和數(shù)據(jù)只能由網(wǎng)絡(luò)管理站和各被管理節(jié)點的Java卡進行加密和解密,而私有代碼和數(shù)據(jù)只能由所屬的合法被管理節(jié)點或網(wǎng)絡(luò)管理站進行加密和解密。在網(wǎng)管過程中,Java卡不受被管理節(jié)點控制,其輸入是加密之后的移動代理,被管理節(jié)點不知道移動代理代碼和數(shù)據(jù)加密的密鑰而不能對移動代理進行加密,也就是說執(zhí)行網(wǎng)管任務(wù)的移動代理只能最先由網(wǎng)絡(luò)管理站發(fā)出。本發(fā)明方法主要利用這種移動代理的數(shù)字簽名機制來讓網(wǎng)絡(luò)管理站和被管理節(jié)點核實移動代理的合法身份而防止偽造。
3.有效性機制本發(fā)明方法采用的一種有效性安全保護機制是在移動代理的公共數(shù)據(jù)中放入了一個時間戳,網(wǎng)絡(luò)管理站和各被管理節(jié)點據(jù)此驗證移動代理是否過期、確定移動代理是否可能被重發(fā)或篡改(因為重發(fā)和篡改都需要時間)。
本發(fā)明方法采用的另一種有效性安全保護機制是為每一個執(zhí)行網(wǎng)管任務(wù)的移動代理和每一個私有代碼分別分配一個唯一標識符,前一個標識符放入公共數(shù)據(jù)中,后一個標識符放入私有數(shù)據(jù)中。為移動代理及其私有代碼分配唯一標識符將避免移動代理被重發(fā)或篡改。在被管理節(jié)點中,Java卡記錄訪問過的移動代理的唯一標識符和執(zhí)行過的私有代碼的唯一標識符,通過驗證這兩個標識符確定移動代理及其私有代碼的合法性和有效性。
本發(fā)明面向移動代理網(wǎng)管的安全保護方法所包含的步驟為步驟1).網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境根據(jù)網(wǎng)管任務(wù)創(chuàng)建移動代理,根據(jù)所要遍歷的被管理節(jié)點將該代理分割為公共代碼和數(shù)據(jù)、各個被管理節(jié)點的私有代碼和數(shù)據(jù),提交給網(wǎng)絡(luò)管理站的Java卡;步驟2).網(wǎng)絡(luò)管理站的Java卡首先對移動代理進行有效性管理,在移動代理公有數(shù)據(jù)中加上移動代理的唯一標識符、時間戳,在移動代理的各個私有數(shù)據(jù)中分別加上各個私有代碼的唯一標識符,然后用常規(guī)加密算法加密移動代理的公共代碼和數(shù)據(jù),再分別用公開密鑰密碼體制的加密算法對各個節(jié)點的私有代碼和數(shù)據(jù)進行加密,最后交給移動代理執(zhí)行環(huán)境,傳送給被管理節(jié)點;步驟3).移動代理到達被管理節(jié)點后,移動代理執(zhí)行環(huán)境將其上載到該節(jié)點的Java卡中;步驟4).被管理節(jié)點的Java卡首先用常規(guī)解密算法解密移動代理的公共代碼和數(shù)據(jù),然后用公開密鑰密碼體制的解密算法解密本地節(jié)點的私有代碼和數(shù)據(jù),最后從解密的信息中提取移動代理的唯一標識符、時間戳以及私有代碼的唯一標識符,對移動代理進行有效性驗證,檢查移動代理和在本地節(jié)點中私有代碼的唯一標識符驗證其是否合法,通過檢查時間戳驗證其是否過期;步驟5).被管理節(jié)點Java卡的功能提取模塊從通過有效性驗證的移動代理中,提取要在本節(jié)點執(zhí)行的公共代碼和數(shù)據(jù)以及私有代碼和數(shù)據(jù),交給Java卡任務(wù)執(zhí)行器,任務(wù)執(zhí)行器通過與移動代理執(zhí)行環(huán)境的本地資源控制模塊進行交互,完成網(wǎng)絡(luò)管理任務(wù);步驟6).被管理節(jié)點的網(wǎng)管任務(wù)完成后,Java卡首先卸解掉移動代理中不再需要的私有代碼和數(shù)據(jù)以及一些公有代碼和數(shù)據(jù),然后重新組合移動代理,對公有代碼和數(shù)據(jù)用常規(guī)加密算法重新加密,而對新的私有數(shù)據(jù)用公開密鑰密碼體制的加密算法重新加密,最后,Java卡將重新組合后的移動代理和下一個節(jié)點的傳輸信息交給被管理節(jié)點的移動代理執(zhí)行環(huán)境,移動代理執(zhí)行環(huán)境將移動代理傳送到下一個節(jié)點,移動代理在剩下的被管理節(jié)點繼續(xù)進行網(wǎng)絡(luò)管理;步驟7).移動代理完成所有網(wǎng)管任務(wù)后,返回管理站,網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境將其交給管理站的Java卡;步驟8).網(wǎng)絡(luò)管理站的Java卡首先用常規(guī)解密算法解密移動代理的公共數(shù)據(jù),再用公開密鑰密碼體制的解密算法對所有節(jié)點的私有數(shù)據(jù)進行解密,然后對解密的移動代理進行有效性驗證,通過檢查移動代理的唯一標識符驗證其是否合法,通過檢查時間戳驗證查其是否過期,最后,Java卡的信息提取模塊從這些解密的數(shù)據(jù)中提取管理結(jié)果信息,提交給管理站移動代理執(zhí)行環(huán)境做統(tǒng)計分析處理。
通過移動代理接收接口模塊負責將移動代理輸入網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境到網(wǎng)絡(luò)管理站的Java卡,通過管理信息處理模塊處理網(wǎng)絡(luò)管理站的Java卡所提交的管理結(jié)果信息,通過密碼控制模塊提供、更改或廢除網(wǎng)絡(luò)管理站的Java卡所用的密碼,通過移動代理發(fā)送接口模塊發(fā)送網(wǎng)絡(luò)管理站的Java卡所提交的移動代理。
網(wǎng)絡(luò)管理站的Java卡通過有效性管理模塊為移動代理和每一個私有代碼分別分配一個唯一標識符、在移動代理的公共數(shù)據(jù)中放入時間戳,或者檢查移動代理中的唯一標識符保證信息沒有重復(fù)、檢查時間戳保證信息沒有過期,通過加密和傳輸處理模塊加密移動代理的代碼和數(shù)據(jù)、設(shè)置代理的傳輸路徑,通過解密器解密移動代理的代碼和數(shù)據(jù),通過信息提取模塊提取移動代理的公共數(shù)據(jù)和私有數(shù)據(jù)。
被管理節(jié)點的移動代理執(zhí)行環(huán)境通過移動代理接收接口模塊負責將移動代理輸入到被管理節(jié)點的Java卡,通過本地資源控制模塊保證Java卡合法訪問被管理節(jié)點系統(tǒng)資源、讀寫被管理對象,通過移動代理發(fā)送接口模塊發(fā)送被管理節(jié)點的Java卡所提交的移動代理。
被管理節(jié)點的Java卡通過解密器解密移動代理的代碼和數(shù)據(jù),通過有效性驗證模塊檢查移動代理的唯一標識符保證信息沒有重復(fù)、檢查時間戳保證信息沒有過期,通過功能提取模塊從驗證通過的移動代理中,提取在本節(jié)點執(zhí)行的代碼和數(shù)據(jù),通過任務(wù)執(zhí)行器與所述被管理節(jié)點的移動代理執(zhí)行環(huán)境中的本地資源控制模塊交互執(zhí)行網(wǎng)管任務(wù),通過加密和傳輸處理模塊加密移動代理的代碼和數(shù)據(jù)、設(shè)置代理的傳輸路徑。
有益效果本發(fā)明方法提出了綜合的移動代理網(wǎng)管安全保護方法。通過使用本發(fā)明提出的方法可以避免分散的安全保護方法累積時帶來的復(fù)雜性、可以提高安全方法的靈活性,有效的達到保護移動代理網(wǎng)管的目的。下面給出具體的說明。
1.硬件和軟件相結(jié)合的安全保護在本發(fā)明方法中,移動代理執(zhí)行環(huán)境和Java卡這種可靠性很強的硬件相結(jié)合,有助于使移動代理在網(wǎng)管中免受潛在的惡意節(jié)點的攻擊。在具體的網(wǎng)管過程中,移動代理通過消息與不可信賴環(huán)境交互完成網(wǎng)管任務(wù),當硬件不能控制節(jié)點時,節(jié)點的資源得到了保護。在此基礎(chǔ)上,密碼技術(shù)的使用將進一步在軟件層次上保證移動代理以及網(wǎng)管信息的安全性。本發(fā)明方法從硬件和軟件綜合的角度保證了移動代理網(wǎng)管的安全性,降低了安全保護的難度,增加了安全的可配置性,系統(tǒng)易于擴展。
2.靈活性在本發(fā)明方法中,移動代理根據(jù)具體的網(wǎng)管任務(wù)來靈活地實施安全保護,在這個過程中,將移動代理區(qū)分為公共代碼和數(shù)據(jù)以及私有代碼和數(shù)據(jù)有助于有差別地實施對不同對象的安全保護,從而在保護強度上提高了系統(tǒng)的靈活性。
3.有效保護網(wǎng)管傳輸中移動代理的安全攻擊者截獲被管理網(wǎng)絡(luò)傳輸中的移動代理,他就有可能篡改、偽造和重發(fā)該移動代理。在本發(fā)明方法中,攻擊者面臨的困難是,他必須獲取常規(guī)加密解密算法的密鑰或者公開密鑰密碼體制的加密解密算法的加密密鑰和解密密鑰,才能夠篡改和偽造該移動代理。而這些密鑰都是由網(wǎng)絡(luò)管理站及其Java卡管理器自動生成和加載(存入Java卡證書或保存到Java卡),對任何人(包括管理員)都是保密的;同時,各個被管到節(jié)點的Java卡都不受本地節(jié)點的控制,所以攻擊者獲取這些密鑰一般來說是不可能的。攻擊者截獲傳輸中的移動代理后,對網(wǎng)絡(luò)管理的另一個攻擊就是重發(fā)。但在本發(fā)明方法中,通過Java卡的有效性驗證(管理站Java卡的有效性管理),檢查移動代理的唯一標識符、時間戳以及移動代理中在被管理節(jié)中私有代碼的唯一標識符,能夠驗證該代理是否訪問過當前節(jié)點,該代理中被管理節(jié)點私有代碼是否曾經(jīng)執(zhí)行過,該代理是否過期??梢姡景l(fā)明方法能夠在一定程度上抵御傳輸中移動代理被篡改和偽造,也能夠有效地抵御重發(fā)攻擊。
4.最大限度減少安全隱患攻擊者獲取了公開密鑰密碼體制的加密解密算法的加密密鑰和(或)解密密鑰。在本發(fā)明方法中,因為公開密鑰密碼體制的加密解密算法用來加密或解密移動代理的各個被管理節(jié)點的私有代碼和數(shù)據(jù),所以當攻擊者只獲得某個被管理節(jié)點公開密鑰密碼體制的加密解密算法的解密密鑰時,他可以解密移動代理中屬于該節(jié)點的私有代碼或數(shù)據(jù),但當他沒有獲得加密密鑰時,就不能篡改和偽造私有代碼或數(shù)據(jù),因為Java卡輸入的必須是加密后的私有代碼和數(shù)據(jù),而攻擊者不知道加密密鑰就無法對篡改和偽造后的私有代碼或數(shù)據(jù)進行加密,所以攻擊者對私有代碼或數(shù)據(jù)的篡改和偽造對于Java卡執(zhí)行管理任務(wù)來說是無效的。因此,當攻擊者同時知道加密密鑰和解密密鑰時,他就可以在MAEE將移動代理輸入Java卡之前,解密屬于該節(jié)點的私有代碼或數(shù)據(jù),然后進行篡改和偽造,重新加密后,放回移動代理,輸入到Java卡中,從而欺騙了本地節(jié)點的Java卡執(zhí)行非法的網(wǎng)絡(luò)管理任務(wù);另外,攻擊者在移動代理完成任務(wù)輸入到MAEE后,可以解密本節(jié)點的私有數(shù)據(jù),進行篡改和偽造,然后重新加密后,放回移動代理,從而欺騙網(wǎng)絡(luò)管理站。但是公開密鑰密碼體制的加密解密算法的加密密鑰和解密密鑰的泄密只影響局部節(jié)點的安全網(wǎng)絡(luò)管理,而不影響其它部分安全的網(wǎng)絡(luò)管理??梢姡景l(fā)明方法對各個被管理節(jié)點私有代碼和數(shù)據(jù)的分開加密保護,能夠?qū)⒕W(wǎng)絡(luò)管理過程的安全隱患限制在局部節(jié)點而減少了安全威脅的影響在整個被管理網(wǎng)絡(luò)的擴散。
圖1是移動代理網(wǎng)管安全體系結(jié)構(gòu)示意圖。
圖2是Java卡和移動代理執(zhí)行環(huán)境的結(jié)構(gòu)及其交互示意圖,其中圖2a為網(wǎng)絡(luò)管理站部分,圖2b為被管理節(jié)點部分。
圖3是面向移動代理網(wǎng)管的安全方法流程示意圖。
具體實施例方式
下面根據(jù)附圖和實施例對本發(fā)明作更詳細的描述。
根據(jù)圖1和圖2,本發(fā)明是一種系統(tǒng)的面向移動代理網(wǎng)管的安全保護方法,從移動代理在網(wǎng)絡(luò)管理站中創(chuàng)建、到在被管理節(jié)點中執(zhí)行網(wǎng)管任務(wù),最后回到網(wǎng)絡(luò)管理站提交信息,整個網(wǎng)絡(luò)管理過程都受到安全的保護。
為了方便描述,我們假定執(zhí)行網(wǎng)管任務(wù)的移動代理要訪問n個被管理節(jié)點,每一個被管理節(jié)點的Java卡保存有常規(guī)加密解密算法的密鑰和公開密鑰密碼體制的加密解密算法涉及的兩個密鑰,設(shè)常規(guī)加密解密算法的密鑰為K,第i(1≤i≤n)被管理節(jié)點的Java卡保存的公開密鑰密碼體制的加密解密算法的加密密鑰為PKi,解密密鑰為SKi;網(wǎng)絡(luò)管理站的Java卡從移動代理執(zhí)行環(huán)境可以獲得K、PK1~PKn、SK1~SKn。在管理過程中,網(wǎng)絡(luò)管理站的移動執(zhí)行環(huán)境創(chuàng)建移動代理(裝配有公共代碼和數(shù)據(jù),所訪問的各個被管理節(jié)點的私有代碼和數(shù)據(jù)),管理站和各個被管理節(jié)點的移動代理執(zhí)行環(huán)境負責移動代理的傳送和接收。
具體實施方式
(圖3)為(1)網(wǎng)絡(luò)管理站的MAEE根據(jù)網(wǎng)管任務(wù)創(chuàng)建移動代理,根據(jù)所要遍歷的被管理節(jié)點將該代理分割為公共代碼和數(shù)據(jù)、各個被管理節(jié)點的私有代碼和數(shù)據(jù),提交給網(wǎng)絡(luò)管理站的Java卡(2)網(wǎng)絡(luò)管理站的Java卡首先對移動代理進行有效性管理,在移動代理公有數(shù)據(jù)中加上移動代理的唯一標識符、時間戳,在移動代理的各個私有數(shù)據(jù)中分別加上各個私有代碼的唯一標識符;然后用常規(guī)加密算法加密移動代理公共代碼和數(shù)據(jù),再分別用公開密鑰密碼體制的加密算法對各個節(jié)點的私有代碼和數(shù)據(jù)進行加密,最后交給MAEE,傳送給第一個被管理節(jié)點。
(3)移動代理到達第i(1≤i≤n)被管理節(jié)點后,MAEE將其上載到該節(jié)點的Java卡中。
第i被管理節(jié)點的Java卡用常規(guī)解密算法解密移動代理的公共代碼和數(shù)據(jù),再用公開密鑰密碼體制的解密算法對本節(jié)點的私有代碼和數(shù)據(jù)進行解密,從解密的信息中提取移動代理的唯一標識符、時間戳以及在本地節(jié)點中私有代碼的唯一標識符,對移動代理進行有效性驗證,檢查移動代理和在本地節(jié)。
(4)點中私有代碼的唯一標識符驗證其是否合法,通過檢查時間戳驗證其是否過期。
(5)第i被管理節(jié)點Java卡的功能提取模塊從通過有效性驗證的移動代理中,提取要在本節(jié)點執(zhí)行的公共代碼和數(shù)據(jù)以及私有代碼和數(shù)據(jù),交給Java卡任務(wù)執(zhí)行器。任務(wù)執(zhí)行器通過與第i被管理節(jié)點MAEE的本地資源控制模塊
(6)進行交互,完成網(wǎng)管任務(wù)。
(7)第i被管理節(jié)點的網(wǎng)管任務(wù)完成后,Java卡卸解掉移動代理中不再需要的私有代碼和數(shù)據(jù)以及一些公有代碼和數(shù)據(jù),重新組合移動代理,對公有代碼和數(shù)據(jù)(可能包含新的數(shù)據(jù))用常規(guī)加密算法重新加密,而對新的私有數(shù)據(jù)(可能不存在)用公開密鑰密碼體制的加密算法重新加密。最后,Java卡將重新組合后的移動代理和下一個節(jié)點的傳輸信息提交給第i被管理節(jié)點的MAEE。第i被管理節(jié)點的MAEE將移動代理傳送到下一個節(jié)點。若下一個節(jié)點是被管理節(jié)點,轉(zhuǎn)到(2);若下一個節(jié)點是網(wǎng)絡(luò)管理站,則繼續(xù)往下。
(8)移動代理到達網(wǎng)絡(luò)管理站后,MAEE將其上載到網(wǎng)絡(luò)管理站的Java卡中。
(9)網(wǎng)絡(luò)管理站的Java卡用常規(guī)解密算法解密移動代理的公共數(shù)據(jù),再用公開密鑰密碼體制的解密算法對所有節(jié)點的私有數(shù)據(jù)進行解密,然后對解密的移動代理進行有效性驗證,通過檢查移動代理的唯一標識符驗證其是否合法,通過檢查時間戳驗證查其是否過期。通過驗證后,Java卡的信息提取模塊從這些解密的數(shù)據(jù)中提取管理結(jié)果信息,交給管理站MAEE的管理信息處理模塊做統(tǒng)計分析處理。
權(quán)利要求
1.一種面向移動代理網(wǎng)管的安全保護方法,其特征在于該方法所包含的步驟為步驟1).網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境根據(jù)網(wǎng)管任務(wù)創(chuàng)建移動代理,根據(jù)所要遍歷的被管理節(jié)點將該代理分割為公共代碼和數(shù)據(jù)、各個被管理節(jié)點的私有代碼和數(shù)據(jù),提交給網(wǎng)絡(luò)管理站的Java卡;步驟2).網(wǎng)絡(luò)管理站的Java卡首先對移動代理進行有效性管理,在移動代理公有數(shù)據(jù)中加上移動代理的唯一標識符、時間戳,在移動代理的各個私有數(shù)據(jù)中分別加上各個私有代碼的唯一標識符,然后用常規(guī)加密算法加密移動代理的公共代碼和數(shù)據(jù),再分別用公開密鑰密碼體制的加密算法對各個節(jié)點的私有代碼和數(shù)據(jù)進行加密,最后交給移動代理執(zhí)行環(huán)境,傳送給被管理節(jié)點;步驟3).移動代理到達被管理節(jié)點后,移動代理執(zhí)行環(huán)境將其上載到該節(jié)點的Java卡中;步驟4).被管理節(jié)點的Java卡首先用常規(guī)解密算法解密移動代理的公共代碼和數(shù)據(jù),然后用公開密鑰密碼體制的解密算法解密本地節(jié)點的私有代碼和數(shù)據(jù),最后從解密的信息中提取移動代理的唯一標識符、時間戳以及私有代碼的唯一標識符,對移動代理進行有效性驗證,檢查移動代理和在本地節(jié)點中私有代碼的唯一標識符驗證其是否合法,通過檢查時間戳驗證其是否過期;步驟5).被管理節(jié)點Java卡的功能提取模塊從通過有效性驗證的移動代理中,提取要在本節(jié)點執(zhí)行的公共代碼和數(shù)據(jù)以及私有代碼和數(shù)據(jù),交給Java卡任務(wù)執(zhí)行器,任務(wù)執(zhí)行器通過與移動代理執(zhí)行環(huán)境的本地資源控制模塊進行交互,完成網(wǎng)絡(luò)管理任務(wù);步驟6).被管理節(jié)點的網(wǎng)管任務(wù)完成后,Java卡首先卸解掉移動代理中不再需要的私有代碼和數(shù)據(jù)以及一些公有代碼和數(shù)據(jù),然后重新組合移動代理,對公有代碼和數(shù)據(jù)用常規(guī)加密算法重新加密,而對新的私有數(shù)據(jù)用公開密鑰密碼體制的加密算法重新加密,最后,Java卡將重新組合后的移動代理和下一個節(jié)點的傳輸信息交給被管理節(jié)點的移動代理執(zhí)行環(huán)境,移動代理執(zhí)行環(huán)境將移動代理傳送到下一個節(jié)點,移動代理在剩下的被管理節(jié)點繼續(xù)進行網(wǎng)絡(luò)管理;步驟7).移動代理完成所有網(wǎng)管任務(wù)后,返回管理站,網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境將其交給管理站的Java卡;步驟8).網(wǎng)絡(luò)管理站的Java卡首先用常規(guī)解密算法解密移動代理的公共數(shù)據(jù),再用公開密鑰密碼體制的解密算法對所有節(jié)點的私有數(shù)據(jù)進行解密,然后對解密的移動代理進行有效性驗證,通過檢查移動代理的唯一標識符驗證其是否合法,通過檢查時間戳驗證查其是否過期,最后,Java卡的信息提取模塊從這些解密的數(shù)據(jù)中提取管理結(jié)果信息,提交給管理站移動代理執(zhí)行環(huán)境做統(tǒng)計分析處理。
2.如權(quán)利要求1所述的面向移動代理網(wǎng)管的安全保護方法,其特征在于通過移動代理接收接口模塊負責將移動代理輸入網(wǎng)絡(luò)管理站的移動代理執(zhí)行環(huán)境到網(wǎng)絡(luò)管理站的Java卡,通過管理信息處理模塊處理網(wǎng)絡(luò)管理站的Java卡所提交的管理結(jié)果信息,通過密碼控制模塊提供、更改或廢除網(wǎng)絡(luò)管理站的Java卡所用的密碼,通過移動代理發(fā)送接口模塊發(fā)送網(wǎng)絡(luò)管理站的Java卡所提交的移動代理。
3.如權(quán)利要求2所述的面向移動代理網(wǎng)管的安全保護方法,其特征在于網(wǎng)絡(luò)管理站的Java卡通過有效性管理模塊為移動代理和每一個私有代碼分別分配一個唯一標識符、在移動代理的公共數(shù)據(jù)中放入時間戳,或者檢查移動代理中的唯一標識符保證信息沒有重復(fù)、檢查時間戳保證信息沒有過期,通過加密和傳輸處理模塊加密移動代理的代碼和數(shù)據(jù)、設(shè)置代理的傳輸路徑,通過解密器解密移動代理的代碼和數(shù)據(jù),通過信息提取模塊提取移動代理的公共數(shù)據(jù)和私有數(shù)據(jù)。
4.如權(quán)利要求1所述的面向移動代理網(wǎng)管的安全保護方法,其特征在于被管理節(jié)點的移動代理執(zhí)行環(huán)境通過移動代理接收接口模塊負責將移動代理輸入到被管理節(jié)點的Java卡,通過本地資源控制模塊保證Java卡合法訪問被管理節(jié)點系統(tǒng)資源、讀寫被管理對象,通過移動代理發(fā)送接口模塊發(fā)送被管理節(jié)點的Java卡所提交的移動代理。
5.如權(quán)利要求4所述的面向移動代理網(wǎng)管的安全保護方法,其特征在于被管理節(jié)點的Java卡通過解密器解密移動代理的代碼和數(shù)據(jù),通過有效性驗證模塊檢查移動代理的唯一標識符保證信息沒有重復(fù)、檢查時間戳保證信息沒有過期,通過功能提取模塊從驗證通過的移動代理中,提取在本節(jié)點執(zhí)行的代碼和數(shù)據(jù),通過任務(wù)執(zhí)行器與所述被管理節(jié)點的移動代理執(zhí)行環(huán)境中的本地資源控制模塊交互執(zhí)行網(wǎng)管任務(wù),通過加密和傳輸處理模塊加密移動代理的代碼和數(shù)據(jù)、設(shè)置代理的傳輸路徑。
全文摘要
一種面向移動代理網(wǎng)管的安全保護方法,在硬件上采用智能卡作為移動代理可信賴的執(zhí)行環(huán)境,在軟件層次上采用加密技術(shù)保障移動代理和網(wǎng)管信息的機密性和可靠性。執(zhí)行網(wǎng)管任務(wù)的移動代理受到有效性管理和驗證,并被分割為公共的、私有的代碼和數(shù)據(jù),這兩個部分分別采用常規(guī)加密解密算法、公開密鑰密碼體制的加密解密算法進行保護,而移動代理的核心部分在智能卡中執(zhí)行。本發(fā)明方法從硬件和軟件綜合的角度保證了移動代理網(wǎng)管的安全性,降低了安全保護的難度,增加了安全的靈活性、可配置性和可擴展性,最大限度減少了安全隱患。
文檔編號H04L12/24GK1744523SQ20051009403
公開日2006年3月8日 申請日期2005年8月26日 優(yōu)先權(quán)日2005年8月26日
發(fā)明者王汝傳, 陳志 申請人:南京郵電大學(xué)