郭夢佳 劉嘉亨
摘? ?要:移動代理由于其靈活、移動、自治等特性被廣泛應(yīng)用,但對移動代理的安全性問題研究仍不充分。文章針對移動代理不同方面的安全問題加以分析,針對性地提出安全保護方案,為移動代理的進一步充分應(yīng)用給出新思路。通過提高移動代理安全性,使移動代理技術(shù)在降低網(wǎng)絡(luò)負載、減小所占帶寬、提高系統(tǒng)效率等方面發(fā)揮更大效用。
關(guān)鍵詞:移動代理;安全需求;安全策略
移動代理技術(shù)具有主動性、移動性、智能性、自主性、協(xié)作性、通信性等特性[1],被廣泛應(yīng)用在電子商務(wù)、云環(huán)境計算、無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)、移動目標防御等諸多領(lǐng)域。移動代理技術(shù)屬于一種分布式計算技術(shù),可以被部署在特定任務(wù)環(huán)境下執(zhí)行特定任務(wù),移動代理實質(zhì)是一系列的程序代碼,采用移動代理技術(shù)將整個網(wǎng)絡(luò)上的能量消耗均衡地分配到各個節(jié)點,避免了單個節(jié)點因承載過多而死亡的可能。移動代理技術(shù)可以降低數(shù)據(jù)流通量進而減小能耗,避免不必要的資源浪費,彌補系統(tǒng)負載均衡方面的缺陷。
移動代理應(yīng)用在無線傳感器網(wǎng)絡(luò)中,對于延長網(wǎng)絡(luò)生存期、減小能耗、降低數(shù)據(jù)冗余、增加系統(tǒng)可靠性有著顯著效果。移動代理應(yīng)用到網(wǎng)絡(luò)存儲調(diào)度應(yīng)用中,可通過對各移動代理的優(yōu)先級、產(chǎn)生時序、內(nèi)部結(jié)構(gòu)、和存儲可用性等指標加以設(shè)置,確保移動代理派遣次序更加科學、合理[2]。移動代理在移動目標防御方面的應(yīng)用保障了客戶與服務(wù)器間的連接關(guān)系,使系統(tǒng)的防御性更高,防御更輕便、靈活。其可以根據(jù)被分派的任務(wù)在網(wǎng)絡(luò)中自主移動,輕松完成要執(zhí)行的任務(wù),因此,移動代理技術(shù)在Internet中有著長期、良好的應(yīng)用,但其應(yīng)用依賴于安全的環(huán)境,保證移動代理的安全是使用移動代理的基礎(chǔ)。
1? ? 移動代理的基本結(jié)構(gòu)及安全性需求
移動代理是指能在網(wǎng)絡(luò)節(jié)點間自主移動執(zhí)行某項任務(wù)的程序[3],其是一種計算機軟件實體,能夠在網(wǎng)絡(luò)中自主在主機之間進行遷移,并和代理或主機進行交互。移動代理技術(shù)是分布式技術(shù)與代理技術(shù)相結(jié)合的產(chǎn)物,實際是算法的載體。
1.1? 移動代理的基本結(jié)構(gòu)
不同的移動代理由于執(zhí)行不同的任務(wù),內(nèi)部結(jié)構(gòu)要求也不同。如圖1所示,移動代理的基本結(jié)構(gòu)由以下模塊構(gòu)成:
(1)外部接口模塊,負責移動代理與服務(wù)器之間的連接交互,是移動代理的對外交流窗口,也是移動代理必不可少的組成部分。
(2)代理識別模塊,用于移動代理的身份標識,每個移動代理有且僅有一個特定ID,目的是方便進行代理管理,符合代理安全性的要求。代理服務(wù)器根據(jù)移動代理ID識別查找相應(yīng)移動代理。代理識別模塊還用來識別移動代理的實時相關(guān)狀態(tài)。
(3)處理決策模塊,存儲移動代理的工作任務(wù),對移動代理所處狀態(tài)進行判斷,決定移動代理的任務(wù)執(zhí)行,如在移動目標防御中決定代理與客戶的連接狀態(tài)。
(4)地址列表模塊,用以決定移動代理的實時位置,移動代理根據(jù)地址列表四處移動,并按照各自功能執(zhí)行相應(yīng)任務(wù)。
(5)管理模塊,用于統(tǒng)籌管理移動代理服務(wù)器的其他模塊,使各模塊間統(tǒng)一、協(xié)調(diào)地完成工作。
1.2? 移動代理的安全性需求
解決好移動代理的安全性問題,才能使移動代理得到有效、充分、廣泛的利用。移動代理對安全性問題有完整性、保密性、匿名性、可用性、可核查性等需求[4]。
(1)完整性:即保證移動代理不被篡改。一旦移動代理被惡意篡改將影響整個系統(tǒng)的安全,因此應(yīng)對代理平臺加以保護,防止代理代碼、攜帶的數(shù)據(jù)、代理狀態(tài)被非法篡改,保證只有被授權(quán)的代理或進程可執(zhí)行對代理的修改。
(2)保密性:移動代理服務(wù)器必須保證代理攜帶數(shù)據(jù)的保密性,同時保證利用代理的通信通道具有保密性。即使監(jiān)聽者對通信過程監(jiān)聽也無法獲得移動代理確切位置及代理所攜帶的數(shù)據(jù)。
(3)匿名性:安全的移動代理應(yīng)該是對外匿名的,代理服務(wù)器要保證代理的匿名性并且保證可反向核查,一旦移動代理出現(xiàn)問題要確保平臺能追蹤查處出問題的代理身份。
(4)可用性:代理服務(wù)器要保證移動代理數(shù)據(jù)及服務(wù)的可用性。面對無用耗費資源的請求具有危機處理機制,代理服務(wù)器還要保證具有并發(fā)處理機制。
(5)可核查性:對移動代理采用行程記錄技術(shù),保存移動代理的運行過程及路徑,保證出現(xiàn)問題可核查。
2? ? 移動代理的安全性問題及相應(yīng)解決方案
2.1? 移動代理安全性問題
移動代理常應(yīng)用于大型異構(gòu)網(wǎng)絡(luò),可通過自主遷移完成特定任務(wù),但移動代理的安全性問題限制了其廣泛應(yīng)用[5]。移動代理攜帶數(shù)據(jù)在網(wǎng)絡(luò)中傳遞信息,會面臨諸多不確定的未知因素,因此無論是移動代理本身還是其所攜帶的有用數(shù)據(jù),都存在諸多安全威脅。移動代理的正常運行依賴于健康的運行環(huán)境,但移動代理系統(tǒng)允許不同的代理程序運行,給運行環(huán)境帶來了風險。移動代理在移動過程中??吭诓煌鳈C環(huán)境中,使得主機會面臨惡意代理帶來的攻擊,惡意代理意圖破壞移動代理環(huán)境進而造成整個移動代理系統(tǒng)的紊亂甚至癱瘓。因此,必須考慮代理運行環(huán)境的安全性問題,保證移動代理能夠抵抗攻擊,并保證系統(tǒng)能夠正常運行,給予移動代理足夠的訪問權(quán)限[6]。移動代理的安全性問題主要涉及以下方面:
(1)惡意主機攻擊移動代理,由于移動代理攜帶的數(shù)據(jù)及自身代碼對遠程主機來說是公開的,當主機對移動代理存在惡意即可對其發(fā)出攻擊。首先,惡意主機可盜取代理攜帶的有用信息,如用戶信息、連接的服務(wù)器信息等;其次,惡意主機可修改甚至刪除代理攜帶的數(shù)據(jù);最后,惡意主機可破壞或終止移動代理工作,阻止移動代理執(zhí)行任務(wù),甚至惡意主機可改寫移動代理程序,使受改寫的移動代理執(zhí)行惡意操作,破壞系統(tǒng)正常運行。
(2)惡意代理攻擊執(zhí)行環(huán)境,由于移動代理程序在主機上運行,若移動代理受到攻擊被改寫,則此時移動代理可成為攻擊源,對運行環(huán)境造成威脅。此時被改寫的惡意移動代理可竊取敏感資料、破壞服務(wù)器系統(tǒng)資源、可對主機發(fā)起拒絕服務(wù)攻擊消耗系統(tǒng)資源,達到破壞執(zhí)行環(huán)境的目的。
(3)數(shù)據(jù)傳輸過程的安全性,當移動代理在網(wǎng)絡(luò)中自主移動時,由于網(wǎng)絡(luò)的開放性,所攜帶的程序代碼和數(shù)據(jù)會受到安全威脅。惡意攻擊者可捕獲移動代理并進行修改刪除等操作以達到破壞數(shù)據(jù)傳輸?shù)哪康摹墓舴绞絹矸?,移動代理可能面對被動攻擊,攻擊者不對傳輸過程進行干預,僅通過監(jiān)聽獲取移動代理攜帶的敏感信息,如服務(wù)器地址;攻擊者得不到傳輸過程的加密的數(shù)據(jù),但可對傳送流量進行分析,從而提取有價值的信息。移動代理傳輸過程還可能面對主動攻擊,攻擊者截取IP數(shù)據(jù)包并進行惡意篡改,甚至進行惡意刪除、替換[7]。
(4)移動代理間的安全性問題,移動代理是一段代碼程序且移動代理具有移動性,代理間就可能由于系統(tǒng)故障出現(xiàn)程序錯亂進而引發(fā)安全問題,同時,若有的移動代理是惡意攻擊者,則可對無辜代理產(chǎn)生威脅,造成系統(tǒng)紊亂。
2.2? 解決方案
2.2.1? 惡意主機攻擊移動代理的解決方案
(1)部分結(jié)果封裝技術(shù),按照不同移動代理不同的安全目標相應(yīng)對代理活動結(jié)果進行有效封裝,一旦移動代理被篡改,系統(tǒng)可隨時查出??筛鶕?jù)移動代理不同的任務(wù)類型采取不同的封裝方法,如使用數(shù)字簽名保證完整性和可核查性。
(2)狀態(tài)驗證法,移動代理為完成特定任務(wù),在網(wǎng)路節(jié)點間不斷遷移。一些移動代理面臨被篡改的危害,為檢測移動代理狀態(tài),運用狀態(tài)驗證法檢測移動代理自身運行狀態(tài),同時,檢測移動代理是否被修改,提高了移動代理及服務(wù)器的安全性。
2.2.2? 惡意代理攻擊執(zhí)行環(huán)境的解決方案
(1)沙箱模型,目的主要在于限制移動代理對本地資源的訪問權(quán)限,因為此過程像是將移動代理封裝在特定密閉的箱子運行,因此被稱為沙箱模型。通過限制移動代理對本地資源的訪問權(quán)限,從而減小對環(huán)境改變的可能。
(2)防篡改硬件,使用防篡改硬件智能卡,如JavaCard,使移動代理處于安全的運行環(huán)境下,外部實體無法篡改移動代理內(nèi)部結(jié)構(gòu)及攜帶的信息,有效保護了移動代理的完整性及隱私性。
2.2.3? 數(shù)據(jù)傳輸過程安全性問題的解決方案
(1)執(zhí)行追蹤技術(shù),為及時檢測到惡意主機對移動代理的非授權(quán)修改,通過執(zhí)行追蹤技術(shù)對移動代理的執(zhí)行過程進行可靠記錄。該技術(shù)要求平臺保留代理正確的執(zhí)行過程,同時提交包含陳述標識及平臺簽名信息的記錄密碼哈希值。保存移動代理訪問過的運行環(huán)境記錄,可供后續(xù)查詢。
(2)安全路由選擇技術(shù),假設(shè)安全可信的主機路由不進行惡意操作,只對可信主機發(fā)起移動代理請求。安全路由技術(shù)是通過安全路由策略對移動代理行為加以控制,確保移動代理只能訪問可信任主機。
(3)行程記錄復制技術(shù),為確保一個移動代理安全到達目的地,減小惡意平臺的影響,采用行程記錄復制技術(shù),攜帶有效的信任證書,擴展容錯能力,確保代理平臺的完整性。
2.2.4? 移動代理間的安全性問題解決方案
加密函數(shù)技術(shù)意在找到合適的函數(shù)加密方案,通過在代理平臺執(zhí)行不可辨別初始函數(shù)的加密函數(shù)程序。該技術(shù)與傳統(tǒng)加密技術(shù)不同,是通過對函數(shù)f加密以防止對f任意分析。移動代理代碼采用加密技術(shù),防止移動代理間互相影響,保證了移動代理服務(wù)器的安全、有序。
3? ? 結(jié)語
移動代理的安全性問題是移動代理技術(shù)中非常重要的環(huán)節(jié)。但由于安全問題分布面廣也最為復雜。本文對移動代理可能出現(xiàn)的安全性問題作出了全方位分析,并依次給出解決對策。由于移動代理技術(shù)應(yīng)用廣泛,研究者可在具體應(yīng)用場景中有針對性地選擇或適當修改移動代理功能加以應(yīng)用,通過提高移動代理的安全性來增強其利用價值。本文主要在理論方面對移動代理安全性問題進行研究說明,未來進一步工作將著力于將移動代理應(yīng)用到具體環(huán)境中,通過實驗證明所提解決方案的可用性及安全性,使移動代理技術(shù)在降低網(wǎng)絡(luò)負載、減小所占帶寬、提高系統(tǒng)效率方面發(fā)揮更大作用。
[參考文獻]
[1]周明鋒.基于移動代理技術(shù)的電子商務(wù)研究[D].北京:北京郵電大學,2010.
[2]馬鑫,梁艷春.基于GASA和移動代理的網(wǎng)絡(luò)存儲調(diào)度方法的研究[J].計算機研究與發(fā)展,2011(S1):137-142.
[3]吳杰宏.移動代理(MA)綜述[J].沈陽航空工業(yè)學院學報,2004(5):58-60.
[4]楊晨.移動代理安全保障技術(shù)及標準化研究[J].信息技術(shù)與標準化,2011(3):18-21.
[5]侍偉敏.基于HIBE的移動代理安全方案[J].計算機應(yīng)用研究,2009(1):342-343.
[6]王敏.移動代理安全問題研究[D].天津:天津理工大學,2012.
[7]韓建瓊.基于移動代理的信任管理系統(tǒng)研究[D].西安:西安電子科技大學,2016.