摘 要:將移動代理和主動網絡思想融入到下一代網絡的研究中,提出基于移動代理的主動網絡的概念和模型,但同時也引入了傳統(tǒng)安全領域中所沒有的安全問題。為解決MANet(mobile agents based acitve network)面臨的安全威脅,對基于移動代理的主動網絡安全架構模型進行了研究,討論移動代理的安全技術和主動網絡中的安全問題,重點討論主動結點的安全問題,設計了一個通用性的主動結點安全性框架模型。一個良好的安全機制已經成為衡量網絡好壞的一個重要指標。
關鍵詞:移動代理;主動網絡;安全機制;主動結點
Research of Network Security Architecture Based on Mobile Agent
WANG Bin,LI Jie
(College of Information Science and Engineering,Central South University,Changsha,410075,China)
Abstract:Mobile agent and active idea into next generation network architecture is introduced,the concept and framework of mobile agent-based active network are put forward,while the security of the new network architecture is also proposed.In order to solve security threat of MANet(mobile agents based acitve network faced,a security architecture of MANet is studied,the security technology of mobile agent and the security problems of active network,the security problem of acitve node are discussed,and a universal security framework of active node is designed.A good security mechanism has been become important aspect to judge network performance.
eywords:mobile agent;acitve network;security mechanism;active node
1 引 言
隨著網絡技術的飛速發(fā)展,網絡正影響并改變著人們生活的方方面面,現有的傳統(tǒng)網絡的功能單一而封閉,對網絡內部結點的功能開發(fā)很少,服務只能在端系統(tǒng)實現,使現有服務的優(yōu)化和擴展、新服務的開發(fā)等受到很大的限制。因此DARPA(美國國防部高級研究計劃署)提出一種新型的網絡體系結構[CD2]主動網絡。而具有跨平臺移動機制的移動代理技術為計算機網絡環(huán)境中的許多領域提供了新的解決方案,特別是移動代理技術與主動網絡的結合正在逐步受到關注,但相應的安全問題日益突出。
本文主要以移動代理系統(tǒng)的安全問題和主動網絡安全的問題來展開,提出一種基于移動代理的主動網絡安全架構,并給出了一些相應的策略。
2 基于移動代理的主動網絡安全問題
2.1 移動代理
移動代理是能在異構網絡主機之間自主地進行遷移的有名字的程序,程序能自主地決定在什么時候遷移到什么地方。在移動時,它能在程序運行的任意點上掛起,然后遷移到另一臺主機上重新開始或接著這一點繼續(xù)往下執(zhí)行,最后返回結果和消息。移動代理也能克隆自己或者產生子代理,遷移到其他主機上以共同協(xié)作完成復雜的任務。
移動代理系統(tǒng)是指能創(chuàng)建、解釋、執(zhí)行、傳送和終止代理的平臺,它由名稱和地址惟一標志。每個系統(tǒng)都可以運行多個代理。代理通過和主機服務進行交互來獲得所需的服務。移動代理的2大特點就是移動性和自主性。
2.2 MANet主動節(jié)點的結構
在MANet中,每個內部網絡結點都是一個具有計算能力的主動結點。每個主動結點不僅具有有相當功能的處理器,而且也具備由多種存儲設備組成的多級存儲系統(tǒng)。實際上它是一個由網絡硬件設備、處理機以及相應的軟件所組成的系統(tǒng),如圖1所示。虛擬網絡層完成傳統(tǒng)網絡中數據鏈路層的功能,它通過網絡設備接收數據包,對數據包的格式進行識別,并依據數據包格式對其進行分解,然后將數據包所攜帶的代碼和數據等傳送給移動代理運行環(huán)境MAE,MAE將程序代碼作為代理裝載運行。代理實現的是客戶化的協(xié)議程序,它在運行過程中可能還要和基礎網絡服務,部分進行交互,調用最基本的網絡服務,如獲取本地以及相鄰結點的信息、下一轉發(fā)結點的地址以及本地結點狀態(tài)的存取等。經過代理處理后的數據交由虛擬網絡層重新封裝,然后通過網絡設備發(fā)送給下一個主動網絡結點(或幾個網絡結點。
MAE是一個基本的移動代理執(zhí)行環(huán)境,它從虛擬網絡層接收數據包并對其進行分析和分解,將其中的程序代碼裝載執(zhí)行。同時,它還要監(jiān)視代理的運行狀態(tài),在要執(zhí)行的程序代碼尚未裝載時,通過CodeBroker搜索并裝載相應的代碼塊。MAE也要為主動網絡系統(tǒng)的安全性提供諸如身份驗證、授權以及代碼的安全運行等有效的支持?;A網絡服務主要是為主動數據包提供最基本的網絡協(xié)議功能,如本地環(huán)境的存取、路由控制以及轉發(fā)等。它有效地減少了數據包所攜帶代碼的長度,提高了主動網絡系統(tǒng)的性能。甚至較為上層的常用網絡協(xié)議,如TCP,UDP和IP等,也可以作為基礎網絡服務的一部分以實現與傳統(tǒng)網絡的兼容性和提高主動網絡的性能。
2.3 基于移動代理的主動網絡系統(tǒng)
MANet(Mobile Agents Based Active Network是一個以移動代理系統(tǒng)為基礎,通過將主動數據包封裝成移動代理來實現利用移動代理系統(tǒng)處理主動網絡數據包的主動網絡。利用移動代理來實現主動數據包的封裝和運行,不僅可以充分利用移動代理的自主性和可移動性,而且提供了更好的主動網絡可編程性和靈活性。將主動網絡數據包所攜帶的程序和數據封裝成移動代理,使得數據包具有很好的主動性和處理能力。例如,主動數據包可以利用代理的克隆及子代理的生成和分發(fā)來實現多路分發(fā)等。另一方面,移動代理系統(tǒng)也提供了一些相對于主動網絡來說多余的功能,例如,移動代理能在程序運行的任意點上掛起,并在遷移到另一臺主機后接著這一點繼續(xù)往下執(zhí)行。為了提高整個主動網絡系統(tǒng)的性能,要針對主動網絡的特性對移動代理系統(tǒng)進行修改,以去除不必要的功能,從而提高系統(tǒng)的性能。事實上,包括本文系統(tǒng)在內的許多基于Java的移動代理系統(tǒng),如Aglets,Odyssey,D'agent等,由于Java語言本身所存在的程序運行狀態(tài)的獲取問題,都未能實現斷點式的代理遷移。此外,支持主動數據包之間的通信對于主動網絡來說,開銷也太大。
2.4 基于移動代理的主動網絡的安全性問題
把具有自主性和移動性的移動代理系統(tǒng)放置在開放性極高的主動網絡中,其安全隱患是不言而喻的,因此安全性能成為衡量基于移動代理的主動網絡的首要指標。
根據移動代理在主動網絡中的位置,我們可以把主動網絡的安全問題分為2個方面:一是保護主動結點不受惡意代理的侵犯;二是代理在網絡中傳輸過程中,保護代理不受惡意主動網絡結點的竊聽或拒絕。
迄今為止,移動代理安全領域所做的研究工作為主動結點運行環(huán)境的安全提供了基礎,但是由于主動網絡系統(tǒng)的安全性還存在許多缺陷和不足以及移動代理是在應用層主動節(jié)點上運行的,需要使用主機資源,并對其進行存儲,因此安全解決方案應該是雙向的,既要保證系統(tǒng)不受惡意的代理和主動包的攻擊,也要保證代理和主動包不受執(zhí)行環(huán)境(EE)的非法侵害。針對以上的安全問題,本文提出一些相應的策略。
帶有主動包的移動代理在網絡中傳輸,利用現在安全移動代理可以確保移動代理不受其他惡意網絡結點的竊聽或拒絕。比如通過加密和數字簽名技術可以確保主動分組的安全。下面重點討論在移動代理停留在主動結點中,保護主動節(jié)點不受惡意代理的侵犯,提出一些相應的策略。
3 基于移動代理的主動網絡安全框架模型
基于移動代理的主動網絡MABAN(Mobile Agent Based Active Network)是以移動代理系統(tǒng)為基礎,通過將主動封包程序封裝成移動代理,從而實現利用移動代理系統(tǒng)來處理主動封包的網絡。MABAN的可移動代碼在主動結點上運行不可避免的引入了安全性問題。MABAN的安全問題主要包括主動結點、主動封包和端用戶等方面。本文主要研究主動結點的安全問題,而主動封包和端用戶的安全性研究則是更具挑戰(zhàn)性的一項工作。
為解決MABAN中主動結點的安全問題,現設計一個通用的MABAN結點的安全性框架MANSF(Mobile Agent -Based Active Network node Security Framework)。此規(guī)范符合主動網絡安全工作組提出的主動網絡結點的安全規(guī)范,而且具有可擴展性和通用性等特點。MANSF結點的安全框架圖見圖2。
由圖2可見,MANSF主要包括認證授權模塊,移動代理執(zhí)行環(huán)境及訪問控制模塊。MANSF使用上述模塊處理主動封包的流程是:
(1) 封包到達結點,進入網絡設備通道,如果是主動封包,則轉入認證授權模塊,否則在虛擬網絡層處理;
(2) 認證授權模塊對封包數據進行完整性檢查,并協(xié)同域授權中心對用戶身份進行認證,提取代碼,轉入MAEE;(3) MAEE執(zhí)行移動代理,實現數據的客戶化定制,當需要訪問結點資源時轉入(4);
(4) 訪問控制模塊根據用戶的訪問權限,決定是否滿足用戶的資源訪問要求;
(5) 用戶程序完成,結點將改動過的數據重新封包并通過網絡設備通道發(fā)送給下一個結點。
3.1 認證授權模塊
采用非對稱雙向認證協(xié)議來解決移動代理在主動結點中的運行安全性問題:
站-站協(xié)議可以使通信雙方互相鑒證身份,較好地解決了傳輸數據的加密和中間插入攻擊。如果移動代理能夠通過使用用戶的私有密鑰簽名,則站-站協(xié)議可以很好地解決鑒證和消息加密和摘要的工作。但是處于安全性考慮,不應該讓移動代理攜帶著它們用戶的私有密鑰在網絡中遷移。因為這種策略盡管可以使移動代理在任一結點證明自己的身份,但不幸的是,它實際上在所有經過的結點上暴露了它用戶的私有密鑰。該問題在非對稱鑒證協(xié)議中用下述方式解決:
(1 當一個移動代理被用戶在某個主動結點上啟動后,本地文件系統(tǒng)使用移動代理的私有密鑰對移動代理的名字空間(Namespace定義(文件進行加密(Sigm(Namespace,產生移動代理的活動簽名(Agent Activity Signature,AAS。該簽名在該代理的整個生命周期中是保持不變的,它確切定義了該代理所要使用的各種資源。
(2 移動代理不攜帶用戶的私有密鑰在網絡中遷移。
[JP3](3 移動代理在與主動結點的雙向鑒證中,只傳送其公開密鑰。由于本系統(tǒng)中的加/解密算法公開,即用私有密鑰進行簽字,用公開密鑰進行驗證,所以在移動代理與主動結點的雙向鑒證中不必傳送解密算法,而只需傳送公開密鑰。
(4 移動代理也有私有密鑰和公開密鑰。無論移動代理還是用戶都可向認證機構申請自己的私有/公開密鑰。
采用這種非對稱雙向認證協(xié)議很好地保護了移動代理在網絡傳輸中不被惡意主動結點入侵。
3.2 移動代理執(zhí)行環(huán)境
MANSF使用Java作為編程語言,MAEE是一個基于Java的移動代理執(zhí)行環(huán)境,運行于JVM層上。這樣Java的安全特性就無縫地整合到MANSF中,同時它還要監(jiān)視代理的運行狀態(tài),在要執(zhí)行的程序代碼尚未裝載時,通過結點類裝載器搜索并裝載相應的代碼塊。
一個主動結點可同時運行多個MAEE,MAEE可同時執(zhí)行多個用戶代理,這是為了防止用戶代理之間相互攻擊,而采取的一種隔離措施.在不同的MAEE中執(zhí)行的用戶代理運行于不同的空間,自然隔離,顯然不能相互攻擊。在相同的MAEE中,執(zhí)行的用戶代理采取以下措施來保護:
(1) Java語言自身的安全性。Java語言是強類型的,Java類在自己的地址空間執(zhí)行,且不能使用指針,從而避免了用戶代理在執(zhí)行過程中任意引用內存空間,攻擊別的代理。
(2) 用戶代理使用嚴格的類型標識來識別,類型標識采用MD5(message digest algorithm 5,信息摘要算法生成。用戶代理被授權以決定其處理。
(3) 軟狀態(tài)存儲機制。每個代理的狀態(tài)數據被臨時性地存儲,將需要共享狀態(tài)數據的幾個用戶代理組成一個“狀態(tài)域”,代理只能操作與其“狀態(tài)域”相關的狀態(tài)。
用戶代理在MAEE中執(zhí)行完畢后,MAEE調用結點服務,程序將處理后的用戶數據、用戶代理、證書及用戶簽名等重新封包,通過虛擬網絡層通道繼續(xù)發(fā)送。移動代理的執(zhí)行環(huán)境的安全問題:可信任的執(zhí)行環(huán)境(如Java Card) 。
3.3 基于角色的訪問控制機制
主動結點收到一個移動代理后,要在它運行之前確定該代理可以訪問哪些資源。首先,主動節(jié)點通過該移動代理所攜帶的數字簽名確認其身份,然后從管理者配置的安全策略中,檢索出該用戶對該代理擁有的權限。資源訪問控制將利用這些信息在運行時刻決定移動代理是否可以訪問某資源。授權給一個用戶的移動代理可訪問的資源,在MANet系統(tǒng)中,從移動代理管理者的角度看有3類用戶,一是移動代理的發(fā)送者,二是管理者,三是移動代理旅行中其他主動節(jié)點上的用戶。如果移動代理管理者對移動代理用戶比較信任,認為不會出現惡意的行為,就分配較大的權力給該用戶;反之,如果移動代理用戶是一個不可信的甚至是匿名的,那么移動代理管理者只能分配很少的權力給該用戶,以確保安全。
4 結 語
上述的安全框架的策略部分可用基于Java安全策略實現,主要是通過安全管理器的策略進行替換來擴展Java安全模型,使之適合MANSF的需要。
參 考 文 獻
[1]曾小平,孫永強,謝建華.基于移動代理的主動網絡[J].軟件學報,2000,11(1):79-84.
[2]王汝傳,徐小龍,鄭小燕,等.移動代理安全機制的研究[J].計算機學報,2002,25(12:1 294-1 301.
[3]李一果,溫蜀山,孫海菜.主動網絡的安全技術探討[J].電子科技大學學報,2000,29(4:402-405.