摘要:網(wǎng)格的異構性,動態(tài)性,導致移動代理在網(wǎng)格中使用時,代理和代理平臺之間的安全策略變得很復雜,移動代理的路由算法也很難制定,許多現(xiàn)有的安全解決方案都不能滿足需要,且為移動代理量身定做安全策略也不太現(xiàn)實。該文提出了用戶角色映射和移動代理相結合的網(wǎng)格計算模型,根據(jù)資源的特征屬性,在資源代理模塊進行判斷,動態(tài)的選擇資源的使用方式。有效解決了在網(wǎng)格中引入移動代理所帶來的安全問題,同時提高了網(wǎng)格計算的效率。
關鍵詞:角色映射;移動代理;網(wǎng)格
Research about Mobile Agent in Grid Compute
XING Wei-ning
(Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)
Abstract: As a result of the heterogeneity and dynamic of the grid, while use mobile agent in the grid, the security strategies between mobile agent and agent platforms became more and more complexity, routing algorithm of the mobile agent also difficult to establish, a lot of existing security solving scheme can't satisfy the requirement, and it is too unpractical to constitute security strategies for mobile agent. The paper design a new grid compute model combine with user role mapping and mobile agent, on the basis of resource characteristic, estimate in the resource broker model, dynamically choice the use mode of the resource. The model effectively resolve the security problem which aroused by the use of mobile agent in the grid, and enhance the efficiency of the grid compute.
Key words: role mapping; mobile agent; grid
網(wǎng)格計算是指動態(tài)地將地理上分布的、系統(tǒng)異構的各種計算資源、存儲資源以及其它儀器設備,通過互聯(lián)網(wǎng)技術,高度的集合在一起, 進行無縫的、協(xié)同的,大規(guī)模計算應用。這些計算應用可以是分布式超級計算、遠程沉浸、分布式數(shù)據(jù)挖掘等[1]。由于網(wǎng)格提供了在不同平臺、不同管理域的任意兩點或多點間,實現(xiàn)直接或間接的互連、互通、互操作的,資源的高度共享和高級計算的協(xié)同處理能力,因此,網(wǎng)格計算的安全問題是網(wǎng)格能夠在各個領域、各個行業(yè)得到廣泛應用所需要解決的最基本問題[2]。
1 移動代理
Mobile Agent 技術起源于20世紀的分布式人工智能的研究,近年來這一技術逐漸被應用在越來越多的領域中。Mobile Agent 技術強調軟件的移動性、分布性、自主性、智能性、協(xié)同性和社會性等,通常用來構建大規(guī)模的分布式軟件系統(tǒng)[3]。軟件Mobile Agent是模型化的復雜軟件系統(tǒng)的高級抽象,展示高度的動態(tài)行為,是一種復雜的計算機程序,采取自治的行為,協(xié)同應用與環(huán)境交互,完成給定的目標。它與傳統(tǒng)的RPC(遠程過程調用)相比,具有以下優(yōu)點:1) 減輕了網(wǎng)絡負載;2) 對網(wǎng)絡的延時和抖動不敏感;3) 可以封裝專有協(xié)議,在不兼容系統(tǒng)之間協(xié)調和互操作;4) 異步操作不需要持續(xù)的網(wǎng)絡連接;5) 容易支持服務的個性化;6) 容易適應多變的網(wǎng)絡環(huán)境。正是因為移動代理技術具有的這些優(yōu)點很好地適應了網(wǎng)格計算環(huán)境下分布式并行計算的任務需求,所以它首當其沖地成為網(wǎng)格計算實現(xiàn)中間件的首選 [4]。
2 移動代理在網(wǎng)格中使用所產(chǎn)生的問題
由于網(wǎng)格具有很大的異構性,移動代理所登陸的各異構平臺之間的安全策略不一樣,安全防護水平也不一樣,因此移動代理在使用時,其安全措施都是在代理和平臺之間進行交互的,網(wǎng)格的異構性導致移動代理應用環(huán)境的安全問題變得相當復雜,移動代理自身的安全保護策略也很難制定。同時各移動代理平臺之間的安全評價標準也不一致,這使得移動代理進行路由選擇時的算法設計相當困難。網(wǎng)格的動態(tài)性也給移動代理的使用帶來了安全隱患,網(wǎng)格中的資源數(shù)量巨大,并且是動態(tài)變化的,獨立的研究機構和用戶可以自主決定是否或如何共享自己的資源,因此網(wǎng)格環(huán)境中可用資源的數(shù)量和位置經(jīng)常改變。一些固有的移動代理安全解決方案在動態(tài)的網(wǎng)格中并不適用,如基于JavaCard的移動代理安全模型,因為在網(wǎng)格中事先并不知道哪個資源可以使用,所以不能給所要使用的資源配置硬件,而且資源的數(shù)量巨大,實現(xiàn)成本很高[5]。
在網(wǎng)格應用中,所需要的安全等級以及移動代理的代碼和數(shù)據(jù)的敏感程度直接決定了移動代理的遷移率。如圖1所示,當代理任務的敏感度增加,代理的創(chuàng)建者就會降低代理的遷移率。垂直的陰影條代表了一個分割點,代理的創(chuàng)建者根據(jù)這個分割點判斷哪個代理是靜態(tài)的,哪個代理是移動的。分割點的位置是由現(xiàn)有可用的安全機制、執(zhí)行需求、代理的代碼和數(shù)據(jù)的敏感程度、最大可承受的風險和功能性需求的等級決定的。
綜合上面問題,由于網(wǎng)格結構龐大,關系復雜,網(wǎng)格中資源高度共享,使得移動代理在網(wǎng)格中的使用存在安全和效率的問題。如果為網(wǎng)格中的移動代理量身定做一套安全方案,可能會在安全性方面有所提高,但由于網(wǎng)格的異構性,動態(tài)性,其對效率的影響會抵消使用移動代理帶來的優(yōu)勢,甚至最終反而不如未使用移動代理的情況。因此,本文提出一種新的網(wǎng)格計算模型,利用靜態(tài)的用戶角色映射和動態(tài)的移動代理相結合的方法,根據(jù)資源的屬性,有選擇的使用移動代理,減少使用移動代理帶來的安全漏洞,有效地提高了移動代理在網(wǎng)格系統(tǒng)中的安全性,同時提高了網(wǎng)格計算的效率。
3 用戶角色映射和移動代理相結合的可信網(wǎng)格計算模型
在網(wǎng)格環(huán)境下,用戶和資源的管理通常是以VO或社區(qū)作為基本的管理單元的,一個靜態(tài)的網(wǎng)格系統(tǒng)從理論上來講是比較安全的,不會對網(wǎng)格系統(tǒng)造成安全威脅。只有當用戶通過網(wǎng)格門戶進入網(wǎng)格系統(tǒng),提交任務并對資源進行調度時,才會造成安全威脅。特別是純粹使用移動代理進行網(wǎng)格計算,會帶來更多的安全隱患。針對以上的安全問題,本文提出靜態(tài)的用戶角色映射和動態(tài)的移動代理相結合的網(wǎng)格計算模型,如圖2。
1) 用戶代理模塊
在網(wǎng)格環(huán)境中,某些時候(如希望檢索同等地位的多個資源) 用戶必須重復地輸入通行代碼以證明自己的合法性,顯得很不方便。用戶當然希望能一次性通過,但這樣做會導致通行代碼和私鑰長時間暴露在外,存在安全隱患。在GSI中是使用委托代理來解決這個問題的。委托代理是一種短期證書,是由用戶的長期證書簽字的,時間限制一般在數(shù)小時或數(shù)天,有了這個委托代理,用戶就不必做重復工作了。代理證書是應用于分布式環(huán)境中的委托代理機制[6]。
用戶通過網(wǎng)格入口登錄網(wǎng)格系統(tǒng),由用戶代理生成用戶的代理證書。代理證書包括用戶的全局角色(Grid Role),開始時間(Start Time),結束時間(End Time)等。
2) 用戶管理模塊
用戶使用代理證書進入虛擬組織,用戶管理模塊對各種用戶進行分流,對歸屬于本社區(qū)的用戶和非本社區(qū)用戶區(qū)別對待。對于屬于本社區(qū)的用戶來說,用戶管理模塊首先要對其進行身份認證,經(jīng)過角色和權限映射機制給其分配相應的角色并授予訪問權限。對于非本社區(qū)用戶來說,用戶管理模塊將該用戶的身份信息提交給用戶請求代理URB,委托URB對該用戶進行身份認證并創(chuàng)建零時的代理角色,接著用戶管理模塊對代理角色進行角色與權限映射并授予訪問權限,在訪問控制的同時緩存了該用戶的活動記錄,直至用戶訪問活動結束時,用戶管理模塊將此用戶的活動記錄轉交給URB并委托URB把此記錄以UAML文檔的形式發(fā)送給相應的宿主社區(qū)或虛擬組織。同時定義基于XML的UAML(User Activity XML)文檔格式來登記用戶的活動記錄,方便對系統(tǒng)維護以及相關數(shù)據(jù)的采集與統(tǒng)計分析。
3) 資源代理模塊
一個資源代理是一個代理商,通常在域內(intradomain)或域間(interdomain)進行安全傳輸。負責資源調度去訪問一個資源和映射一個計算到資源。資源代理在使用資源時受用戶控制和權限的限制。資源代理是由網(wǎng)格系統(tǒng)創(chuàng)建的進程,完成資源的認證、分配、回收等[7]。
本模型中資源調度模塊的流程如圖3所示,首先用戶使用代理證書和資源代理證書進行相互認證,認證通過后,用戶向資源代理提交資源使用申請。資源代理根據(jù)用戶所要使用的資源號,以及資源特征,進行判斷。如果是申請的本地資源,資源代理直接調度資源,并把計算映射到資源上。如果本地資源不能滿足用戶的需求,則需要進行跨虛擬組織訪問。進行跨虛擬組織訪問有兩種途徑:用戶角色映射和移動代理。資源代理根據(jù)用戶所申請資源的特征屬性,決定采取哪種方法。
如果所申請資源具有需傳遞數(shù)據(jù)少,計算過程相對獨立,網(wǎng)絡通信負荷小的特性,則采用用戶角色映射的方法進行跨虛擬組織訪問。資源代理向跨虛擬組織訪問策略庫發(fā)出申請,策略庫根據(jù)一定的策略,進行資源評估,包括安全性,可信度,高效性。按照評估結果,搜索到適合的包含資源的虛擬組織。該虛擬組織中的用戶管理模塊對用戶的代理證書進行鑒定,如果用戶合法,進入該虛擬組織的用戶管理模塊。計算完成后,數(shù)據(jù)返回給資源代理模塊。
如果用戶所申請的資源需和用戶進程進行頻繁交互,需占用大量網(wǎng)絡通信資源,并且在計算過程中,還會再次跨虛擬組織進行資源訪問,則資源代理把所有用戶數(shù)據(jù)傳遞給移動代理創(chuàng)建模塊,由移動代理創(chuàng)建模塊進行處理。
4 資源調度模塊
在跨虛擬組織進行資源調度時,可能有多個網(wǎng)格資源能夠提供資源代理和移動代理所提出的需求的時候,需要在多個網(wǎng)格資源之間進行選擇。考慮到網(wǎng)格中計算機的處理速度和連接傳輸速率都不同,在異構的網(wǎng)絡中進行資源調度的目標是最優(yōu)化整體應用的完成時間。而且網(wǎng)格環(huán)境復雜、動態(tài)變化、資源異構性強,因此需要對資源進行安全性、可信度、高效性進行評估,并為用戶選擇相應的虛擬組織[10]。資源調度模塊主要包括兩部分:資源評價模塊和移動代理遷移策略模塊。
5 結論與進一步工作
本文提出了基于用戶角色映射和移動代理相結合的網(wǎng)格計算模型,利用資源代理模塊,根據(jù)所申請資源的特征屬性進行判斷,選擇用戶角色映射方法還是選擇移動代理的方法,節(jié)約通信帶寬的同時,保證了安全性,較好的解決了在網(wǎng)格計算中引入移動代理所帶來的安全和效率問題。模型中的用戶代理模塊用于生成用戶的代理證書,并且代表用戶與其余模塊進行交互。對用戶代理模塊的設計,擬采用MyProxy為基礎,針對網(wǎng)格的動態(tài)性特點,在證書的生成、更新、撤銷方面作出改進。并且考慮到MyProxy系統(tǒng)用硬件加密的密鑰處理機來保護私鑰成本太高,擬采用cookie來保護私鑰,即可以解決私鑰的安全問題,又可以降低成本。
參考文獻:
[1] Foster I,Kesselman C,Nick J,et al.The physiology of the grid:An open grid services architecture for distributed systems integration[EB/OL].http://www.globus.org/research/papers/ogsa.pdf.
[2] 劉怡文,李偉琴,韋衛(wèi).信息網(wǎng)格安全體系結構的研究[J].北京航空航天大學學報,2003,29(7):631-635.
[3] 王汝傳,徐小龍,鄭曉燕,孫知信.移動代理安全機制模型的研究[J].計算機學報,2002,25(12):1294-1301.
[4] Wu Jiehong,Chang Guiran,Li Jia.A Scheme for Protecting Mobile Agents Based on Combining Obfuscated Data and Time Checking Technology[C].IEEE Computer Society,Washington, DC,USA:Proceedings of the Third International Conference on International Information Hiding and Multimedia Signal Processing (IIH-MSP 2007) - Volume 01 table of contents,2007:221-224.
[5] Myproxy Overview[EB/OL].http://www.ncsa.uiuc.edu/Di2visions/ ACES/Myproxy/.
[6] 劉利民,查禮.網(wǎng)格用戶管理體系結構的研究與設計[J].計算機研究與發(fā)展,2004,41(12):2237-2242.
[7] 石柯,代峰,石宣化,陶永才.資源代理在異構網(wǎng)格互操作中的應用[J].華中科技大學學報,2007,35(11):80-83.
[8] Bürkle A,Essendorfer B,Hertel A,et al.A Test Suite for the Evaluation of Mobile Agent Platform Security[C].IAT '06: Proceedings of the IEEE/WIC/ACM international conference on Intelligent Agent Technology Publisher: IEEE Computer Society,2006:752-756.
[9] 穆鴻,王汝傳,徐小龍.基于移動代理的網(wǎng)格計算安全基礎架構研究[J].南京郵電學院學報,2004(1):72-77.
[10] 柳毅,張凌.基于移動代理的安全選擇式路由協(xié)議[J].華南理工大學學報,2007,35(1):84-88.