摘 要:移動Agent是分布式計算機(jī)領(lǐng)域中一種新的計算模式,因具有移動性、自治性、主動性、推理性等優(yōu)點日益得到廣泛的應(yīng)用,但隨之而來的就是移動Agent系統(tǒng)各種安全問題的出現(xiàn)。本文就對Agent系統(tǒng)這一安全問題進(jìn)行了討論,主要從Agent系統(tǒng)常見的幾個安全問題以及系統(tǒng)安全需求方面進(jìn)行了討論,從而提出了解決Agent系統(tǒng)安全問題的方案措施
關(guān)鍵詞:移動系統(tǒng);Agent系統(tǒng);安全問題;研究
中圖分類號:TP393
近幾年,我國的網(wǎng)絡(luò)技術(shù)飛速的發(fā)展,其中移動Agent為網(wǎng)絡(luò)的運行提供了一種分布式計算,為網(wǎng)絡(luò)技術(shù)的發(fā)展帶來了新的動力與活力。移動Agent技術(shù)可以實現(xiàn)遠(yuǎn)程交互、封裝網(wǎng)絡(luò)協(xié)議、支持離線計算等特性被廣泛的應(yīng)用到了動態(tài)信息搜索、電子商務(wù)、網(wǎng)絡(luò)管理、移動計算等領(lǐng)域中。Agent技術(shù)的自主性為網(wǎng)絡(luò)環(huán)境下運行的程序提供了便捷,但同樣也給移動Agent系統(tǒng)帶來了眾多不安全因素。因為Agent可以在多個移動Agent進(jìn)行平臺之間的前移,在這過程中可能會遭到惡意Agent平臺的攻擊;同樣,Agent如果沒有經(jīng)過授權(quán)在登錄中移動Agent平臺也有可能遭到破壞;在一個多Agent系統(tǒng)中,Agent之間也可能存在安全威脅。以上的安全問題都可能對移動Agent系統(tǒng)造成嚴(yán)重的破壞,從而限制Agent系統(tǒng)在某些領(lǐng)域的發(fā)展。本文就針對Agent系統(tǒng)的安全問題進(jìn)行了分析探討。
1 移動Agent系統(tǒng)安全性問題
1.1 移動Agent通信安全
互聯(lián)網(wǎng)屬于開發(fā)性及面向大眾的一種網(wǎng)絡(luò),它是公共信息的載體,在進(jìn)行信息傳輸時會有很多不安全的因素存在。而移動Agent是為整個網(wǎng)絡(luò)進(jìn)行服務(wù)的,因此它本身的代碼及數(shù)據(jù)也極易受到各種安全威脅。Agent系統(tǒng)在通信安全方面主要存在以下兩方面的威脅:一是被動攻擊,這種威脅具有的特征就是監(jiān)視傳送以及偷聽,其目的就是為了獲取傳輸中的信息,在這些通信信息中可能攜帶了一些交易秘密、談判策略等其它敏感性數(shù)據(jù),竊聽者通過服務(wù)的種類與通信Agent的特征獲取相關(guān)信息。另一種就是主動攻擊,它主要目的就是修改或創(chuàng)建錯誤的數(shù)據(jù)流信息,主要表現(xiàn)形式就是信息修改、偽裝等方面。
1.2 移動Agent服務(wù)器安全
Agent服務(wù)器是保障Agent系統(tǒng)正常運行的平臺,因此極易遭到惡意Agent以及其它主機(jī)的安全威脅,這些威脅主要有拒絕服務(wù)、偽裝等方面。偽裝者通過利用一個被偽裝成授權(quán)Agent來獲取本身不具有資源和信息,同時還可以偽裝成另一個身份,來轉(zhuǎn)移一個做過但又不想承擔(dān)的審計責(zé)任。這些不正當(dāng)?shù)男袨閷?yán)重威脅Agent的秩序維護(hù)和Agent名譽。當(dāng)惡意Agent被偽裝成了被服務(wù)平臺所信任的Agent,如果在之中獲取了訪問權(quán),服務(wù)平臺里所存在的數(shù)據(jù)或信息就極易遭到更改或竊取。如果惡意Agent在服務(wù)平臺里對本身進(jìn)行大規(guī)模的復(fù)制,這樣將會耗費的改主機(jī)所有的資源,主機(jī)將無法繼續(xù)服務(wù)。同時,這寫惡意的Agent還可以發(fā)出一些沒有作用的請求對服務(wù)平臺的運行工作進(jìn)行干擾。
1.3 移動Agent自身安全
移動Agent自身就是為網(wǎng)絡(luò)服務(wù)的,因而其本身數(shù)據(jù)和信息也是很容易遭到各種威脅和攻擊的。這些威脅一般有篡改、竊聽、偽裝以及拒絕服務(wù)等。有惡意的Agent也有惡意的平臺,這些惡意Agent平臺通過偽裝成一個被信任的平臺,對Agent進(jìn)行欺騙,再從中獲取一些相關(guān)的重要信息,例如利用Agent直接提取電子貨幣。惡意Agent平臺還可以將Agent發(fā)出的一些請求忽視掉,對重要的工作進(jìn)行不能接受的延時處理。
2 移動Agent系統(tǒng)的安全需求
2.1 機(jī)密性需求
要保證網(wǎng)絡(luò)的安全和移動Agent的安全,就必須對Agent平臺及Agent里所存儲和包含的敏感數(shù)據(jù)或進(jìn)行加密,保證平臺與外部的安全通信和正常的運行,避免被惡意的攻擊所利用。
2.2 完整性需求
要保證Agent的正常運行,就要對其進(jìn)行保護(hù),避免遭到惡意Agent的攻擊,防止Agent數(shù)據(jù)、代碼以及信息被修改。這就需要通過利用相關(guān)技術(shù)對這些惡意Agent進(jìn)行檢測,保證Agent的完整性通行信要求。常利用的完整性檢測方法有消息摘要機(jī)制和密封等技術(shù)。
2.3 認(rèn)證需求
要求平臺對Agent進(jìn)行身份的驗證,這樣才可以確定Agent在該環(huán)境所具有的權(quán)限。同時,還要求Agent對Agent平臺身份也進(jìn)行驗證,這樣才能確定Agent能否將重要信息或數(shù)據(jù)傳輸給Agent平臺。如今通常應(yīng)用的是數(shù)字簽名技術(shù)來進(jìn)行雙方的相互認(rèn)證。
2.4 授權(quán)與訪問控制
授權(quán)主要是指對一些特殊資源進(jìn)行限制,只有通過授權(quán)的人才能對這些資源進(jìn)行訪問。為了保護(hù)Agent系統(tǒng)中的一些重要的數(shù)據(jù)和信息,就需要對這些數(shù)據(jù)和信息進(jìn)行授權(quán)訪問,提供授權(quán)訪問,可避免未授權(quán)Agent的訪問。所以,可以實施一種訪問控制機(jī)制。
2.5 可審計性
必須對Agent的行為和指定平臺每個過程的使用者進(jìn)行審計。在進(jìn)行審計后要求將審計日志保留下來,審計日志記錄了Agent的各種安全問題。因此為了避免被修改和訪問,就必須對審計日志進(jìn)行保護(hù)。
3 解決移動Agent的安全問題的措施
為了保證移動Agent的安全,研究出很多安全技術(shù)對其進(jìn)行保護(hù)的同時,也發(fā)現(xiàn)移動Agent系統(tǒng)的安全保護(hù)也可以使用當(dāng)代分布式系統(tǒng)所使用的安全技術(shù)。
3.1 保護(hù)Agent通行安全的措施
通過對所有的信息進(jìn)行認(rèn)證,利用監(jiān)測的方法將存在的安全威脅解決掉,從而保護(hù)移動Agent的通信安全。目前,就有一種實現(xiàn)Agent通信安全的辦法,它是基于“加密信道——權(quán)限控制的”的基礎(chǔ)上,實現(xiàn)了多層次的檢查機(jī)制。加密信道通過利用RSA算法和Rabin算法對底層進(jìn)行各種加密服務(wù)和簽名,對高層進(jìn)行權(quán)限控制服務(wù)。
3.2 保護(hù)Agent平臺的安全對策
一旦未對Agent平臺進(jìn)行有效地保護(hù),是極易遭到惡意平臺、惡意Agent等攻擊的。傳統(tǒng)的可信任保護(hù)機(jī)制大多數(shù)都是可以在Agent平臺上進(jìn)行應(yīng)用并起到保護(hù)作用,即使最新開發(fā)出的Agent保護(hù)技術(shù),大多數(shù)也是在傳統(tǒng)的基礎(chǔ)上發(fā)展而來的。以下分析了幾點保護(hù)Agent平臺的安全技術(shù)。
(1)沙箱。沙箱可以對不信任的程序進(jìn)行特殊的處理,也就是將其放到虛擬的空間里進(jìn)行單獨的運行,并對其限制Agent的本地資源訪問權(quán)。這樣即使會造成破壞,影響的程度也是只是在一定范圍內(nèi),以此來對平臺上的資源進(jìn)行保護(hù)。Java的運行平臺就是通過利用沙箱來避免Java applet危害主機(jī)。
(2)安全代碼解釋。移動Agent系統(tǒng)的開發(fā)一般利用的是解釋語言,這樣可以保證Agent平臺能夠在異構(gòu)計算機(jī)系統(tǒng)中同樣能正常工作。另外,解釋環(huán)境所具有的特殊抽象概念可以在一定程度上促進(jìn)Agent代碼的發(fā)展。它的關(guān)鍵技術(shù)就是可以將一些無作用的請求轉(zhuǎn)換成安全的Agent請求,或讓Agent直接拒絕。如今,Java是應(yīng)用解釋語言范圍最廣的,Java因具有遠(yuǎn)程方法調(diào)用、動態(tài)類裝載、對象序列化、平臺無關(guān)性等特點,因而成為Agent系統(tǒng)開發(fā)的第一語言。
(3)代碼標(biāo)識。保護(hù)Agent系統(tǒng)的基本技術(shù)就有用數(shù)字簽名對代碼或其它對象進(jìn)行標(biāo)識,通過利用數(shù)字簽名可以對信息來源的完整性及真實性進(jìn)行驗證。通常Agent是以一個最終用戶或組織的身份進(jìn)行工作的,因此Agent一般會使用該用戶的簽名作為授權(quán)標(biāo)識,從而才能進(jìn)行工作。這種代碼標(biāo)識應(yīng)用了公鑰加密技術(shù)。
(4)攜帶驗證的代碼。這種代碼的運行環(huán)境能對某個Agent的運行環(huán)境提供一套安全運行規(guī)則,只要Agent在這個安全規(guī)則里運行,就會對其運行環(huán)境進(jìn)行保護(hù)。這種方法可以避免不安全代碼的執(zhí)行,但是這種方法在研究中還有一些問題需要解決,如自動化驗證、安全策略的形式化等。
3.3 保護(hù)Agent自身的安全措施
對Agent自身的安全保護(hù)研究是一個具有較大難度的課題。在對Agent平臺的安全保護(hù)技術(shù)中是在可信任主機(jī)的傳統(tǒng)保護(hù)機(jī)制中直接發(fā)展而來的。但是對于Agent自身的安全保護(hù)技術(shù)與傳統(tǒng)保護(hù)技術(shù)具有較大的差別,因此傳統(tǒng)的機(jī)制是不能用于移動Agent自身的安全保護(hù)。下面對保護(hù)移動Agent自身安全技術(shù)做了介紹。
(1)部分結(jié)果封裝。該項技術(shù)對可以對Agent在訪問每個平臺的活動后實現(xiàn)封裝。根據(jù)不同的結(jié)果采取相應(yīng)的具體機(jī)制進(jìn)行結(jié)果封裝,如利用加密來實現(xiàn)信息的機(jī)密性,利用數(shù)字簽名驗證信息完整性。當(dāng)然,當(dāng)Agent訪問平臺越多,封裝與確認(rèn)的代價也會相應(yīng)的提高。
(2)環(huán)境密鑰生成。該項技術(shù)的關(guān)鍵就是,當(dāng)一些環(huán)境條件具有真實性,Agent就可以采取預(yù)定動作,也就是說當(dāng)一個環(huán)境滿足一定的條件時,從而會產(chǎn)生一個密鑰,利用這個密鑰可以對一些已經(jīng)加密的可執(zhí)行代碼實現(xiàn)解密操作。一般情況下可以利用哈?;颦h(huán)境觸發(fā)器的公鑰加密從而對外界進(jìn)行保密。這種技術(shù)保證了Agent平臺及觀察者不能利用代碼直接讀取來揭示消息或相應(yīng)的動作。
(3)用已加密的函數(shù)技算。移動Agent即使處于不穩(wěn)定的計算環(huán)境中或者是在運行中不能與源平臺進(jìn)行交互時,Agent就可以利用這種技術(shù)安全的算出加密原語。該技術(shù)使移動Agent平臺執(zhí)行的是一個已加密的函數(shù)并且不會被識別出原始函數(shù)的程序。這種技術(shù)的核心就是可以對任意函數(shù)找到相應(yīng)的加密方法。
4 結(jié)束語
移動Agent技術(shù)是一門全新的技術(shù),隨著網(wǎng)絡(luò)的快速發(fā)展,移動Agent技術(shù)會有越來越大的應(yīng)用范圍和研究價值,但Agent系統(tǒng)為網(wǎng)絡(luò)服務(wù)的同時,也要解決移動Agent系統(tǒng)存在的安全性問題。傳統(tǒng)的安全保護(hù)機(jī)制主要是保證Agent平臺的安全。而移動Agent的執(zhí)行任務(wù)更加的復(fù)雜化,這就要求面向Agent的保護(hù)技術(shù)更加的完善。本文對移動Agent系統(tǒng)存在的安全性問題及安全需求進(jìn)行了詳細(xì)的分析和探討,并在此基礎(chǔ)上總結(jié)了現(xiàn)有的Agent安全機(jī)制。不同的Agent保護(hù)機(jī)制具有不同的安全實現(xiàn)要求,從而有選擇的對各種安全機(jī)制進(jìn)行高效配置,解決移動Agent系統(tǒng)的安全性問題。
參考文獻(xiàn):
[1]駱正虎.移動Agent系統(tǒng)若干關(guān)鍵技術(shù)問題研究[D].合肥:合肥工業(yè)大學(xué),2002.
[2]譚湘.移動Agent系統(tǒng)安全性若干問題研究[D].北京:中國科學(xué)院研究生院(軟件研究所),2005.
[3]譚湘,顧毓清,包崇明.移動agent系統(tǒng)安全性研究綜述[J].計算機(jī)研究與發(fā)展,2003(07):984-993.
[4]徐東安,韓京才.移動Agent系統(tǒng)中的安全性問題研究[J].福建電腦,2002(08):20-21.
[5]黃成偉.基于移動Agent的分布式應(yīng)用系統(tǒng)的研究[D].杭州:浙江理工大學(xué),2010.
[6]孟毅芳.移動Agent系統(tǒng)的安全性問題及對策研究[D].北京:首都經(jīng)濟(jì)貿(mào)易大學(xué),2004.
作者簡介:陳婷(1977.12-),女,講師,研究方向:計算機(jī)應(yīng)用
作者單位:鎮(zhèn)江高等職業(yè)技術(shù)學(xué)校,江蘇鎮(zhèn)江 212016